CCM — Claude Code 管理器
一个纯 Bash 编写的 Claude Code 命令行管理器:多账号切换、会话清理、环境快照、用量统计与健康检查,一应俱全。
SKILL.md 明确披露凭据处理方式、隔离模式的局限(不隔离凭据)、快照不含凭据、dry-run 预览、undo/recover 恢复路径,README 声明 umask 077、无 eval、输入校验等安全实践,属风险可见的负责任披露。扣分项:allowed-tools 授予宽泛的 Bash(ccm *) 以及 curl | bash 远程脚本安装(供应链信任完全依赖远端 main 分支);账户凭据重写类操作虽有 undo 但确认机制未在技能文档层面强制。
文档自洽、命令表完整、依赖仅需 bash+jq、有 dry-run 与 undo 等失败恢复手段,且仓库含 bats 测试的 CI 工作流。扣分项:静态审阅未执行任何命令,测试文件本身未在证据中呈现,无法验证关键路径;SKILL.md 内部存在小的不一致(同一 doctor 命令一处写 14 checks、一处写 13 checks);异常输入下的失败反馈质量未验证。
目标场景(多账户切换、会话清理、用量统计)清晰,明确披露 macOS/Linux 差异及 Linux 上进程检测不可靠等边界。扣分项:description 塞入数十个触发关键词,属于触发词堆砌,语义误触发风险偏高;对中文用户无中文支持说明;核心安装依赖 GitHub raw 可达性,中国大陆网络环境可能受阻但未披露。
MIT 许可、版本化(4.2.2)、npm provenance 签名、tag-版本一致性校验的发布流程、Homebrew/npm/手动多渠道安装、详尽 README 与故障排查章节,分层良好。扣分项:证据中未见 CHANGELOG 或明确的维护责任/更新路径承诺;卸载说明要求手工删除数据目录。
解决的痛点(多账户、磁盘膨胀、权限规则审计)有上游 issue 支撑,命令覆盖完整,边际价值相对手动操作明确。扣分项:静态审阅无法验证实际输出正确性与可用性;成本收益主要来自作者自述与对比表,缺独立验证。
有真实 CI(release.yml 带版本校验、test.yml 双平台 bats),主张多可追溯至具体上游 issue,事实与推断区分良好。扣分项:测试用例内容未在证据中呈现,关键路径复现依赖执行,静态审阅只能确认证据结构而非结论本身。
- 安装依赖 curl | bash 拉取远端 main 分支脚本,建议先审阅 install.sh 再执行;中国大陆网络可能无法访问 GitHub raw。
- 技能涉及凭据读写与进程清理等高风险操作;isolated 模式不隔离凭据(上游限制),并发会话可能共享同一令牌并互相失效。
- description 触发词过多,可能在不相关场景被误调用;doctor 检查项数量在文档中前后不一致,使用时以实际输出为准。
- 静态审阅未执行任何命令,实际行为与失败反馈质量未经独立验证;发布者身份未经 FollowSkills 认证。
这个 Skill 能做什么,适合哪些场景?
CCM(Claude Code Manager)是针对 Claude Code 的命令行工具箱,用单个 Bash 脚本实现,仅依赖 bash 4.4+ 和 jq,支持 macOS、Linux 和 WSL。它解决 Claude Code 的几个长期痛点:无原生多账号支持、~/.claude 目录可悄悄膨胀到 500GB、settings. 里堆积失效的权限规则。核心能力包括账号管理与自动切换(cd 进绑定目录即切换)、孤立会话与进程清理、14 项健康检查、按账号/项目/会话的 token 用量统计,以及可独立安装的智能状态栏。安装后 Claude Code 会通过 SKILL.md 学会调用所有 ccm 命令和典型工作流。
安装一个位于 ~/.ccm/bin/ccm 的 Bash CLI。它能:添加、切换、别名和重排多个 Claude Code 账号(macOS 凭据存 Keychain,Linux/WSL 存于 ~/.claude-switch-backup/,写入时 umask 077);输出 shell hook,在 cd 到绑定项目目录时自动切换账号或按终端设置 CLAUDE_CONFIG_DIR;列出、搜索、归档、迁移和清理会话;创建/恢复环境快照(settings. + MCP 配置 + CLAUDE.md,不含凭据);从会话 JSONL 文件统计按账号、项目、会话的 token 用量与估算成本;执行 doctor 14 项检查和 clean 系列清理(debug 日志、telemetry、tmp、孤立进程、缓存);审计 settings. 中的重复/矛盾权限规则;按项目类型生成 .claudeignore;监控速率限制并在达到阈值时自动切换账号;显示 Codex CLI 的速率与用量(只读)。SKILL.md 让 AI 代理知道何时调用这些命令。
- 同时持有工作和个人 Claude 账号的开发者,希望 cd 进不同项目目录时自动使用对应账号
- 重度用户的 ~/.claude 和 tmp 目录膨胀到数十 GB,需要 doctor 检查和 clean 系列安全清理
- 想按账号、项目、会话维度追踪 token 消耗和成本的用户(ccm usage history/dashboard/sessions)
- 需要修改 Claude Code 配置前先打快照、出问题再回滚的实验型用户
- 多终端并行使用 Claude Code 的用户,希望每个终端有独立的配置和会话历史(--isolated profiles)
- 接近速率限制时希望收到提醒甚至自动切换到备用账号的 Pro/Max 用户(ccm watch)
这个 Skill 有哪些优点和局限?
- 唯一支持 cd 自动切换账号、速率限制自动切换账号和按账号用量对比的工具(README 对比表)
- 零运行时依赖:单个 Bash 脚本,仅需 bash 4.4+ 和 jq,无需 Node/Python
- 安全设计认真:无 eval、umask 077 原子写入、输入校验、macOS Keychain 存储
- 覆盖面广:账号、会话、快照、用量、健康检查、权限审计、.claudeignore、状态栏
- 对应 anthropics/claude-code 仓库多个高票 issue(多账号、会话清理、用量追踪等)
- 凭据无法按终端隔离:--isolated 只隔离配置和会话历史,凭据仍共享,一个终端刷新 token 可能使另一个失效(上游限制 anthropics/claude-code#70697/#47661)
- 孤立进程清理仅支持 macOS(Linux 上 ppid=1 不可靠)
- 切换账号后必须重启 Claude Code 才生效
- 环境快照不包含凭据,无法用于完整凭据备份
- README 自述为个人周末项目,未提及测试套件;与 Anthropic 无官方关联,凭据操作需自担风险
- README 中 doctor 检查项数量表述不一致(14 与 13 混用)
如何安装这个 Skill?
1) 安装 CLI:curl -fsSL https://raw.githubusercontent.com/dr5hn/ccm/main/install.sh | bash(也可 brew install ccm 或 npm i -g @dr5hn/ccm),然后重启终端或 source ~/.zshrc。2) 安装为 Agent Skill(供 Claude Code 等 AI 代理使用):npx skills add dr5hn/ccm@ccm,Skill 文件位于仓库的 ccm/SKILL.md。3) 首次配置:运行 ccm setup 进入向导。前提:Bash 4.4+ 和 jq(brew install jq 或 sudo apt install jq)。
如何使用这个 Skill?
安装后直接在终端使用,例如:ccm add 添加当前账号并用 ccm alias 1 work 命名;ccm switch work 切换账号(切换后需重启 Claude Code);ccm bind ~/work/project work 将目录绑定到账号,配合 eval "$(ccm hook)" 或 eval "$(ccm hook --isolated)" 实现 cd 自动切换;ccm doctor / ccm doctor --fix 做健康检查与安全修复;ccm session search "关键词" 全文搜索历史会话;ccm usage history --days 30 查看用量;ccm statusline 安装状态栏(使用 ccm watch 前建议先装)。安装了 Skill 后,也可以直接对 AI 代理说"帮我清理 Claude Code 磁盘占用"或"切换到 work 账号"来触发相应命令。
这个 Skill 与同类方案有什么区别?
README 将 CCM 与 Cloak、aisw、Usage Monitor 及 Claude Code 原生功能逐项对比:CCM 是唯一同时具备按终端配置隔离、自动速率限制切换、按账号用量追踪、权限审计和环境快照的工具,且唯一零运行时依赖;Cloak/aisw 支持多账号和隔离但不支持自动切换和用量追踪;Usage Monitor 只做用量。CCM 官方生态页还推荐与 ccusage(深度 token 分析)、ccstatusline(主题化状态栏)、ccmanager(多代理会话编排)搭配使用。