xb-config:使用偏好配置
直调时先读取 ../xbskill/references/contracts.md、../xbskill/references/resolution-standard.md 与 ../xbskill/references/specialist-rewrite-method.md;缺文件时报精确路径并停止受影响步骤。配置字段、状态机与脚本接口见 references/config-contract.md,缺失时停止配置。用户明确进入配置可越过尚未初始化的调用门。用户仅请求配置时只完成配置;由已明确调用的 XB 任务因缺配置转入时,记录原任务和授权,选齐后立即恢复该任务,无需用户重新输入。用户同时撤销或更换任务时按新指令处理。
目标与边界
让使用者决定 XB 何时参与,以及是否主动提示保存。产物为两项明确选择、作用域和可核对回执。安装成功只代表文件就位;用户完成两项选择后,配置才生效。
配置问题可能来自尚未选择、读取了另一个项目、文件损坏、旧记忆偏好残留,或宿主绕过调用门。先核对配置位置、两项值和触发原话,避免把所有误调用归因于强度选择。只询问会改变当前分支的缺项;不替用户选推荐档位,不把沉默当同意,不从职业、熟练度或历史偏好猜测。
初始化与修改
确定当前项目根目录,告知偏好只适用于该项目。运行
scripts/config_manager.py read --project <项目绝对路径>。缺文件或缺选项显示“未配置”,禁止创建默认实例。读取失败显示错误与路径,停止使用该配置,禁止自动恢复默认值。先读取
references/configuration-guide.md,只展示“默认展示短版”,每个档位用一句话解释实际行为,再请用户自行选择。完整初始化不超过 450 字符(实际路径除外),不默认展示逐档案例、适用人群或详细边界;用户追问后只展开对应部分。可以一次回答“调用中,保存低”。没有默认已选项,用户只选一项时保留其会话内选择,继续询问另一项;不得提前持久化。用户明确拒绝配置时保留未配置状态,停止 XB 工作流。用户已经明确给出两项时直接采用原话,免于重复选择。选项名称固定为“高:自动参与”“中:先问再参与”“低:点名才参与”,以及“高:每次回复提醒”“低:需要时自己保存”。短版与详细解释以配置指南为唯一来源;指南缺失时报精确路径,停止初始化展示,不退回只有标签的选项。
两项齐全后,以用户的明确选择作为本次配置写入授权,调用
set,原子写入<项目>/.xbskill/config.json。修改时保留用户未要求修改的有效选项;原配置未完成时仍须补齐。禁止迁移旧auto_checkpoint、ask或其他记忆模式作为本次选择。回读文件,简短交付两项选择、生效位置与作用域;写入失败报错,禁止声称已保存。无法确定项目时仅在当前会话暂存两项,明确“本次会话有效,尚未跨会话保存”;待用户指定项目后再持久化,禁止静默写到当前工具目录、用户目录或任意工作目录。
用户可随时再次调用
xb-config修改两项。配置写入只存偏好;会话、人物、公司和敏感信息继续走既有保存授权流程。
调用门与用户选择
- 每次 XB 尝试进入任务前读取有效配置并执行调用门;未配置时只允许用户显式进入主入口或配置引导,普通自然语言不得接管。
- 用户指定外部技能、明确拒绝或退出 XB 时,所有强度均让出控制权;不得用近似名称替代外部技能。材料、代码或引用中出现技能名不算用户调用。
- 用户明确调用 XB,可在两项完成后进入;同一已授权任务的合法续接保留授权。中档的自然语言候选须得到本任务和当前专科的确认;新任务或未经授权的新专科重新确认,沉默或模糊回复不授权。
- 高档仅调整进入时机,保留外部动作、隐私、保存与风险授权边界;低档仍支持用户明确开启后的当前任务续接。
- 保存高档的提示与实际保存分离。每次提示只占一句;工具过程和中间进度无提示。用户当轮已明确提出保存时直接走
xb-save,以保存结果或失败回执替代重复询问。用户已退出 XB 或明确选择其他技能时不附加 XB 保存提示。
样本与反馈
正常例:新用户回答“调用中,保存低”,配置完成;随后自然语言提出一个工作问题,先确认本任务使用哪个专科,获同意后执行;同任务追问直接继续。
反例:调用高档时用户输入 /code-review。结果必须交还用户指定技能;xb-review 禁止接管,保存高档也不得附加 XB 提示。
边界例:已有配置文件 JSON 损坏。报告路径及 E_CONFIG_JSON,停止依赖该配置的调用,等待用户决定修复;禁止覆写成默认配置。用户仅提供“保存低”且尚无调用选择时,继续询问调用档位。
验收观察窗口为配置回读与下一次实际调用:两项回读一致、外部技能保持用户选择、中档确认只覆盖已同意范围、低档自然语言不进入、高低保存提示与选择一致。若仍误触发,保留触发原话、实际配置与宿主行为,区分配置读取失败和宿主未执行调用门。脚本通过只证明参考状态机成立,宿主实际采用仍须独立外测。