Skip to main content
CC Safety Net 可以在 Claude Code 状态行中显示一行状态指示器。无需运行诊断命令,你就能看到保护是否生效,以及当前的安全级别。 状态行仅适用于 Claude Code。它从 ~/.claude/settings.json(或 $CLAUDE_SETTINGS_PATH)读取 enabledPlugins["cc-safety-net@cc-marketplace"] 条目,以确定 Claude Code 插件是否启用。如果你为其他智能体安装了 CC Safety Net,或将它安装为手动 Claude Code hook 而不是 marketplace 插件,则此指示器与你无关。

配置状态行

在 ~/.claude/settings.json 中添加 statusLine 条目。选择适合你环境的运行器:

状态行指示器

输出恰好是一行,形状如下:
Claude Code 插件处于禁用状态时,整行会折叠为单个指示器:

级别指示器

状态行只显示一个级别表情符号。它报告 policy.json 与环境变量组合后的生效安全级别,不是某个环境变量的值。 custom 指示器在两种情况下出现:启用的能力不匹配任何预设(例如,在默认级别上设置 CC_SAFETY_NET_PARANOID=1,这会启用两项 paranoid 能力,但不会启用 fail_closed);或者 destructive_command_protection.overrides 中的单项规则条目让某条破坏性命令规则偏离了其安全级别本应赋予的状态。 各级别阻止哪些内容见模式;产生生效级别的优先级规则见环境。

worktree、项目策略和 degraded 指示器

它们按以下顺序附加在级别表情符号之后: 🔻 标记不指明是哪个字段。运行 npx cc-safety-net status 查看 Project policy 区块,其中每个被削弱的字段占一行,例如 project policy lowers level: strict -> standard 或 project policy disables rule <id>。npx cc-safety-net doctor 会在 Project policy deltas: 下打印同样的行。项目策略能设置哪些内容见策略。 ⚠️ 标记是配置处于 degraded 状态的唯一被动信号。它不说明哪个来源失败。运行 npx cc-safety-net status 查看诊断,或运行 npx cc-safety-net doctor 获取完整报告。请参阅配置恢复,了解 ready 和 degraded 的含义及各自的修复方法。

插件禁用指示器

这与 status 在 Not active 下报告的第一项是同一条件。判定仍是 ready 或 degraded,因为禁用插件只影响 Claude Code 集成。statusline 会先检查此条件。插件禁用时,整行只显示 ❌,不再显示级别、worktree、项目策略或 degraded 指示器。
❌ 状态专门表示 Claude Code marketplace 插件已禁用。如果你将 CC Safety Net 作为手动 Claude Code hook(而不是 marketplace 插件)运行,或将它用于其他智能体,即使保护已启用,状态行也可能显示 ❌。它只反映 ~/.claude/settings.json 中的 enabledPlugins 条目。

状态行与 status 命令的区别

这两个命令都会加载策略快照和已解析的环境,只是以不同的格式显示配置状态。status 打印一份多行终端报告,其中包含一个判定,以及每个问题一条诊断。状态行只打印一行表情符号指示器,不含诊断信息。 需要查看原因时用 status。只需要常驻标记时用状态行。status 和 statusline 的完整语法、输出和退出行为见 CLI 命令。
对 ~/.claude/settings.json 的更改立即生效,无需重新启动 Claude Code。statusline 命令接受 -cc 作为 --claude-code 的短别名。
把另一个命令通过管道接入 statusline 时,它的输出会作为前缀,整行形如 <piped output> | 🛡️ CC Safety Net …。通过 stdin 传入的 JSON 会被丢弃而不是回显,因为 Claude Code 会把自己的状态 payload 用管道送入该命令。
最后修改于 2026年9月17日