为 macOS 上的编码代理创建了确定性散文声明验证器
摘要
一个确定性的 macOS 菜单栏应用,监控编码代理记录(如 Cursor、Claude Code 等),使用正则表达式提取声明,并与证据交叉比对以标记不一致之处——所有操作均在本地运行,无需 LLM 或 API 调用。
大家好!我想要一个工具,能实时监控并告诉我代理说的话与实际发生的情况不符。于是,我构建了 Snitch。
它监控代理的转录文件(包括 Cursor、Claude Code、Codex、Pi、OpenCode),使用确定性正则表达式从文本中提取声明,并与证据进行交叉比对——这些证据包括工具调用、Shell 输出、文件系统、Git 以及三轮会话历史。当某个声明不成立时,它会标记出来并附上发现的问题。
它会在底层统一不同代理的工具名称(例如 Claude 的 Bash → Shell,Codex 的 apply\_patch → StrReplace),从而无论你使用哪个代理,验证流程都能保持一致。
所有操作均在本地运行——无需 LLM,无需 API 调用,没有任何数据离开你的机器。这是一款 macOS 菜单栏应用。安装命令为:brew tap fristovic/snitch && brew install snitch && snitch start v0.4.2,代码约 10,000 行 Go,采用 Apache 2.0 许可证。
请将此视为 alpha 版本——几乎算是更大项目的概念验证。我提前分享它,是想看看这种方法是否能引起共鸣,然后再深入开发。提前警告:可能会出现误报。我仍在调整匹配模式。
如果你尝试并发现 Snitch 标记了实际上是正确的内容,我很希望你能提交一个 issue(或更好的办法是提交一个 PR),并附上你遇到的具体情况。模式注册表的设计使其易于扩展——仓库中有相关指南,CI 会强制要求新模式附带示例。
未来路线图包括:社区标注功能,让用户可以将判定结果标记为正确/错误(为本地分类器提供训练数据以减少噪声),以及面向运行多个代理的组织的团队仪表板。
我希望我们能集思广益,共同构建出真正有用的东西。欢迎提出任何问题。请告诉我哪里出了问题。
相似文章
AgentPeek
AgentPeek 是一款 macOS 实用工具,可在 Mac 的灵动岛区域显示 Claude Code 和 Codex 等 AI 编程代理的运行状态。
构建了一个托盘应用,用于监控AI编程代理在你的机器上的操作。以下是我的发现
一位开发者构建了一个托盘应用,用于监控AI编程代理在其机器上的操作,并分享了观察结果。
为AI代理打造macOS调试器 — 实时可视化LLM调用链
Tether是一款macOS本地代理工具,可捕获每一次LLM调用,并将其呈现为实时节点图,支持时间旅行调试。
如何在macOS上设置本地编码代理
一份关于在macOS上使用Gemma 4与MTP草稿模型及llama.cpp设置本地编码代理的详细教程,通过投机解码实现了约24%的速度提升。
与您协同进步:将用户修正编译为编码代理的运行时强制
TRACE 是一个技能层管道,通过从交互式编码代理中挖掘用户修正,编译为运行时检查,在减少重复偏好违反方面显著优于仅靠记忆,这一点在 ClawArena 和 MemoryArena 任务中得到验证。