跳到正文
Hacker News (official RSS)(sphinx-six-theta.vercel.app)·· 2 小時前精選AI 評分78

Show HN:Sphinx——在部署前測試 AI 程式碼的 Git Hook

Show HN: Sphinx – a hook that quizzes you on your AI's code before shipping

AI 導讀

Sphinx 是一款免費 FOSS Git hook,能在推送前讓開發者回答關於程式碼功能的問題,確保 AI 生成的程式碼正確無誤。

  • 安裝方式:npm install -g sphinx-understand,支援 Node 22.19+、macOS、Linux、WSL。
推薦理由

Sphinx 透過 Git hook 讓開發者在推送前即時驗證程式碼行為,降低部署失誤與重複收費風險。

正文 · AI 翻譯

“將你的思考外包,
不是你的 理解。”

— Sun Tzu

Sphinx 是一個支援代理協助開發的 Git hook。在你的代理程式碼釋出前,它會詢問你該程式碼實際上做了什麼。

npm install -g sphinx-understand

設計為在最少 token 下執行,可使用你現有的編碼代理、OpenRouter 或任何符合 OpenAI 介面的端點。

$ git push origin main

sphinx · 理解檢查 (主分支)

11 檔案變更 · +5,012 −3,147

Sphinx

你的 webhook 處理程式現在在呼叫 charge() 之前 儲存事件 ID。Stripe 逾時並再次傳送相同事件。重試時會發生什麼?

你

它會執行兩次,因此客戶會被收費兩次。

Sphinx

不完全正確。重試會找到已儲存的 ID,並回傳 200 而不收費。但該 ID 在收費成功之前就已儲存。如果 charge() 失敗,下一次重試會怎麼做?

你

它會跳過收費,因此客戶永遠不會被扣款。

✓ 已理解。正在推送到 origin/main。

一個示範性的對話。實際問題來自你的 diff。

  1. 01

    你推送。

    或者是你的代理程式。Git 在你保護的分支上暫停。

  2. 02

    Sphinx 問。

    一位從未看到你聊天紀錄的審查者閱讀 diff 並詢問當事情出錯時此更改會做什麼。

  3. 03

    你回答。

    回答錯誤時,你會學會原因,然後嘗試新的情境。回答正確時,推送會繼續。

支援 Codex, Claude Code, Cursor, OpenCode, 和 Pi,或純 Git。你的回答不會傳遞給編碼代理,且 .env 檔案與金鑰永遠不會被開啟。趕時間?sphinx yolo 允許推送通過,並記錄每一次跳過。

開始於一分鐘後。

# Node 22.19+ · macOS, Linux, or WSL
npm install -g sphinx-understand
sphinx install

# then push as usual
git push

sphinx install 連線 Git 與您的程式碼代理,並詢問哪個模型應該進行審查。閱讀檔案 以瞭解其他所有資訊。

來源: Hacker News (official RSS) (sphinx-six-theta.vercel.app)
開啟原文