创建绑定 Agent 和 Environment 的新 Session。
POST /api/v1/cloud/sessions
创建 Session。新 Session 初始状态为 idle,发送事件后开始执行。
请求头
| 头部 | 必选 | 说明 |
|---|---|---|
Authorization | 是 | Bearer <PAT 或 SAT> |
Content-Type | 是 | application/json |
请求体
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
agent | string 或 object | 是 | Agent ID,或包含 id、必填 type: "agent"、可选 version 的对象。详见 Agent 引用 |
environment_id | string | 是 | env_ 前缀的已有 Environment ID |
budget | object | null | 否 | 会话总预算(含模型和沙箱费用),如 {"type":"limit","max_credit_cost":"100.00"}。省略则不设置预算;null 同样表示不设上限。详见 Session budget |
title | string | null | 否 | Session 标题 |
metadata | object | 否 | Session 元数据 |
environment_variables | object | 否 | 注入到 agent 运行时的 Session 级环境变量,以字符串 key 到字符串 value 的 map({"NAME":"value"})传入。详见 校验规则。Self-hosted Environment 不支持 |
resources | array | 否 | 创建时挂载的 file、GitHub、通用 Git 或 Memory Store 资源 |
vault_ids | array | 否 | Session 可使用的 Vault ID |
resources[] 中的 type: "memory_store"。
environment_variables 校验
变量名必须匹配 [A-Za-z_][A-Za-z0-9_]*,且所有 value 必须是字符串;保留名 SERVER_ENDPOINT、USER_ID、WORK_DIR,以及任何带 CAW_、QODER_ 前缀的名称都会被拒绝。单个 value 不超过 8 KiB;整个 map 不超过 64 条且总字节不超过 64 KiB。key 或 value 非法,或在 self-hosted Environment 上使用,会返回 400 invalid_request_error。
资源参数
| 资源类型 | 必填字段 | 可选字段 |
|---|---|---|
file | type, file_id | mount_path |
github_repository | type, url | authorization_token、mount_path、checkout |
git_repository | type、url | password、mount_path、checkout |
memory_store | type, memory_store_id | access, instructions |
github.com 使用 github_repository,继续保持原有的用户名和 Token 可选逻辑。GitLab、Gitee、Bitbucket 及其他 HTTP(S) Git 服务使用 git_repository。公开仓库无需用户名和密码,例如 https://gitlab.com/group/repo.git;私有仓库或需要推送时,请在 URL 中包含平台用户名,并在 password 中填写账号密码或平台要求的 Access Token/PAT。用户名和密码必须同时提供。
示例请求
示例响应
HTTP 200 OK
返回 Session 对象。
错误码
| HTTP | 类型 | 触发条件 |
|---|---|---|
| 400 | invalid_request_error | 请求体错误、缺少必填字段、使用不支持的字段或资源非法 |
| 401 | authentication_error | PAT 或 SAT 无效或过期 |
| 404 | not_found_error | Agent、Environment、File、Memory Store 或 Vault 不存在 |
| 409 | invalid_request_error | 引用的文件未 ready,或资源路径/ID 冲突 |
agent 缺少 agent_ 前缀(或 environment_id 缺少 env_ 前缀)时同样会被解析为 404 not_found_error,而不是 400。
详见 Errors。

