USER.md / MEMORY.md 瘦身 + 治理加固 + 项目内容归位 + rules/ 范式 + blueprint 体检(REQ-1~9)
现象 / 实测数据 / 根因。需求分析期 9 项 + 实现期对抗性验证增量发现 7 项。
做法 / 验证证据。
| 指标 | 优化前 | 优化后 |
|---|---|---|
| USER.md | 2498/2500(99.9%),18 条 | 1217/2500(48.7%),14 条 |
| MEMORY.md | 3938/4000(98.5%),21 条 | 1593/4000(39.8%),16 条 |
| governor USER 提案 | 无(allow_proposals=False) | 有(提案允许,自动下沉仍禁) |
| 条目时效机制 | 无 | @[YYYY-MM-DD] 标记 + 过期提案 |
| 长条目提案阈值 | 80(与 ≤150 写入规范矛盾) | 150(对齐;铁律 >200 仍提案) |
| 铁律条目治理 | 无限豁免(最长条目失声) | >200 字符提案「铁律句+细节下沉」 |
| 水位可见性 | 无 | usage chars/limit/pct + ≥80% warn |
| 提案队列 | 3 pending + 22 本任务噪音 | 3 pending(仅 08-12 历史遗留) |
| 项目内容 | 催收大段等驻留 memory | 全部归项目目录/refs,留指针 |
| rules/ 范式 | 不存在(.claude/rules/ 死目录) | 根目录注册节范式(2 项目 + scaffold 模板) |
| blueprint 任务准入 | 无(触发词仅「新项目」) | 「〇、任务准入」节 + 触发词 + 记忆条目对齐 |
| blueprint 结构冗余 | 双层结构 5 次重述 + references 三份漂移 | 1 权威块 + 1 权威文件(stub 重定向) |
14 条,1217 字符 / 2500(48.7%)。条目以 § 分隔。
设计哲学:设计=第一性原理+剃刀原理;审查=对抗性验证;选择必须明确指定;指标须过「可获取性+独立价值」双审查;流程图用PlantUML。可点击vs不可点击样式须可区分。邮件/对外文案:言简意赅、给明确答复时间点。 § 🔴CC强制委派:一切编程/工程任务必须委派 Claude Code(Hermes只做编排/检查/验证/数据分析/环境配置);做任何事(除极小一次性改动)先过 project-blueprint skill「任务准入」节判定。 § GitHub: grootwu55-code。偏好中文。⚠️能自查的别问用户(如kimi额度:scripts/kimi-proxy.py)。 § 用户背景:车贷平台AI技术部(易鑫)。车主通Agent已投产(外呼→企微加好友→微信推进至终审→转人工)。汇报面向老板:重事情前景与有利条件。 § 前端/UI偏好→读 refs/ui-preferences.md(做页面/HTML交付物时:双端适配、一屏Dashboard、目录左固定、表头吸顶、移动端CDP实测)。 § 做事风格:宁可少做几样但做精;分步迭代(「先简单」);用数据算清能不能做完做好;回答已隐含答案时别重复问。 § 交付物固定 HTML+CF Pages 链接;部署/更新后完成通知末尾必须附全部 pages.dev 链接;复杂表格/待办清单写进 HTML 交付物,不在聊天贴大表格。 § 工作流:功能开发默认先brainstorming(澄清→方案→设计→批准→实现);记待办必须把遗留问题嵌入条目内部,重启项目第一步=逐条确认;委派CC的任务卡必须同步发用户一份。 § 冲突处理:需求反复冲突≥2次→停下复盘冲突史找根因→按「必须保证/重要想要/加分项/不可接受」四档重述→逐条确认后再行动。 § 真实性:结论必须附真实数据来源+逐条case清单,明确区分「真实数据」与「规则推演」;交付质量要求持续提高。 § 契约偏好:固定契约名/单一写法,不喜兼容多key hack;凭证/VPS地址不落代码(显式占位符);文档指令与程序行为逐字一致、以源码为准,程序变更须同提交同步双份文档+契约测试。 § 场景指针:每月考勤→attendance-helper skill;孩子学习规划(窄焦点1-2科)→study-planning skill;购物调研必须含商品图、断言「有很多」时信任并扩大渠道(头条/360)。 § 设备:MBP M4 Max 128G + iPhone12PM(Lightning)。知识管理:Markdown=知识真相源,Obsidian只是编辑器;同步用Syncthing,禁iCloud同步Vault。 § 「工作站建设」=个人AI工作站体系(project-blueprint/待办看板/Hermes部署在Mac mini+2台VPS),所有基建服务于此;涉及工作站/基建方向时以此为准。
16 条,1593 字符 / 4000(39.8%)。条目以 § 分隔。
环境配置→读 ~/.hermes/memories/refs/env.md(涉及CF部署/仪表盘/工具链/服务器/ssh别名/WG拓扑时) § 项目索引→读 ~/.hermes/memories/refs/project-index.md(涉及具体项目任务时;项目级内容一律放工程目录不放memory;项目属性=公司/个人登记在此) § 新教训→读 ~/.hermes/memories/refs/lessons.md(同类问题出现时) § 模型/provider诊断→先读 ~/.hermes/state/sentinel.json(勿假设config误改);详见 hermes-provider-management skill。 § Hermes主对话优先级链:K3(kimi-coding) > GLM5.2(zai) > DeepSeek V4 Flash;config在 ~/.hermes/config.yaml model段。两个kimi coding key轮换:一个403限流→切另一个;周重置日可能变化 @[2026-08-25]。 § 🔴视觉铁律:需要视觉一律第一时间用CC(claude -p "用Read读取image.png");禁用GLM视觉(非多模态且429);文本OCR用tesseract;截图先压缩(800×1000)每批≤2-3张防CC OOM。 § ⚠️铁律:断言"可用/能通"前必须实测;方案按实测可用性排序,已知不通不放首选。 § Discord子区会话隔离:用户说"继续"时必须先session_search当前子区/线程,勿全局搜索把别子区任务拉过来(2026-07-23教训)。 § 量化结论验证:声称"做不完/太多/不够"前必须拆因子逐一对照真实数据校正;出现强反证(如孩子"轻松完成")立即重算而非坚持原结论。 § Hermes自进化体系:每周日21:00 cron自动跑memory治理+情报+进化页;用户说「确认/拒绝进化提案 <id>」→手动更新 ~/.hermes/scripts/data/evolution/proposals.json;详情→ ~/hermes-evolution/.cc/STATE.md。 § CC故障:403/失败→查 claude-code skill 降级方案;claude -p无输出挂起(非403)→查 settings.json 残留 ANTHROPIC_MODEL。 § 文件版本日期铁律:展示的版本日期必须取文件内容里的版本时间,绝不取mtime(构建复制会更新mtime冒充);声明两份文件一致前必须内容双向差集验证。 § 🔴不要推remote(2026-08-11用户明确撤销旧规):项目一律不配置GitHub remote、不推送;若再被要求推先与用户确认。长任务委派CC(>5分钟)中途播报一次进度。 § 主机事实:Mac mini(M4/32G,用户hermini)=主平台,WG别名192.168.240.2(ping别名不回包是macOS怪癖,测连用ssh);北京VPS=WG hub(154.8.194.50,10.0.0.1);新加坡VPS已退役;禁Tailscale。跑批上传 --vps-host 用 hermini。Clash代理127.0.0.1:7897(curl需-x;报错=终端会话污染换新标签页)。 § 运维:切Claude Code模型一律用 cc-switch(~/.cc-switch-cli/config.json),绝不直接改 settings.json;零手动断点,init命令一条搞定。 § 记忆写入规范:瞬时状态类条目必须带 @[YYYY-MM-DD] 时效标记;单条≤150字符,详情指针化;项目级内容写工程目录不写本文件。
每条旧条目的去向裁决(migration-map.md 原文)。决策规则:①绑定特定项目/skill/场景→下沉 ②身份/跨项目偏好→USER.md,环境事实/运维教训/指针→MEMORY.md ③两文件重复→按职责归一处 ④被更新规则明确撤销→删 ⑤瞬时状态→核实后更新/删除/加@[时效] ⑥保留条目>150字符→压缩+细节下沉。
条目编号来自 parse_entries.py 对 2026-08-14 基线(git 6b13229)的解析;governor 加固后干跑产生的 12 条机器提案(P20260814-04~15)与本表人工裁决一一对应(交叉验证通过)。
决策 tag 图例:保留/重写 合并/拆分 迁移 删除
| 编号 | 字符 | 条目起始 | 决策 | 去向/理由 |
|---|---|---|---|---|
| U1 | 155 | 设计哲学:①设计=… | 重写保留 | 新 USER#1,压缩至 ~130 字 |
| U2 | 123 | 🔴CC强制委派… | 重写保留 | 新 USER#2;与 M11 去重合并,细节在 blueprint「任务准入」节 + references/cc-delegation-* |
| U3 | 70 | GitHub: grootwu55-code… | 重写保留 | 新 USER#3 |
| U4 | 98 | 用户背景:车贷平台… | 重写保留 | 新 USER#4(车主通流程精简) |
| U5 | 343 | 所有页面默认双端适配… | 迁移+指针 | 细节→refs/ui-preferences.md(新建);新 USER#5 留指针 |
| U6 | 59 | 每月考勤管理见 attendance-helper… | 合并 | 并入新 USER#12 场景指针行 |
| U7 | 121 | 功能开发默认先brainstorming… | 重写保留 | 新 USER#8 压缩 |
| U8 | 87 | 做事哲学…孩子学习规划… | 拆分 | 哲学→新 USER#6;学习规划→新 USER#12 指针行 |
| U9 | 128 | 交付物固定 HTML+CF Pages… | 重写保留 | 新 USER#7 |
| U10 | 94 | 购物类调研…设备… | 拆分 | 购物→新 USER#12 指针行;设备→新 USER#13 |
| U11 | 113 | 移动端验收标准…CDP touch events | 迁移+指针 | 细节在 blueprint references/mobile-overlay-scroll-testing.md;并入新 USER#10 真实性条 |
| U12 | 142 | 会质疑交付真实性… | 重写保留 | 新 USER#10 |
| U13 | 64 | GitHub 项目一律 private… | 删除 | 被 M15(2026-08-11 用户明确撤销「推 remote」)取代;矛盾解决 |
| U14 | 119 | 需求反复冲突≥2次… | 重写保留 | 新 USER#9 |
| U15 | 178 | 测试用例设计偏好… | 重写保留 | 新 USER#8 合并压缩(细节在 blueprint skill) |
| U16 | 175 | GitHub 推送规则:项目属性… | 删除+迁移 | 规则被 08-11 撤销;公司/个人项目清单→refs/project-index.md「属性」列 |
| U17 | 125 | 「工作站建设」… | 重写保留 | 新 USER#14 压缩 |
| U18 | 253 | 运维铁律:cc-switch… | 迁移 | 属 hermes 运维→新 MEMORY#15 压缩;USER 删 |
| 编号 | 字符 | 条目起始 | 决策 | 去向/理由 |
|---|---|---|---|---|
| M1 | 126 | Discord 子区会话隔离… | 重写保留 | 新 MEMORY#8 压缩 |
| M2 | 40 | ⚠️铁律:断言"可用"前必须实测 | 保留 | 新 MEMORY#7 原样 |
| M3 | 165 | 量化可行性结论验证流程… | 重写保留 | 新 MEMORY#9 压缩 |
| M4 | 152 | CC 调用失败/403…cc-quota-reset-mechanism 待办 | 压缩+待办迁移 | 待办→todo-board(查重登记);条目→新 MEMORY#11 故障指针 |
| M5 | 78 | 环境配置→读 refs/env.md | 保留 | 新 MEMORY#1 指针(措辞微调) |
| M6 | 101 | 项目索引→读 refs/project-index.md | 保留 | 新 MEMORY#2 指针(追加属性登记说明) |
| M7 | 63 | 模型哨兵→读 sentinel.json | 合并 | 并入新 MEMORY#4「模型诊断」条 |
| M8 | 168 | 🔴视觉铁律… | 重写保留 | 新 MEMORY#6 压缩 |
| M9 | 60 | ⚠️新教训→读 refs/lessons.md | 保留 | 新 MEMORY#3 指针 |
| M10 | 202 | Hermes 自进化体系… | 重写保留 | 新 MEMORY#10 压缩 |
| M11 | 257 | 🔴铁律(08-11) 工程内一切工作必须CC… | 删除(去重) | 与 U2 合并于新 USER#2;细节在 blueprint references/cc-delegation-* |
| M12 | 239 | 文件版本日期显示铁律… | 重写保留 | 新 MEMORY#12 压缩(wechat 实现引用保留) |
| M13 | 255 | Hermes 主模型配置在 config.yaml… | 合并 | 并入新 MEMORY#5「优先级链」条;细节指针→hermes-provider-management skill |
| M14 | 287 | VPS 2核3.6G。模型哨兵(systemd)… | 重写(过期) | hermes 已在 Mac mini(launchd 非 systemd,VPS 已退役)→ 新 MEMORY#14 主机事实行;哨兵现状以 sentinel.json 为准 |
| M15 | 186 | 🔴不要推 remote(08-11)… | 保留压缩 | 新 MEMORY#13(最新推送规则,为准) |
| M16 | 239 | 用户偏好固定契约名… | 迁移 | 用户偏好→新 USER#11「契约偏好」条 |
| M17 | 433 | Mac mini(M4/32GB)…WG拓扑08-14… | 重写保留 | 新 MEMORY#14 压缩主机事实;env.md 同步修正别名表 |
| M18 | 205 | 知识管理偏好… | 迁移 | 用户偏好→新 USER#13 合并(压缩) |
| M19 | 287 | Hermes 主对话优先级链…coding1 5h窗口满… | 重写保留 | 新 MEMORY#5:留稳定事实;瞬时状态(窗口满/重置日 8/13 已过期)删除,加 @[2026-08-25] 时效 |
| M20 | 281 | AI催收外呼项目:易鑫…v7=42节点… | 删除(过期+违规驻留) | 项目内容归项目目录;NOTES.md 已有更新事实(v8=48节点、08-14 用户纠正),旧事实不搬(搬旧=播种错误);若 STATE.md 缺三方待办数则补入 |
| M21 | 54 | 长表格不要全量贴 Discord… | 删除(去重) | 与 U9(交付偏好)重复,新 USER#7 已含 |
附录:基线条目清单(parse_entries.py 输出存档——USER.md 2447 chars/18 entries,MEMORY.md 3878 chars/21 entries,编号 U1-U18 / M1-M21 与上表一致)。
全文见 VERIFICATION.md(89 项 ALL PASS)。
| 验证项 | 结果 |
|---|---|
| 迁移完整性(编号覆盖 U1-U18/M1-M21 + 去向目标存在性 + 决策非空) | ✅ 89 项 ALL PASS |
| 水位 ≤60%(双口径:文件字符 / MemoryStore §join) | ✅ 48.7% / 39.8% |
| 死指针(refs/*.md、~/路径) | ✅ 0 |
| 时效标记(@[日期] 无过期驻留) | ✅ |
| MemoryStore roundtrip(venv 实测解析) | ✅ memory=1592 user=1215 |
| governor 回归 | ✅ 26 passed(含 6 新增加固用例) |
| governor 干跑 | ✅ auto_actions=0 / proposals=0 / warn 双 false |
| scaffold 回归 | ✅ 11 passed(先 2 红后绿,TDD) |
| rules/ 冷启动(两项目注册节+引用文件存在) | ✅ |
| hermes -z 冒烟(自读两文件报数) | ✅ 14条/1217、16条/1593 与实测一致 |
| 验证脚本自身对抗性修正 | 首轮 23 误报(前缀匹配口径)→ 判为脚本口径错 → 改结构化核验 |
| 位置 | commit |
|---|---|
| ~/.hermes/memories | 6b13229 基线 → 591129e 职责宪章重写 → 6d8ab79 准入口径对齐 |
| ~/ai-collection-call | aa02f8b(rules/ 范式 + STATE.md 更新 2d189e6) |
| ~/wechat-qa-bot | 85941a6(rules/ 范式) |
| hermes-ops(MBP 本仓库) | spec 9e4410e + plan + 本报告归档 |
| ~/.hermes/skills/(blueprint) | 无 git(转办 B2);改动均有 .bak-20260814 备份 |