用途:审计 Claude Code 的设置与环境变量,对照最新官方文档,给出针对用户实际配置的定制化修改建议,并应用用户选中的项。每条建议都需绑定一条明确的用户事实,而非通用建议。
主要能力与流程:
- 获取基准文档:用 curl -sfL 抓取三份原始 markdown:settings.md、settings-reference.md、env-vars.md,保存到 scratchpad(无则用 /tmp)。-f 确保缺失页面直接失败而非静默保存 404。这三份文件是唯一可接受的扫描来源。settings-reference.md 的 Settings 索引表列出每个键及用途、主题、范围,每个键下方有对应条目;env-vars.md 在 Variables 下逐行列出变量。需 grep 完整列表,并完整读取用户所设每个键的条目(含默认值、弃用、优先级),settings.md 全文用于范围与优先级规则。
- 收集用户真实配置:读取 ~/.claude/settings.json、.claude/settings.json、.claude/settings.local.json,以及操作系统托管设置文件(若存在);若 dotfiles 仓库为真源,需读取仓库副本并 git diff。同时读取 ~/.claude/CLAUDE.md、项目 CLAUDE.md、rules 文件与 auto-memory,以获取工作流信号(插件、hooks、shell 别名、权限风格、模型选择、终端、后台智能体习惯)。
- 交叉比对两轮:验证(用户设置→文档),检查每个键是否存在、是否为旧别名、默认值或语义是否变化;发现(文档→未设置),遍历每个已记录键与变量,仅当有具体用户事实支持时才保留候选并注明该事实。
- 报告:先按影响排序列出当前配置问题,再按安全、工作流、小点子分组建议,最后列出“不要动”的项。每项包含键名、一句话说明、相关用户事实。
- 应用:用 AskUserQuestion 多选让用户挑选,先单独提交设置文件中已有的未提交改动;应用后用 python3 -m json.tool 验证(无效 JSON 会导致 Claude Code 跳过整个文件),并说明何时生效。
限制与注意事项:WebFetch 经小模型摘要,长页面会截断或编造键名,应以 curl 抓取的原始 .md 为准。未记录不等于失效,键可能在其他文档页,先 grep 三份文件再查 llms.txt。已安装 CLI 二进制为最终裁决:strings -a "$(which claude)" | grep -o -E '.{300}<name>.{300}',零命中为失效,命中则读取周围压缩代码判断实际行为后再提议修改。$schema 行可提供编辑器校验,但发布 schema 滞后于新版本。文档更新快,每次应重新抓取,不可复用旧结果。