用途:ss-learn 把一次具体的人工确认修正,抽象成一条通用的候选规则。它不训练模型、不抓取仓库、不上传遥测;CLI 仅本地运行。可选的插件 MCP 桥只有在单独一次性人工授权后,才会把某个确切包暴露给其连接的客户端/模型。使用前请先阅读 references/privacy-contract.md。
不适用情形:用户未明确要求捕获或分享经验;变更仅被智能体接受而非人认可;经验无法在不含客户端/产品身份、源码、截图、专有令牌或用户内容的情况下表达;未实际测量评分或视觉通过(记 null 或 not-run,不得推断);观察只属于单一项目品味(应留在 STYLESEED.md)。
主要能力与用法:
- 明确批准后初始化:node <installed-ss-learn>/scripts/learning.mjs init --project-root . 生成 .styleseed/learning/config.json,默认关闭分享与原始材料收集,无网络请求。
- 按 references/candidate.schema.json 起草候选,字段包括 problem、intervention、rationale、appliesWhen、avoidWhen、evidence(仅实测评分、验证状态、可选 SHA-256 产物哈希)。不得含项目名、URL、路径、邮箱、源码片段、提示、截图、颜色、字体名或组件名。捕获:node <installed-ss-learn>/scripts/learning.mjs capture --project-root . --input /path/to/candidate.json,校验收发文ID、字段、隐私模式与证据真实性,写入不可变草稿ID。
- 人工复核:向用户展示完整候选后再运行 review,使用 --decision accepted/rejected、--reviewer、--reason 与 --attestation APPROVE_LOCAL_REVIEW。不得替用户接受;候选内容寻址且只有一次最终本地决定,需修改则重新捕获新候选。
- 可选分享包:仅已接受候选可打包,展示净化后载荷并单独询问是否导出为 team-registry 或 community-candidate,使用 prepare-share 与 --attestation APPROVE_LOCAL_EXPORT,输出到 .styleseed/learning/share/,剥离复核者身份与本地路径,绑定引擎版本并记录内容哈希,不发送文件。
- 一次性 MCP 读取授权:用户单独批准后运行 grant-mcp-read,需 --package 与 --attestation APPROVE_MCP_READ;授权绑定包哈希与已接受的本地复核,MCP 桥消费后返回包,重试将 fail closed。这是对客户端/模型的暴露,消费后不得再称其保持本地。
推广边界:分享包是证据而非 StyleSeed 规则;进入中心或团队需多独立项目、反例、无障碍与语法回归检查、基准证据及具名维护者批准;不得由本地学习自动修改核心规则。
完成报告应分别说明:本地候选(已捕获/未捕获)、人工复核(已接受/已拒绝/待定)、视觉证据(已验/失败/未运行)、分享包(本地已准备/未准备)、MCP 授权(无/可用一次/已消费)、客户端/模型暴露(未执行/一次性批准后已执行)、外部注册表或社区传输(CLI 与 MCP 桥均未执行)。