2026-10-14
触发器reuse_session更新:更新保持reuse_session的触发器时,修改agent_id、agent_version、environment_id或resources现在返回 400failed_precondition_error。此前这些修改会被接受,但不会作用到托管会话,该会话沿用创建时的配置。需要修改时,先将session_mode切换为new_session,或新建触发器。- 平台发起的运行:平台为托管触发器发起的运行(例如梦境策略的活跃度检查)现在记录
context.type: "system",不再记录为归属触发器创建者的manual上下文。按context.type分支的客户端须接受system。
- 增量预览改为可选:会话与线程事件流默认不再包含
agent.delta事件。需要继续接收增量预览时,设置新增的include_deltas=true查询参数;只消费完整事件的调用方不再接收增量流量。
2026-10-10
自托管 worker 停止- worker 停止:中断会话在取消完成后可以释放工作行,即使仍保留排队输入。租约释放后,显式 Continue 重新将工作入队。使用
user.interrupt停止会话执行,使用工作行 stop 请求 worker 停止。 - 停止完成:工作行 stop 不传
final_status时进入stopping;worker 取消工具、完成结果回写后提交final_status: completed,仍忙碌的会话会被取消。空闲 worker 可以直接提交completed,释放租约但不取消会话;活跃执行或新输入返回 409failed_precondition_error。会话 work token 可以停止自己的工作行,REST 不接受force或reason。
- 工具回复:
always_ask工具产生agent.tool_use,等待user.tool_confirmation。使用type: custom声明的工具产生agent.custom_tool_use,由客户端执行并提交user.custom_tool_result。两类回复均通过data.event_id指定请求,不传session_thread_id,同一调用以首条有效回复为准。 - 等待中的线程:
requires_action和stop_reason.event_ids标识待返回的确认与自定义工具结果。每个线程收到全部待返回回复后恢复执行,会话级列表汇总所有等待线程。子线程状态、请求和回复出现在会话事件流中,由顶层session_thread_id标识所属线程。
2026-10-09
- MCP 工具在工具集与单个工具均未设置
load_mode时改为按需加载:模型先获得名称,需要时再加载 schema。需要保留原加载行为时,设置load_mode: eager,让 schema 随每次请求发送;不支持按需加载的模型仍使用 eager 加载。 default_toolset_20260901中的search_image_by_text与search_image_by_image采用同一默认规则,其他内置工具仍为eager。
2026-09-24
project插件引用接受version: "latest",每次唤醒时解析为采用版本。省略版本仍在写入时固定为最新发布版本。official引用必须省略版本,任何显式值都返回 400invalid_parameter_error。
2026-09-23
- 提示词校验:创建和更新会话时,无效的
agent_overrides.system模板返回 400invalid_parameter_error。 - 执行事件:新增
agent.model_started和agent.tool_started事件,标记模型请求与工具执行的开始。流式调用在各自首个片段产生agent.thinking_started和agent.message_started,非流式调用不产生这两个事件。可用agent.model_started到首个agent.delta计算 TTFT。 - 配置通知:并发更新按提交顺序产生
session.updated,该事件不标识运行中的执行何时采用新配置。
2026-09-21
项目插件- 项目插件:
POST /v1/plugins和POST /v1/plugins/{id}/versions发布不超过 64 MiB 的.zip包,返回 201 与插件、版本和校验结果,两者均接受Idempotency-Key。POST /v1/plugins/validate只校验而不发布;不可发布的包返回 200 和ok: false的校验结果。 - 插件版本与归档:
GET /v1/plugins/{id}/versions按语义版本从新到旧列出,GET /v1/plugins/{id}/versions/{version}/content下载application/zip。POST /v1/plugins/{id}/archive返回 204,插件退出读取 API,项目内名称释放,已有精确版本引用继续有效。 - 插件选择:
GET /v1/plugins接受scope为official或project,省略返回两者,org和user返回 400invalid_parameter_error。Plugin新增scope、status和latest_version,version仍表示配置写入时固定的版本。 - 会话插件:创建和更新接受
agent_overrides.plugins,以与skills相同的三态语义替换冻结智能体的插件集合。official条目省略version,project条目可以指定已发布版本。
MCPOAuthCredential和CreateVaultOAuthSession接受egress_environment_id,发现、动态客户端注册、令牌交换与后台刷新均经过该环境的代理。空字符串清除绑定;新建时省略表示不绑定,更新时省略保留已有绑定。
2026-09-20
- 插件和技能响应新增用于展示的可选
categories,未分类时省略,声明的分类包括finance。分类不改变智能体配置。GET /v1/plugins和GET /v1/skills接受category过滤列表。
2026-09-19
- 智能体与会话的
model.reasoning_effort接受max,它仍是所选模型可能忽略的提示。
2026-09-17
会话输入与配置- 输入容量:会话已有 50 条待处理输入时,新输入返回 400
failed_precondition_error。消费或撤回释放容量,Interrupt 和 Continue 仍可使用。 - 会话覆盖:
agent_overrides在mcp_servers、skills之外新增tools、model和system。roster只能在创建时覆盖,PATCH携带它返回 400invalid_parameter_error。 - 技能版本:省略版本在写入时冻结为当前版本,
"latest"在每次唤醒时解析,精确版本经过校验后固定使用。同一skill_id混用"latest"和精确版本返回 400invalid_parameter_error。 - 更新事件:
session.updated仅在实际变化时产生,只携带变更字段:生效智能体快照与覆盖文档,或title。清空全部覆盖产生空agent_overrides对象,客户端可安全忽略不识别的事件。
- 复用会话:定时和手动
reuse_session运行跳过上次因执行错误停止的空闲会话(session_failed)和已满队列(session_queue_full)。同一会话连续 3 次因这两类原因跳过才暂停触发器,其他结果重置计数,已有消息和会话自身重试不受影响。 - 触发器暂停:计划运行自动暂停活跃触发器时发送
trigger.pausedwebhook。通过data.id查询触发器的paused_reason,普通跳过和手动操作不发送该 webhook。
- 触发器错误:
TriggerRun.error和PausedReason.error使用TriggerError,其仅供展示的type为开放字符串,包括fire_failed、session_failed和overlap_in_flight。本次修正 schema 复用ErrorType的问题,线上负载不变。 - 补充既有行为:中断保留待处理输入;触发器更新重新校验未修改的
initial_events;未配置子智能体名单的会话不提供编排工具;重复内置工具集只使用首份声明,不合并配置。请求与响应不变。
2026-09-15
- 未知 JSON 字段:未声明成员现在返回 400
invalid_parameter_error,路径如body.unknown_key,此前会被忽略。调用方应移除请求中的额外成员。 - 时间过滤:智能体和会话列表接受
created_at_gt、created_at_gte、created_at_lt、created_at_lte及对应updated_at_*参数。gt、lt不含边界,gte、lte包含边界。 - 契约声明:OpenAPI 从 3.1.0 升级为 3.2.0;
POST /v1/files和POST /v1/skills的 multipart 文件部分采用无类型 schema 与通配编码的标准声明;事件流通过itemSchema声明各事件的event和data;创建操作共用一份Idempotency-Key参数。线上格式与请求处理行为不变。
2026-09-14
- 非 nullable 的可选请求字段显式传
null现在返回 400invalid_parameter_error,路径如body.name或body.description,此前会被视为省略。省略字段表示不修改,清空时使用该字段说明中约定的空值。
2026-09-13
- 请求校验现在执行 query、path、header 和 JSON 输入声明的类型、必填、范围、模式、枚举与组合约束。违例返回 400
invalid_parameter_error,校验路径带位置前缀与数组下标,如body.mcp_servers[2].name、query.page_size。此前部分违例被接受,或在后续校验中使用较短路径与不同消息。调用方应按声明约束检查请求,并使用error.type与param判断错误,不匹配消息措辞。 - 未声明的
Content-Type现在返回 400invalid_request_error,即使请求体可以解析。JSON 操作使用application/json,上传使用multipart/form-data。
2026-09-10
2026-09-09 预告的持久中断行为现已生效。- 中断:空闲会话现在接受中断,返回 202 和
control_epoch,而非 400。会话与活跃线程异步停止,响应与user.interrupt确认均不代表完成,需通过获取会话接口核对。可选令牌为data.expected_control_epoch,过期值返回 409conflict_error;会话仍处于中断状态时,重复中断不推进控制版本。 - 继续:
POST /v1/sessions/{id}/continue返回control_epoch,未中断会话保持不变,正在停止或已终止的会话返回 409conflict_error。请求被接受不代表启动完成,需核对返回控制版本上的continue_pending。 - 排队输入:停止后发送的新输入在收尾完成后恢复执行,保留输入本身不会恢复会话,恢复后保持队列顺序。
- 归档:运行中的子线程可以归档并取消,会话停止期间也允许操作。父会话未终止时,重复归档子线程返回 204。归档会话在停止期间返回 409
conflict_error,运行期间仍返回 400。
2026-09-09
本日公告持久中断契约,执行行为于 2026-09-10 生效。停止完成与恢复规则见该日记录。- 控制状态:线程新增
interrupted、control_epoch;会话新增stopping、interrupted、control_epoch、continue_pending;事件可含epoch与user.interrupt确认。 - 生命周期操作:契约新增无需请求体的
POST /v1/sessions/{id}/continue、空闲会话中断,以及停止后新输入恢复执行。可选的预期控制版本在过期时返回 409conflict_error,省略则针对当前代次。子线程归档取消活跃执行;仍有生命周期任务或活跃线程时,删除会话返回 409conflict_error。 - 触发器输入:
initial_events和待处理事件接受可排队用户消息,不接受此 beta 中的中断命令。reuse_session触发器会恢复已停止的会话。
2026-09-07
- 字段错误:JSON 类型与校验失败使用
invalid_parameter_error和字段路径,union 错误定位到 union 本身;请求级错误使用不带param的invalid_request_error。本次修正此前分类错误或路径不完整的字段错误,缺少user.message.data和低于下限的activity.min_changed_sessions现在会被拒绝。 - 不透明 ID:资源 ID 不再声明
pattern约束。调用方应移除基于旧模式的校验,其范围未覆盖所有已签发 ID。 - MCP 错误:
SessionErrorType新增mcp_connection_failed和mcp_authentication_failed,用于初始连接或执行中途失败。凭据自动刷新并重试一次仍被拒绝时报告鉴权失败,其他刷新失败不作为会话错误。SessionErrorPayload.mcp_server_name标识受影响的服务器,其他类型与旧事件不含该字段,应据此定位而不解析消息。 - 官方环境:
GET /v1/environments新增official_only,默认 false。
2026-09-06
listTriggers接受agent_id,按所属智能体过滤。
2026-09-05
listMemoryStores和listMemories从按创建时间升序改为最新在前。依赖旧顺序的客户端需要调整处理逻辑。GET /v1/agents新增official_only,默认 false。
2026-09-04
- 仅更新契约声明:各操作声明可选的
kimi-api-version请求头,线上仍要求/v1/files*之外携带,文件端点省略时采用兼容格式。事件流声明已有的Cache-Control: no-cache、X-Accel-Buffering: no响应头;共享 429 响应声明已有的Retry-After,仅用于rate_limit_reached_error。请求处理行为不变。
2026-09-03
- batch 文件:向会话挂载
batch文件返回 400failed_precondition_error,而非 404resource_not_found_error,仍不支持挂载。 - MCP 请求头:智能体和会话的
McpServer声明接受只写的headers,用于非敏感连接请求头。更新时,省略或空请求头保留身份未变的服务器(name、type、URL)的原值;非空整体替换,空字符串值删除键,仅大小写不同的重名请求头会被拒绝。 - 环境代理:
EnvironmentProxy.route_all将全部出站主机经代理转发,并允许空hosts列表。平台内部端点绕过代理;limited下主机白名单不生效,可达性由代理决定。