开源工具Sphinx通过钩子接入现有AI编码流程,在推送生产环境时要求开发者回答有关代码工作原理的问题。它尝试将开发者对生成代码的理解纳入发布检查。
“把思考外包出去,但别把理解也外包了。”
Sphinx 是一个用于 Agent 辅助开发的 Git hook。在 Agent 编写的代码交付之前,它会先问你一个问题,检查你是否理解这些代码实际做了什么。
它力求以极少的 token 运行,可以使用你现有的 coding agent、OpenRouter,或任何兼容 OpenAI 的 endpoint。
你的 webhook handler 现在会先保存事件 ID,再调用 charge()。Stripe 请求超时后,又发送了一次相同的事件。重试时会发生什么?
代码会执行两次,所以客户会被扣款两次。
不完全对。重试时会找到已经保存的 ID,直接返回 200,不会再次扣款。但这个 ID 是在扣款成功之前存储的。如果 charge() 失败,下一次重试会怎样?
它会跳过扣款,结果客户始终没有被收取费用。
以上是一段示例对话。实际问题会根据你的 diff 生成。
01 你执行 push。也可能是你的 Agent 执行。Git 会在你设置了保护的分支上暂停。
也可能是你的 Agent 执行。Git 会在你设置了保护的分支上暂停。
02 Sphinx 提问。一个从未看过你聊天记录的审查者会阅读 diff,然后询问:当出现异常时,这次改动会如何运行?
一个从未看过你聊天记录的审查者会阅读 diff,然后询问:当出现异常时,这次改动会如何运行?
03 你回答。答错了,你会了解原因,然后尝试一个新场景。答对了,push 就会继续。
答错了,你会了解原因,然后尝试一个新场景。答对了,push 就会继续。
支持 Codex、Claude Code、Cursor、OpenCode 和 Pi,也支持直接使用 Git。你的回答绝不会传给 coding agent,Sphinx 也绝不会打开 .env 文件和密钥。赶时间?sphinx yolo 可以直接放行 push,每一次跳过都会留下日志。
# Node 22.19+ · macOS, Linux, or WSL
npm install -g sphinx-understand
sphinx install
# then push as usual
git push
sphinx install 会连接 Git 和你的 coding agent,并询问你要使用哪个模型进行审查。其他内容请阅读文档。