簡介
什麼是PRECC?
PRECC (Claude Code 預測性錯誤糾正) 是一個Rust工具,透過官方的PreToolUse鉤子機制攔截Claude Code的bash命令。它在錯誤發生之前修復它們,節省token並消除重試循環。
對社區用戶免費。
問題
Claude Code在可預防的錯誤上浪費大量token:
- 目錄錯誤 – 在沒有
Cargo.toml的父目錄中執行cargo build,然後在讀取錯誤後重試。 - 重試循環 – 失敗的命令產生冗長的輸出,Claude讀取、推理並重試。每個循環消耗數百個token。
- 冗長輸出 –
find或ls -R等命令輸出數千行,Claude必須處理這些內容。
四大支柱
上下文修復 (cd-prepend)
檢測到 cargo build 或 npm test 等命令在錯誤的目錄中運行時,在執行前添加 cd /正確/路徑 &&。
GDB除錯
偵測附加GDB進行更深入除錯的機會,提供結構化的除錯資訊而不是原始的核心傾印。
工作階段挖掘
挖掘Claude Code工作階段日誌中的失敗-修復對。當同樣的錯誤再次發生時,PRECC已經知道修復方法並自動應用。
自動化技能
內建和挖掘技能庫,匹配命令模式並重寫它們。技能定義為TOML檔案或SQLite列,便於檢查、編輯和分享。
工作原理(30秒版本)
- Claude Code即將執行一個bash命令。
- PreToolUse鉤子將命令作為JSON透過stdin發送給
precc-hook。 precc-hook在3毫秒內透過管線(技能、目錄修正、壓縮)處理命令。- 修正後的命令作為JSON透過stdout回傳。
- Claude Code執行修正後的命令。
瑣碎錯誤會被合併;重寫原因隨鉤子回應一起返回,因此每次修正都可稽核,而非悄然發生。
安全邊界
PRECC僅在語義等價可證明保留或使用者可驗證時才進行重寫。破壞性命令(rm、git push --force、git reset --hard)即使匹配技能也絕不重寫。每次變換必須是有界的——重寫後的命令仍須包含原始命令的核心token。無界重寫會被自動還原。每次應用的重寫都會被記錄並顯示,以便您稽核、停用或撤銷。
自適應壓縮
如果命令在壓縮後失敗,PRECC會自動在重試時跳過壓縮,以便Claude獲得完整的未壓縮輸出來除錯。
即時使用統計
當前版本 –:
| 指標 | 值 |
|---|---|
| 鉤子呼叫次數 | – |
| 節省的token | – |
| 節省比率 | –% |
| RTK重寫 | – |
| CD修正 | – |
| 鉤子延遲 | – ms (p50) |
| 獨立用戶 | – |
Measured Savings (Ground Truth)
各版本節省情況
這些數字會從匿名遙測資料自動更新。
連結
- GitHub: https://github.com/peria-ai/precc-cc
- 網站: https://peria.ai
- 文件: https://precc.cc