> ## Documentation Index
> Fetch the complete documentation index at: https://datagen.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# CLI 指令參考

> DataGen CLI 的完整參考

## 安裝

```bash theme={null}
curl -fsSL https://cli.datagen.dev/install.sh | sh
```

Windows：

```powershell theme={null}
irm https://cli.datagen.dev/install.ps1 | iex
```

驗證安裝：`datagen --help`

***

## `datagen login`

透過瀏覽器 OAuth 或 API key 向 DataGen 驗證身分。

```bash theme={null}
datagen login
datagen login --api-key "your-key"
```

| 旗標 | 簡寫 | 型別 | 預設值 | 說明 |
| - | - | - | - | - |
| `--api-key` | | string | | API key（略過瀏覽器登入） |
| `--shell` | | string | | Shell 類型：bash、zsh、fish、powershell |
| `--profile` | | string | | 要更新的 shell 設定檔 |
| `--env` | | string | `DATAGEN_API_KEY` | 環境變數名稱 |
| `--yes` | `-y` | bool | false | 略過確認提示 |
| `--print` | | bool | false | 只輸出 export 指令 |

***

## `datagen mcp`

在本機工具（Codex、Claude、Gemini）中設定 DataGen MCP server。

```bash theme={null}
datagen mcp
datagen mcp --clients claude,codex --dry-run
```

| 旗標 | 簡寫 | 型別 | 預設值 | 說明 |
| - | - | - | - | - |
| `--clients` | | string | `codex,claude,gemini` | 要設定的用戶端，以逗號分隔 |
| `--api-key` | | string | | API key（留空時從環境變數或設定檔查找） |
| `--env` | | string | `DATAGEN_API_KEY` | 要查找的環境變數 |
| `--yes` | `-y` | bool | false | 略過確認提示 |
| `--dry-run` | | bool | false | 只顯示變更，不實際寫入 |
| `--codex-static` | | bool | false | 在 Codex 設定中使用靜態 header |

***

## `datagen github`

管理 GitHub 連線與 repository 存取權限。

### `github connect`

透過瀏覽器安裝 DataGen GitHub App。

```bash theme={null}
datagen github connect
```

| 旗標 | 型別 | 預設值 | 說明 |
| - | - | - | - |
| `--timeout` | int | 300 | 等待安裝完成的秒數 |

### `github repos`

列出 GitHub App 可存取的所有 repository。

```bash theme={null}
datagen github repos
```

### `github connected`

列出已連接到 DataGen 的 repository。

```bash theme={null}
datagen github connected
```

### `github connect-repo`

連接指定的 repository。

```bash theme={null}
datagen github connect-repo owner/repo
```

**參數：** `<owner/repo>`（必填）

### `github sync`

從已連接的 repository 重新同步 Agent。

```bash theme={null}
datagen github sync <repo-id>
```

**參數：** `<repo-id>`（必填）

### `github status`

檢查 GitHub App 的安裝狀態。

```bash theme={null}
datagen github status
```

***

## `datagen agents`

管理從 GitHub repository 探索到的 Agent、skill 與 command。

### `agents list`

列出所有探索到的 Agent。

```bash theme={null}
datagen agents list
datagen agents list --type agent --deployed
```

| 旗標 | 型別 | 預設值 | 說明 |
| - | - | - | - |
| `--repo` | string | | 依 repository 篩選（owner/repo） |
| `--type` | string | | 篩選類型：`agent`、`skill` 或 `command` |
| `--deployed` | bool | false | 只顯示已部署的 Agent |

### `agents show`

顯示 Agent 的詳細資訊。

```bash theme={null}
datagen agents show <agent-id>
```

### `agents deploy`

將 Agent 部署到 DataGen。

```bash theme={null}
datagen agents deploy <agent-id>
```

### `agents undeploy`

移除 Agent 的部署及其 webhook。

```bash theme={null}
datagen agents undeploy <agent-id>
```

### `agents run`

觸發 Agent 執行。

```bash theme={null}
datagen agents run <agent-id>
datagen agents run <agent-id> --payload '{"task": "review PRs"}'
```

| 旗標 | 型別 | 預設值 | 說明 |
| - | - | - | - |
| `--payload` | string | `"{}"` | 本次執行的 JSON payload |

### `agents logs`

檢視執行紀錄。

```bash theme={null}
datagen agents logs <agent-id>
datagen agents logs <agent-id> --limit 20
```

| 旗標 | 型別 | 預設值 | 說明 |
| - | - | - | - |
| `--limit` | int | 10 | 最多顯示的執行筆數 |

### `agents output`

顯示執行輸出。

```bash theme={null}
datagen agents output <agent-id>
datagen agents output <agent-id> --execution <exec-id>
```

| 旗標 | 型別 | 預設值 | 說明 |
| - | - | - | - |
| `--execution` | string | | 指定的執行 ID |
| `--session` | string | | 要查詢的 SDK session ID |
| `--json` | bool | false | 輸出原始 JSON |

### `agents config`

檢視或更新 Agent 設定。不加任何旗標時，顯示目前設定。

```bash theme={null}
datagen agents config <agent-id>
datagen agents config <agent-id> --set-prompt "Review all open PRs"
datagen agents config <agent-id> --secrets ANTHROPIC_API_KEY,GITHUB_TOKEN
```

