4.9 KiB
4.9 KiB
re-feedback 网关设计(2026-08-18)
背景与问题
aiHK/re-skills 是 88 个逆向工程技能库(1 入口 re-analyze + 11 大类网关 + 76 原子技能),公开发布(npm + 插件市场)。
现有经验流:wxsource.mjs 抓看雪/微信文章 → 手动蒸馏成「坑」条目 → 就近写入对应技能 SKILL.md → commit(如「经验: 第八轮扫描入库4篇」)。
缺失能力:
- 实战分析会话的经验回馈通道(分析完踩的坑没有沉淀路径)
- 用户手动投喂经验的入口
- 统一的呈现与隐私规范
目标
新建第 12 个网关技能 re-feedback(元网关——管理技能库自身的经验,不分析 RE 目标),实现:
- 收集:三源归一——分析会话复盘 / 文章扫描蒸馏(wxsource.mjs)/ 用户手动输入
- 蒸馏:按「坑」格式产出条目,并强制脱敏
- 归域:条目映射到具体技能
- 三档处理(中性呈现,用户自决):① 发表 issue ② 本地入库 ③ 不入库
- 钩子:re-analyze 流程末尾加「可选经验复盘」步骤
设计原则(两条红线)
呈现中性原则
- 呈现选项/方案时禁止「最推荐」「强烈建议」等最高级/强推措辞,推荐最多到「推荐」级
- 选项不带推荐标注,只中性列出选项与适用场景,用户凭内容自决
- 类比:视频加背景音乐,画面情绪被音乐带走——强推措辞会绑架用户判断,不允许
隐私脱敏原则
- 蒸馏产物不允许具体到某一个项目(公司/产品/目标样本名),暗示也不行(可推断身份的行业+规模+地域组合、专有协议名、内部代号、独特技术特征组合一律禁止)
- 目标泛化为通用描述(「某移动应用」「某嵌入式设备」「某通信协议」),条目只留技术结论(现象/原因/对策)
- 来源字段:实战会话 → 只写「实战分析会话」+ 时间(如
2026-08 实战会话);文章扫描 → 可保留公开文章标题/URL - 本地入库同样受约束:技能库公开发布(npm + 插件市场),本地即公开
- 入库/发 issue 前做脱敏自检:列出条目中所有专有名词逐项确认已泛化;任一不通过则回炉重蒸
目录结构
.claude/skills/re-feedback/
├── SKILL.md # 网关:完整工作流 + 选择树 + 常见坑
└── references/
├── intake.md # 蒸馏方法论:坑条目格式、脱敏规则、归域决策表、去重规则
└── issue-template.md # issue 正文模板(gh 提交与草稿共用)
- 每技能新增
references/experience.md(经验全集,条目带来源与日期;无 references 目录的技能新建) - 各技能 SKILL.md「常见坑与陷阱」:保留精选 + 追加链接到本技能 experience.md
- re-analyze/SKILL.md:第三步编排后加「第四步(可选):经验复盘」→ 调用 re-feedback
工作流(5 步)
- 收集:三源归一——会话复盘摘要 / 文章 URL 或文本(可走 wxsource.mjs 抓取)/ 手动输入
- 蒸馏:每条按坑格式
**标题**:现象——…;原因——…;对策——…;「坑」(避坑)与「方法」(方法论)统一格式;同步脱敏(见隐私脱敏原则) - 归域:主题 → 技能映射(决策表 + grep 技能库兜底 + 不确定时问用户,不猜)
- 三档处理(中性呈现,不带推荐标注):
- ① 发表 issue:探测
gh(which gh+gh auth status+ 仓库可达)→ 可用则gh issue create --repo DslsDZC/aihk --label 经验,标题「经验: <技能>: <一句话>」,正文按 issue-template.md(技能名/现象/原因/对策/来源);不可用 → 输出 markdown 草稿供手动提交 - ② 本地入库:grep 去重 → 追加到该技能
references/experience.md(含来源+日期)→ SKILL.md 精选同步或加链接 →npm test校验 - ③ 不入库:确认后结束
- ① 发表 issue:探测
- (文章扫描路径可选)commit:「经验: 第N轮扫描入库X篇——<篇目>」,message 列出每技能新增条目
错误处理
| 情况 | 处理 |
|---|---|
| gh 未装/未登录/仓库不可达 | 降级为草稿输出 |
| gh 报 label「经验」不存在 | 去掉 --label 重试,或提示用户先创建 label |
| 归域不确定 | 问用户,不猜 |
| 条目重复 | 跳过并告知 |
| npm test 失败 | 修复格式后再入库 |
| 脱敏自检不通过 | 回炉重蒸,不入库/不发 issue |
校验与测试
validate.mjs自动覆盖新技能:frontmatter(name=目录名、description、type: gateway)、链接 完整性(re-feedback 目录存在后 re-feedback 链接即合法)- type: gateway 豁免「工具准备」章节校验
- 手工验证:
npm test全绿 + 用一条样本经验走通三档处理