Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

簡介

什麼是PRECC?

PRECC (Claude Code 預測性錯誤糾正) 是一個Rust工具,透過官方的PreToolUse鉤子機制攔截Claude Code的bash命令。它在錯誤發生之前修復它們,節省token並消除重試循環。

對社區用戶免費。

問題

Claude Code在可預防的錯誤上浪費大量token:

  • 目錄錯誤 – 在沒有 Cargo.toml 的父目錄中執行 cargo build,然後在讀取錯誤後重試。
  • 重試循環 – 失敗的命令產生冗長的輸出,Claude讀取、推理並重試。每個循環消耗數百個token。
  • 冗長輸出findls -R 等命令輸出數千行,Claude必須處理這些內容。

四大支柱

上下文修復 (cd-prepend)

檢測到 cargo buildnpm test 等命令在錯誤的目錄中運行時,在執行前添加 cd /正確/路徑 &&

GDB除錯

偵測附加GDB進行更深入除錯的機會,提供結構化的除錯資訊而不是原始的核心傾印。

工作階段挖掘

挖掘Claude Code工作階段日誌中的失敗-修復對。當同樣的錯誤再次發生時,PRECC已經知道修復方法並自動應用。

自動化技能

內建和挖掘技能庫,匹配命令模式並重寫它們。技能定義為TOML檔案或SQLite列,便於檢查、編輯和分享。

工作原理(30秒版本)

  1. Claude Code即將執行一個bash命令。
  2. PreToolUse鉤子將命令作為JSON透過stdin發送給 precc-hook
  3. precc-hook 在3毫秒內透過管線(技能、目錄修正、壓縮)處理命令。
  4. 修正後的命令作為JSON透過stdout回傳。
  5. Claude Code執行修正後的命令。

瑣碎錯誤會被合併;重寫原因隨鉤子回應一起返回,因此每次修正都可稽核,而非悄然發生。

安全邊界

PRECC僅在語義等價可證明保留或使用者可驗證時才進行重寫。破壞性命令(rmgit push --forcegit reset --hard)即使匹配技能也絕不重寫。每次變換必須是有界的——重寫後的命令仍須包含原始命令的核心token。無界重寫會被自動還原。每次應用的重寫都會被記錄並顯示,以便您稽核、停用或撤銷。

自適應壓縮

如果命令在壓縮後失敗,PRECC會自動在重試時跳過壓縮,以便Claude獲得完整的未壓縮輸出來除錯。

即時使用統計

當前版本 :

指標
鉤子呼叫次數
節省的token
節省比率%
RTK重寫
CD修正
鉤子延遲 ms (p50)
獨立用戶

Measured Savings (Ground Truth)

各版本節省情況

這些數字會從匿名遙測資料自動更新。

連結