核心用法
PRECC 作为 Claude Code 的 PreToolUse 钩子运行,自动拦截 Bash 命令并执行三类优化:
1. 命令纠错 — 检测目录错误、重复失败模式,自动注入 cd 路径或修正参数
2. 输出压缩 — 通过 RTK 重写冗长命令,减少 60-90% 输出令牌
3. 上下文压缩 — precc compress 剥离 CLAUDE.md 等文件中的冗余词汇,节省约 30% 加载令牌
v1.1 新增 precc predict 成本预测 Oracle(支持规则基线与可训练 Ridge 回归模型)和可选的 counterfactual 遥测(本地 SQLCipher 加密存储,默认关闭)。
显著优点
- 量化收益明确:实测节省 34% 成本($296/$878),阻止 98% 的重复失败
- 零摩擦集成:单二进制 Rust 程序,自动配置钩子,2.93ms 平均延迟
- 可训练预测模型:用户可自行拟合 Ridge 回归模型,实现个性化成本预估
- 隐私优先设计:遥测默认关闭,本地加密存储,k-匿名化设计
潜在缺点与局限性
- 平台限制:仅支持 Linux/macOS,Windows 未列明
- 功能依赖:语义搜索需额外安装
cocoindex-code(Python 依赖) - 许可分层:
savings --all等高级功能需 Pro 许可证 - 遥测成熟度:counterfactual 的 CLI 配置仪式尚未发布,当前需手动编辑 TOML
- 模型泛化:
trained-v1需要 ≥10 条实际记录才能拟合,冷启动阶段依赖启发式
适合人群
- 高频 Claude Code 用户:日均 API 调用量大,对成本敏感
- DevOps/全栈开发者:频繁执行构建、测试类易错命令
- 隐私意识强的团队:希望本地化处理优化,避免云端分析
常规风险
| 风险类别 | 具体描述 | 缓解措施 |
|---------|---------|---------|
| 钩子注入 | 修改 `~/.claude/settings.json` 可能与其他钩子冲突 | 安装脚本备份原配置 |
| 命令改写 | 自动修正可能改变命令语义 | 建议 `--dry-run` 预览,保留手动确认路径 |
| 数据残留 | 历史数据库与模型文件累积 | 提供 `precc clean` 命令(文档未详述,需验证) |
| 遥测误启 | 虽默认关闭,但配置错误可能意外启用 | 配置文件显式 `[counterfactual]` 区块,审核友好 |
安全等级说明
作为本地运行的 Rust 二进制,PRECC 的权限边界清晰:仅需文件系统读写与 Claude Code 进程通信。无网络传输(遥测上传需单独配置),核心功能无需 elevated privilege。风险主要集中在钩子链的可靠性与命令改写的正确性验证,属可控范畴。