ASTER ACP / 10
模型切换与会话约束
目录 ID、配置选项、推理档位和会话替换。
使用代理给出的目录
initialize 与会话响应提供模型状态,包含当前 ID 和 availableModels。ID 使用 provider/model,显示名称只用于界面。代理拒绝目录之外的模型。不要把用户输入的任意字符串当成可用模型。
新客户端可用 session/set_model。只支持 session config options 的客户端可用 session/set_config_option。当前唯一配置项 ID 是 model,value 必须是目录给出的模型 ID。两条路线进入同一替换实现。
提交模型切换
{"jsonrpc":"2.0","id":12,"method":"session/set_model","params":{"sessionId":"SESSION_FROM_RESPONSE","modelId":"provider/model"}}
将 provider/model 替换为本次目录里的真实 ID。收到成功前显示“切换中”。失败时保留旧选择并展示错误。排队期间不要对 UI 中的旧 modelId 宣称已生效。
代理在会话操作队列中重建 Core Session。原工作区、宿主约束、组件选择、MCP 与插件能力保持不变。代理重施活动目标并重新注册准入的工具,不是只修改显示字符串。
推理强度
模型条目的元数据声明支持的 reasoning effort 与当前选择。宿主 fallback 档位为 low、medium、high、xhigh、max。这些档位与供应商原生参数不一定一一对应。ultracode 不是 ReasoningEffort 枚举。
切换时使用受支持的 reasoningEffort 元数据,并查看返回状态。不能在不支持的供应商上把 xhigh 标签当成已启用相同推理预算。
认证与账号导入
ACP initialize 当前不发布登录方法,authenticate 返回空响应。实际凭据来自启动时的可信配置及明确选择的本机导入适配器。客户端不应因为 authenticate 成功就显示“已登录到所有服务”。
更换凭据来源应通过配置与重启/重新准入完成,避免把密钥塞进 prompt 或宿主元数据。Aster 的运行方式没有另一个产品账户登录流程。
故障检查
测试未知模型、无效 effort、当前 Run 尚未结束和替换失败。替换失败后旧 Session 的权限、目标和插件状态必须一致;成功后界面以新的会话响应和后续标准通知为准。凭据错误归属供应商或配置,不应冒充权限拒绝。