| 旗標 | 型別 | 預設值 | 說明 |
| - | - | - | - |
| `--set-prompt` | string | | 設定入口 prompt |
| `--clear-prompt` | bool | false | 清除入口 prompt |
| `--secrets` | string | | Secret 名稱，以逗號分隔 |
| `--pr-mode` | string | | `create_pr`、`auto_merge` 或 `skip` |
| `--add-recipient` | string | | 以 `email[:role]` 格式新增收件人 |
| `--remove-recipient` | string | | 依 ID 移除收件人 |
| `--notify-success` | string | | `true`、`false` 或 `default` |
| `--notify-failure` | string | | `true`、`false` 或 `default` |
| `--notify-reply` | string | | `true`、`false` 或 `default` |

### `agents schedule`

管理 cron 排程。不加任何旗標時，列出所有排程。

```bash theme={null}
datagen agents schedule <agent-id>
datagen agents schedule <agent-id> --cron "0 9 * * *" --timezone "America/New_York"
datagen agents schedule <agent-id> --pause <schedule-id>
```

| 旗標 | 型別 | 預設值 | 說明 |
| - | - | - | - |
| `--cron` | string | | Cron 表達式（例如 `"0 9 * * *"`） |
| `--timezone` | string | `UTC` | 時區（例如 `America/New_York`） |
| `--name` | string | | 選填的排程名稱 |
| `--pause` | string | | 依 ID 暫停排程 |
| `--resume` | string | | 依 ID 恢復排程 |
| `--delete` | string | | 依 ID 刪除排程 |

***

## `datagen skills` / `datagen commands`

`datagen agents` 加上類型篩選的別名。

```bash theme={null}
datagen skills list        # 等同於：datagen agents list --type skill
datagen commands list      # 等同於：datagen agents list --type command
```

所有 `agents` 子指令都可使用（show、deploy、undeploy、run、logs、output、config、schedule）。

***

## `datagen tools`

管理部署為 API 端點的自訂 Python 工具。

### `tools list`

列出所有自訂工具。

```bash theme={null}
datagen tools list
```

### `tools show`

顯示自訂工具的細節，包含程式碼與 schema。

```bash theme={null}
datagen tools show <tool-uuid>
```

### `tools deploy`

部署新的自訂工具。

```bash theme={null}
datagen tools deploy my_tool --file ./tool.py --description "My tool"
datagen tools deploy my_tool --code "result = 'hello'" --outputs result
```

**參數：** `<name>`（必填）

| 旗標 | 型別 | 說明 |
| - | - | - |
| `--code` | string | 內嵌的 Python 程式碼 |
| `--file` | string | Python 原始檔路徑 |
| `--schema` | string | 內嵌的 JSON 輸入 schema |
| `--schema-file` | string | JSON schema 檔案路徑 |
| `--defaults` | string | 內嵌的 JSON 預設輸入值 |
| `--defaults-file` | string | JSON 預設值檔案路徑 |
| `--description` | string | 工具說明 |
| `--outputs` | string | 輸出變數名稱，以逗號分隔 |
| `--tools` | string | MCP 工具名稱，以逗號分隔 |
| `--imports` | string | Python 套件，以逗號分隔 |
| `--no-auto-imports` | bool | 停用從原始碼推斷匯入套件 |
| `--mcp-servers` | string | MCP server 名稱，以逗號分隔 |
| `--secrets` | string | Secret 名稱，以逗號分隔 |
| `--public` | bool | 部署為公開工具 |

### `tools update`

更新既有的自訂工具。

```bash theme={null}
datagen tools update <tool-uuid> --file ./updated_tool.py
```

旗標與 `tools deploy` 相同（只會更新有提供的欄位）。

### `tools run`

以指定輸入執行自訂工具。

```bash theme={null}
datagen tools run <tool-uuid> --input '{"domain": "acme.com"}'
datagen tools run <tool-uuid> --input-file ./input.json
```

| 旗標 | 型別 | 說明 |
| - | - | - |
| `--input` | string | 內嵌的 JSON 輸入變數 |
| `--input-file` | string | JSON 輸入檔案路徑 |

***

## `datagen secrets`

管理 Agent 與工具使用的 API key 和 secret。

### `secrets list`

列出所有已儲存的 secret（值會被遮蔽）。

```bash theme={null}
datagen secrets list
```

### `secrets set`

建立或更新 secret。

```bash theme={null}
datagen secrets set OPENAI_API_KEY=sk-abc123     # 明確指定值
datagen secrets set OPENAI_API_KEY                # 從環境變數讀取
```

**參數：** `<KEY=VALUE>` 或 `<KEY>`（必填）

***

## 環境變數

| 變數 | 預設值 | 說明 |
| - | - | - |
| `DATAGEN_API_KEY` | | API 驗證金鑰 |
| `DATAGEN_API_BASE_URL` | `https://api.datagen.dev` | 自訂 API 伺服器 |
| `DATAGEN_WEB_BASE_URL` | `https://datagen.dev` | 自訂 Web App URL |
| `DATAGEN_VERSION` | | 安裝時鎖定的 CLI 版本 |
| `DATAGEN_INSTALL_DIR` | | 自訂安裝位置 |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.