Skip to content
FunCoding

Search

Search docs, Skills and MCP

运行时设置与能力检查

通过 API 管理技能声明、扩展激活、模型和认证,区分持久变更与刷新。

This page has not been translated into English yet. The original Chinese version is shown below.

Serve 的不同设置接口并不共享一种持久化语义。调用前读取 capabilities 中的精确 feature,变更后根据返回状态判断是否还需要刷新或重启。

会话与工作区操作

会话审批模式可用 POST /session/:id/approval-mode 调整;模型变更通过会话模型接口及 model_switched/model_switch_failed 事件观察。工具开关使用 POST /workspace/tools/:name/enable。

POST /workspace/init 只机械创建空 QWEN.md,不会自动调用模型写说明;需要生成内容时,再单独提交 prompt。官方旧章节关于审批模式终身冻结和 /init 写 CLAUDE.md 的描述不应代替这些具体接口定义。

Skill 声明

检查 workspace_skill_settings_toggle 后,按名称调用 POST /workspace/skills/:name/enable,body 为 enabled 布尔值。批量操作检查 workspace_skill_settings_batch_toggle,再调用 POST /workspace/skills/enable:

{
  "skillNames": ["review", "deploy"],
  "enabled": false
}

这些接口写工作区 skills.disabled/skills.enabled,不要求名称已经加载或安装。启用会移除对应工作区禁用并记录显式 opt-in,可覆盖 Extension 自身的默认禁用;更高层 hard disabled 仍决定最终不可用,但不阻止工作区记录自己的声明。

同样声明重复提交是 changed: false。批量合法名称集中处理,至多一次带锁配置写和一次必要的 active session 刷新;errors 数组为 wire 兼容保留,结构合法时为空。未信任工作区不能写。

deferred 表示检查时没有 live child,或已发生持久变更但刷新所需 child/session 消失;changed: true 的声明下次启动会生效。状态中的 disabledReason 可为 hard、default、inactive_extension,可能带 lockedScope。

skills.disabled 同时关闭手动和模型使用;不要与仅禁止模型自动调用的 disable-model-invocation 混同。

Extension 批量激活

V2 批量能力为 extension_batch_activation_v2。PUT /extensions/activation 调整全局默认,PUT /workspaces/:workspace/extensions/activation 调整特定工作区覆盖;extensionNames 指定名称,inherit 清除工作区覆盖。enabled/disabled 可在安装前声明,未知名称 inherit 是无操作。

返回 operation 需继续轮询。若有 extension_activation_explicit_refresh,operation 完成只表示策略提交,没有立即刷新活动会话;需要即时应用时,在成功后单独提交对应的 Extension refresh。

没有显式刷新时,其他工作区可能保留旧激活状态直至下一次 30 秒 generation 协调检查;失败会在后续检查再尝试。不要把激活持久化和所有会话已更新视作同一完成事件。

模型认证 device flow

POST /workspace/auth/device-flow 发起,GET 对应 flow ID 轮询,或接收 auth_device_flow_authorized。同 provider 的并发发起共享一条进行中的流程:首个 attached: false,后来的 attached: true;后者加入会被审计,但不单发接管事件。

daemon 返回验证 URL 和 code,不代用户打开浏览器。相关凭据文件可能在同机 daemon 间共享,但授权事件仅发给当前 daemon 的客户端。qwen-oauth 免费登录已停止,官方示例用于展示协议形状;新环境按认证配置选择当前支持方式,不照搬旧 provider 示例。