跳转到主要内容

Session 对象

创建、查询、列表、更新和归档接口都会返回该结构。
字段类型说明
idstringSession ID,前缀为 sess_
typestring固定值 "session"
agentAgent 对象创建 Session 时捕获的 Agent 快照
agent_idstring本 Session 使用的 Agent ID
environment_idstring本 Session 使用的 Environment ID
statusstringSession 生命周期状态,如 idlerunningterminated
turn_statusstring当前 turn 状态;为空时返回 idle
titlestringSession 标题
metadataobjectMetadata 对象
resourcesSession resource 数组挂载到 Session 的文件或仓库,默认 []
vault_idsstring 数组挂载到 Session 的 Vault ID,默认 []
memory_store_idsstring 数组挂载到 Session 的 Memory Store ID,默认 []
environment_variablesobject归一化后的 Session 级环境变量,默认 {}
statsSession statsSession 统计信息
archived_atstring | null归档时间;未归档时为 null
created_atstring创建时间
updated_atstring最后更新时间

Agent 引用

创建请求中的 agent 可以是 Agent ID 字符串,也可以是以下对象。
字段类型必填说明
idstringAgent ID,前缀为 agent_
typestring可选标记
versioninteger要捕获的 Agent 版本;省略或传 0 表示使用最新 active 版本

Inline environment

创建请求中的 environment 可以是 Environment ID 字符串,也可以是以下对象。
字段类型必填说明
namestringEnvironment 名称;省略或空白时默认为 "Session Environment"
descriptionstringEnvironment 描述
configEnvironment configEnvironment 配置
metadataobjectMetadata 对象

Session 环境变量

创建请求中的 environment_variables 是字符串,不是对象。服务端会解析并在 Session 响应中以 environment_variables 对象返回。
规则说明
格式用分号或换行分隔的 KEY=VALUE 条目
变量名格式[A-Za-z_][A-Za-z0-9_]*
空值允许,例如 EMPTY=
变量数量上限64
单个值大小上限8 KiB
总大小上限变量名和值合计 64 KiB
保留名称SERVER_ENDPOINTUSER_IDWORK_DIR
保留前缀CAW_QODER_
self-hosted Environment不支持

Session resource

resources[] 通过 type 区分不同结构。

File resource

字段类型必填说明
typestring"file";省略时默认为 "file"
file_idstringFile ID,前缀为 file_;文件必须处于 ready 状态
pathstring容器内挂载路径,默认 /data/{file_id}。相对路径会补成 /data/ 下路径;归一化后必须仍在 /data/ 下,最长 512 字符
mount_pathstring请求中的 path 别名;如果与 path 同时提供,二者必须相同。响应中保存为归一化后的 path

GitHub repository resource

字段类型必填说明
typestring"github_repository"
urlstring仓库 URL
mount_pathstring容器内 clone 目标路径
authorization_tokenstring访问私有仓库的 token

Session stats

字段类型说明
active_secondsnumber活跃处理时长(秒),新建 Session 为 0
duration_secondsnumberSession 持续时长(秒),新建 Session 为 0

Event 对象

发送事件、列表事件和事件流返回的事件是随 type 变化的 JSON 对象,通用字段如下。
字段类型说明
idstringEvent ID,前缀为 evt_
typestring事件类型
schema_versionstring事件 schema 版本;CAS 创建的用户事件当前为 "1.0"
session_idstring所属 Session ID
turn_idstring事件属于某个 turn 时存在
created_atstring创建时间
processed_atstring | null处理时间

客户端事件请求类型

Type必填字段说明
user.messagecontent开始一个新 turn。content 可以是 string 或 content block 数组
user.interrupt请求中断/取消
user.tool_confirmationtool_use_idresultresult 必须是 allowdenydeny_message 可选
user.custom_tool_resultcustom_tool_use_idcontent 可选,最终保存为 text content blocks
user.define_outcome服务端不强制额外字段会被保留

Session Thread 对象

Managed Agents 场景下,Session 内的每个线程由以下结构表示。
字段类型说明
idstringThread ID,前缀为 sthr_
typestring固定值 "session_thread"
session_idstring所属 Session ID
parent_thread_idstring | null父线程 ID;coordinator 线程为 null
agentobject该线程使用的 Agent 快照(过滤后的精简版本,包含 idtypenamemodelversion
agent_idstringAgent ID
agent_versioninteger该线程锁定的 Agent 版本号
namestring线程显示名称。coordinator 通常为空;child 可由 create_agentagent_name 参数指定
rolestring线程角色:"coordinator""child"
statusstring线程状态:"idle""running""archived""terminated""blocked"
stop_reasonobject停止原因。空对象 {} 表示正在运行;{"type": "end_turn"} 表示正常完成;{"type": "archive"} 表示被归档;{"type": "requires_action", ...} 表示等待操作
created_by_tool_use_idstring | null创建该线程的工具调用 ID;coordinator 为 null
archived_atstring | null归档时间;未归档时为 null
created_atstring创建时间
updated_atstring最后更新时间

线程事件类型

在 managed agents 场景下,事件流中会出现以下新事件类型。所有事件都包含 session_thread_id 字段。
事件类型说明特有字段
session.thread_created新子线程被创建parent_thread_idagent_idagent_versionagent_namerolecreated_by_tool_use_id
session.thread_status_running线程开始执行agent_namestatus
session.thread_status_idle线程执行完成或暂停statusstop_reason
session.thread_status_terminated线程被归档或终止statusstop_reason
agent.thread_message_sent线程间发送消息direction"coordinator_to_child")、contentfrom_session_thread_idto_session_thread_id
agent.thread_message_received线程间接收消息direction"child_to_parent")、contentis_errorfrom_session_thread_idto_session_thread_id

相关

启动 Session

让 Agent 在环境中以有状态对话的方式运行。