故障排除¶
社区报告的当前 Claude Code 缺陷的变通方案,这些缺陷可能影响 ECC 用户。
这些是上游 Claude Code 的行为,而不是 ECC 缺陷。以下条目总结了在 Claude Code v2.1.79(macOS、大量使用钩子、启用 MCP 连接器)上收集的、经过生产环境验证的变通方案,见 issue #644。在上游修复落地之前,请把它们视为务实的临时措施。
针对未解决 Claude Code 缺陷的社区变通方案¶
在其他方面成功的钩子上出现错误的 “Hook Error” 标签¶
症状: 钩子运行成功,但 Claude Code 仍在转录中显示 Hook Error。
有帮助的做法:
- 在钩子开始时消费 stdin(在 shell 钩子中使用
input=$(cat)),以便父进程不会看到未消费的管道。 - 对于简单的允许/阻止钩子,将人类可读的诊断信息发送到 stderr,并保持 stdout 安静,除非你的钩子实现明确要求结构化 stdout。
- 当子进程的 stderr 噪音不可操作时,将其重定向。
- 使用正确的退出码:
0允许,2阻止,其他非零退出被视为错误。
示例:
使用 CLAUDE_AUTOCOMPACT_PCT_OVERRIDE 时压缩早于预期¶
症状: 降低 CLAUDE_AUTOCOMPACT_PCT_OVERRIDE 会导致压缩更早发生,而不是更晚。
有帮助的做法:
- 在某些当前 Claude Code 构建中,较低的值可能会降低压缩阈值,而不是延长它。
- 如果你想要更多工作空间,请移除
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE,并优先在逻辑任务边界处手动使用/compact。 - 使用 ECC 的
strategic-compact指南,而不是强制设置更低的自动压缩阈值。
MCP 连接器看起来已连接,但在压缩后失败¶
症状: 即使连接器在 UI 中仍然看起来已认证,Gmail 或 Google Drive MCP 工具在压缩后也会失败。
有帮助的做法:
- 在压缩后,将受影响的连接器关闭再重新打开。
- 如果你的 Claude Code 构建支持,添加一个
PostCompact提醒钩子,在压缩后提醒你重新检查连接器认证。 - 将此视为认证状态恢复步骤,而不是永久修复。
钩子编辑不会热重载¶
症状: 对 settings.json 钩子的更改在会话重启之前不会生效。
有帮助的做法:
- 更改钩子后,重启 Claude Code 会话。
- 高级用户有时会围绕
kill -HUP $PPID脚本化一个本地/reload命令,但 ECC 不提供该功能,因为它依赖 shell 且并非普遍可靠。
重复的 529 Overloaded 响应¶
症状: 在高钩子/工具/上下文压力下,Claude Code 开始失败。
有帮助的做法:
- 如果你的设置支持,使用
ENABLE_TOOL_SEARCH=auto:5降低工具定义压力。 - 对于常规工作,降低
MAX_THINKING_TOKENS。 - 如果你的设置暴露该选项,将子代理工作路由到更便宜的模型,例如
CLAUDE_CODE_SUBAGENT_MODEL=haiku。 - 按项目禁用未使用的 MCP 服务器。
- 在自然断点处手动压缩,而不是等待自动压缩。
ECC 仪表盘无法启动¶
症状: npm run dashboard 或 python3 ecc_dashboard.py 失败,通常伴随 ModuleNotFoundError: No module named 'tkinter'。
有帮助的做法:
- GUI 仪表盘需要 Tkinter,许多 Python 安装会省略它:
- Debian/Ubuntu:
sudo apt-get install python3-tk - Fedora:
sudo dnf install python3-tkinter - macOS (Homebrew):
brew install python-tk - Windows: 重新运行 python.org 安装程序并启用 “tcl/tk and IDLE”
- 或者使用浏览器仪表盘,它只需要 Node:
npm run dashboard:web,然后打开打印的 localhost URL。 - 两个命令都必须从 ECC 仓库的完整克隆(
git clone https://github.com/affaan-m/ECC)中运行,而不是从 Claude Code 插件目录内部运行——插件安装不包含package.json脚本。
Anthropic Cyber Safeguards 阻止对你自己代码的安全审计¶
症状: 运行安全审查/审计(例如 ecc:security-reviewer)会因 API 错误而失败,错误引用使用政策和 “cyber-related safeguards”,即使你审计的是自己的代码库。
有帮助的做法:
- 这是上游 Anthropic 模型级保障措施,不是 GateGuard,也不是 ECC 阻止。没有任何 ECC 配置可以绕过它。
- 申请 Anthropic 的 Cyber Verification Program——错误信息中包含你账户的令牌化链接。获批账户可以解锁合法的安全工作流。
- 在获批之前,防御性地构造提示:一开始就说明你拥有该代码,目标是修复(“审查我拥有的这个模块中的漏洞并提出修复方案”),将范围限制为一次一个模块,并避免利用生成措辞(“编写 PoC”、“构造 payload”)。
- 优先使用以修复为导向的技能(
security-review、security-scan),而不是进攻性框架,并自行运行静态工具(semgrep、bandit、npm audit),然后让模型解释结果。
相关 ECC 文档¶
- hook-bug-workarounds.md 提供较短的钩子/压缩/MCP 恢复检查清单。
- hooks/README.md 提供 ECC 文档化的钩子生命周期和退出码行为。
- token-optimization.md 提供成本和上下文管理设置。
- issue #644 提供原始报告和测试环境。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC