我厌倦了 Claude/Cursor 重复采用我们已拒绝的方法,因此我发布了一个本地决策记忆 CLI

Reddit r/AI_Agents 工具

摘要

Canon 是一个本地优先的 CLI 工具,可自动将项目决策注入 AI 编码代理(如 Claude Code 和 Cursor),以防止它们重新采用已拒绝的方法。

我持续遇到 Claude Code 和 Cursor 的相同故障模式。代理很好,仓库也不为空。然而,每次新会话时,它仍然会:- 重新提议我们在 PR 中已拒绝的方法 - 发明团队无人使用的惯例 - 询问三次合并前已解决的问题 - 自信地将过时的‘我们使用 X’评论视为当前事实 CLAUDE.md / AGENTS.md / ADRs 有帮助,但它们只有在人类在冲刺中途停下来编写时才有效。三周后,没人再这么做。静态文件也会过时,没有任何机制阻止代理将旧决策视为仍有效。这才是真正的问题。不是‘代理需要更多对话’,也不是‘我们需要另一个 RAG 框’。捕获成本太高,注入不自动,过时决策被自信地提供。 因此我发布了 Canon。Canon 是一个本地优先的 CLI。无需账户,无需云。项目内使用 SQLite。 它的功能: 一个设置命令连接 Claude Code(SessionStart hook)和 Cursor(always-apply 规则)。它挖掘最近合并的 PR,或如果 GitHub 不可用则使用 Git 历史。它建议具有来源的候选决策。有意保守——它应该跳过‘我们更改了 auth.py’。你批准或拒绝,无需编写决策文章。在下一个代理会话中,相关的 *活跃* 决策会自动注入。你不需要记住查询任何内容。如果后续决策替代旧决策,旧记录会被取代,而非删除。注入仅使用当前活跃的。如果 Canon 不确定,它宁愿说‘我对此没有确认的决策’也不猜测。 一个好的建议示例:使用 PostgreSQL 而非 MongoDB 存储持久应用数据。原因:关系约束和事务一致性。证据:PR #184 / commit abc。V1 还捕获产品/策略调用(删除表面、重命名 A → B、模型回退),不仅限于数据库/身份验证迁移。 使用方法(Python 3.11+): pip install git+(检查评论仓库 URL .git) cd your-project canon init canon suggest canon approve canon inject-preview 如果在 Windows 上 `canon` 无法识别:python -m canon init 然后在该仓库中启动 Claude Code 或 *新的* Cursor Agent 聊天。确认的决策应该已在上下文中。 Claude Code 和 Cursor 在 V1 中已集成。ChatGPT / 独立 Grok 不会自动注入;如果需要,你可以附加 `.canon/injection.md`。 隐私,因为它位于你的仓库旁边: - 默认本地。无需注册。 - GitHub 可选且只读(仅挖掘 PR)。 - 遥测关闭,除非你选择加入,即使如此 V1 仅写入本地事件日志。 - 提交消息 / PR 内容被视为不受信任的数据,而非指令。 这不是: 不是聊天机器人,不是另一个编码代理,不是网站,不是通用 RAG。Slack、Notion、团队仪表板、云同步和计费明确不在此版本中。 我想先让循环在真实仓库上工作。我寻找已经在使用 Claude Code 或 Cursor 的人,并在真实项目上试用一周: - 设置是否仍为单个命令? - 建议是否值得批准,还是嘈杂? - 下一个代理会话是否在你未询问的情况下看到决策? - 它是否阻止代理重新采用你已拒绝的内容? 仓库:在评论中 如果这有用,告诉我哪里出错了。如果没用,也告诉我。
查看原文

相似文章

开源本地优先的Codex+Claude设计

Reddit r/artificial

Row-Bot是一个开源、本地优先的桌面AI助手,集成了多个模型提供商、工具、记忆和工作流程,用于实际工作。