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

# 初始化项目

`init` 命令基于内置模板脚手架创建新的智能体项目，模板按语言分组组织。

## init

从模板脚手架创建新的智能体项目。在不带任何选项运行时，将通过交互式提示引导完成语言与模板的选择。

| 标志/参数 | 说明 | 默认值 |
| - | - | - |
| `[name]` | 项目名称（或使用 `.` 表示当前目录）。 | — |
| `-L, --language <id>` | 语言分组（`python`、`java`、`typescript`、`golang`）。 | — |
| `-t, --template <id>` | 语言分组内的模板 id。 | — |
| `-y, --yes` | 跳过提示并使用默认值。 | `false` |
| `-f, --force` | 在非空目录中执行脚手架。 | `false` |
| `-l, --list` | 列出可用的语言与模板后退出。 | `false` |

```bash lines theme={null}
agentkit init my-agent --language python --template default --yes
```

## 配置 GitHub CI/CD

脚手架已在项目中生成 GitHub Actions 工作流 `.github/workflows/deploy.yml`。配置好凭证后，每次推送到 `main` 分支（或在仓库 Actions 页面手动触发）都会在云端构建镜像，并幂等地创建或更新对应的 AgentKit 运行时。

### 配置部署凭证

在仓库的 Settings → Secrets and variables → Actions 中添加以下条目：

| 名称 | 类型 | 说明 |
| - | - | - |
| `VOLCENGINE_ACCESS_KEY` | Secret | 火山引擎访问密钥，用于部署鉴权。 |
| `VOLCENGINE_SECRET_KEY` | Secret | 火山引擎密钥。 |
| `VOLCENGINE_REGION` | Variable（可选） | 部署地域，缺省为 `cn-beijing`。 |

<Warning>
  切勿将密钥写入代码或提交到仓库。项目模板已将 `.env` 加入 `.gitignore`，凭证一律通过仓库 Secret 提供。
</Warning>

### 注入运行时环境变量

智能体运行时所需的环境变量（如模型 API Key）在 `agentkit.yaml` 的 `envs` 里声明，值用 `${VAR}` 引用环境（详见[构建与部署 · 环境变量](/productions/agentkit-cli/archives/0.50.3/zh/commands/deploy#环境变量)）。在 CI 里把这些变量加为仓库 Secret，并在工作流的部署步骤中导出到环境即可——例如声明 `MODEL_AGENT_API_KEY: ${MODEL_AGENT_API_KEY}`，就在仓库加一个同名 Secret `MODEL_AGENT_API_KEY`。`VOLCENGINE_*` 作为部署凭证，不会注入运行时。新增变量在 `agentkit.yaml` 里加一行 `${VAR}` + 仓库对应 Secret 即可，无需改动工作流。

<Note>
  单行值可直接添加；多行值需按 GitHub Actions 的多行 Secret 写法处理。
</Note>

### 工作流做了什么

工作流触发后依次执行：

* 检出代码并安装 AgentKit CLI（模板中通过 `npm install -g agentkit-cli` 安装，如使用内部分发渠道，请替换为对应的安装方式）。
* 将仓库 Secret 注入任务环境，供 `agentkit deploy` 读取。
* 运行 `agentkit deploy`：读取 `.agentkit/agentkit.yaml` 与 `Dockerfile`，在云端构建镜像，并按运行时名称幂等地创建或更新运行时。
* 以 `agentkit invoke` 对部署后的运行时做一次冒烟测试，失败不阻断流程。

<Note>
  `.agentkit/agentkit.yaml` 记录运行时名称、地域与所属项目，请将其提交到仓库，以保证每次 CI 部署都指向同一个运行时。（`.agentkit/artifacts/` 是每次部署的构建产物，已默认忽略。）部署流程的更多细节见[部署项目](/productions/agentkit-cli/archives/0.50.3/zh/commands/deploy)。
</Note>
