Show HN: Sphinx – 在推送 AI 生成的代码之前,用测验来考考你的 Git hook

Hacker News Top 工具

摘要

Sphinx 是一个面向 AI 辅助开发的 Git hook 工具:在 agent 生成的代码被推送之前,它会基于 diff 向开发者提问,确认你是否真正理解代码的行为,回答正确才能继续推送。支持 Codex、Claude Code、Cursor 等编码 agent,开源免费。

一个自由开源的工具(FOSS)。简单来说,它可以接入你现有的编码 agent 工作流,每次你推送代码到生产环境时,都会弹出一组测验题目,检查你是否真正理解所推送代码的工作原理。
查看原文
查看缓存全文

缓存时间: 2026/10/18 07:53

# Sphinx — 将思考外包,而非将理解外包 来源:https://sphinx-six-theta.vercel.app/ - 免费 - 开源 (FOSS) (https://github.com/parthh01/sphinx) > "Outsource your thinking, not your*understanding*." — 孙子 (https://x.com/yacineMTB/status/2018886083120153046?s=20) Sphinx 是一个面向 Agent 辅助开发的 Git 钩子。在你的 Agent 生成的代码上线之前,它会就这段代码的实际行为向你提一个问题。 `npm install -g sphinx-understand` 专为极低 token 消耗而设计,可运行在你现有的编程 Agent、OpenRouter 或任何 OpenAI 兼容端点之上。 $git push origin main sphinx · main 分支理解检查 11 个文件变更 · +5,012 −3,147 Sphinx 你的 webhook 处理程序现在会在调用`charge()`*之前*保存事件 ID。Stripe 超时后再次发送了同一个事件。重试时会发生什么? 你 会执行两次,客户被扣费两次。 Sphinx 不完全对。重试时会找到已保存的 ID,直接返回 200 而不会扣费。但那个 ID 是在扣费成功*之前*存储的。如果`charge()`失败了,下一次重试会怎么做? 你 它会跳过扣费,客户永远不会被扣款。 ✓ 理解正确。正在推送到 origin/main。 这是一段示意性对话。真实问题来自你的 diff。 1. 01### 你推送代码。或者你的 Agent 代你推送。Git 会在受保护的分支上暂停。 2. 02### Sphinx 提问。一个从未看过你聊天记录的审查者会阅读 diff,并提问:当出错时,这个改动会如何表现? 3. 03### 你作答。答错了,你会明白原因,然后尝试新的场景。答对了,推送继续进行。 支持**Codex、Claude Code、Cursor、OpenCode**和**Pi**,也可搭配原生 Git 使用。你的回答不会发送给编程 Agent,`.env` 文件和密钥也永远不会被读取。赶时间?`sphinx yolo` 可以放行推送,且每次跳过都会被记录。 ## 一分钟上手 `` # Node 22.19+ · macOS、Linux 或 WSL npm install -g sphinx-understand sphinx install # 然后照常推送 git push `` `sphinx install` 会连接 Git 和你的编程 Agent,并询问应使用哪个模型进行审查。其余内容请参阅[文档](https://github.com/parthh01/sphinx#readme)。

相似文章