mcpField
H
honey-memory

honey-memory

github.com/green-ptAgent 工作流34440 次安装1 周前更新
代码仓库

关于 honey-memory

honey-memory 是用于创建和维护仓库级记忆的 Agent 技能,可减少跨会话重复查找。它聚焦于重新发现成本高且无法从源代码得知的稳定事实,并规定备份、校验和更新方式。

主要功能

  1. 01以 Markdown 创建或更新仓库记忆
  2. 02记录架构、约定、命令和决策
  3. 03排除可从源码推导的信息、秘密及临时状态
  4. 04检查过时路径和记忆文件问题
  5. 05指导同次变更更新及按需刷新

适用场景

  1. 01记录仓库约定和构建命令
  2. 02保存代码中不明显的决策
  3. 03代码变更使事实失效后刷新记忆
  4. 04检查仓库记忆中的过时引用

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/green-pt/honey-for-devs --skill honey-memory

安装后在 Claude Code 中输入/honey-memory确认已加载。

详细介绍

Honey Memory

将杠杆 2 应用于降低探索成本。每次冷启动会话都会反复搜索相同内容——身份验证所在位置、构建命令、X 为什么会设计成 Y。提交一个文件,就能用一次缓存读取取代 N 次重新探索的往返,并在之后的每次会话中持续受益。最省的 token,就是无需重新推导的 token。

收益会在每次会话中反复出现。风险是信息过时——错误的缓存事实比没有文件代价更高。因此,文件应保存在 git 中,紧挨着可能使其失效的代码,并在导致其失效的同一变更中修正。

搭建(创建)

  1. 每个仓库一个文件:根目录下的 PROJECT.md,并提交(不要放在 ~/.claude 中)。 如果仓库已有 CLAUDE.md/AGENTS.md,则在其中新增/更新 ## Memory 部分——不要再添加第二个文件。
  2. 覆盖现有文件前先备份:复制为 → FILE.original.md。 如果该备份已存在,请停止并询问。绝不覆盖还原点。
  3. 只写三类事实(通过阅读仓库推导):
    • 架构 + 约定,即 Agent 无法轻易通过搜索找到的内容——各项内容 位于何处,以及为什么(设计意图,而非文件列表)。
    • 构建 / 测试 / 运行命令、环境变量和注意事项。
    • 决策和走过的弯路——已做出的选择、尝试过并放弃的路径。这些 属于设计意图,不会出现在代码中。
  4. 报告写入了什么以及文件路径。

永不保存

  • 可从源代码推导的信息——代码结构、符号位置、过往修复、git 历史。 重新推导比维护更省力,也永远不会过时。
  • 机密、令牌、凭据。 该文件会被提交。
  • 临时状态——未完成的 TODO、本周状态。这些内容过时得最快。

如果某条事实稳定、重新发现的成本高,而且代码中没有,就写下来。 其他内容都让 Agent 按需推导——这些系统悄然浪费成本,往往就是因为缓存了不该缓存的内容。

更新

Markdown 文件不会自行更新。可靠性 = 纪律,而非基础设施:

  • 同次变更规则(首选)。 代码变更导致某条事实失效时,在同一提交中修正 该事实。文件位于 git 中,审查时便能发现偏差。
  • 按需刷新。 重新阅读仓库并改写过时条目;展示差异。不要盲目追加—— 追加正是这类文件膨胀、腐坏的原因。
  • 刷新前后都要运行检查。 node "${CLAUDE_PLUGIN_ROOT}/bin/check.js" memory (无需模型)会找出文件中提及但已不存在的路径、未加载任何内容的 @imports、从两个文件加载的相同规则,以及超过 200 行 / 25KB、会在会话开始时加载的 Claude Code MEMORY.md。征得用户同意后修复每项发现;未经询问,绝不删除记忆内容。 (如果 CLAUDE_PLUGIN_ROOT 未展开,bin/check.js 位于插件根目录,即本文件上方两级目录。)
  • 将事实视为已被取代,而非累加:替换旧行,不要在旁边再堆一条新内容。

一个文件还是多个文件

从一个文件开始。只有当文件超过约 150–200 行,或涵盖明显可分离的领域时才拆分—— 此时采用精简索引 + 按需加载的主题文件。低于这个规模时,索引的成本(始终加载的负担)高于它所节省的成本。

保持简洁

将 Honey 杠杆 2 应用于内容——多用片段,少用段落,不要复述代码已经表达的内容。臃肿的记忆文件会给每次会话增加输入负担。 保持 Markdown 易于阅读:你(以及审查者)需要手动编辑,因此不要使用线格式——过时带来的成本高于紧凑格式节省的 token。

边界

可逆——覆盖文件时,FILE.original.md 是还原路径。报告完成前,核实每条已写入的事实都与当前代码一致;未经核实的事实比缺失的事实更糟。

评论

支持 Markdown