Clavue / Claude Code / Codex 的本地配置 CLI。一条命令搞定 API、Profile、权限、MCP、状态栏、版本管理。
npm install -g ccjk升级:npm install -g ccjk@latest
| 场景 | 命令 |
|---|---|
| 第一次配 API key | ccjk init |
| 装机后想一键配置好 | ccjk workflow run starter |
| 写代码 / 闲聊切换思考强度 | ccjk mode use code / ccjk mode use chat |
| 多个 API key 之间切换(GLM/Kimi/Anthropic/...) | ccjk use |
| 不想每次都点确认权限 | ccjk perms standard |
| 看不到当前模型/用量 | ccjk statusline-install |
| settings.json 出问题 | ccjk doctor --fix |
| 装 MCP 服务(context7、serena、playwright...) | ccjk mcp |
| 看哪个工具该升级了 | ccjk tools --check-updates |
| 写入出错想还原 | ccjk rollback |
| 跨机器迁移配置 | ccjk profile export / import |
| 不想记命令 | ccjk(交互菜单) |
| 想一眼看全配置状态 | ccjk status |
| 命令 | 用途 |
|---|---|
ccjk workflow ls |
列出可用工作流(starter / team-import / reset-soft / dev-ready) |
ccjk workflow run [id] |
跑工作流:按顺序执行多个 ccjk 命令(每步单独确认) |
ccjk mode ls |
列出可用对话模式(code / chat / fast / deep) |
ccjk mode use [name] |
切换对话模式:thinking / effort 一键档位(同步 Claude+Codex) |
ccjk mode show [name] |
查看模式详情(不带参=当前) |
ccjk mode add [name] |
新建自定义模式(基于内置模式复制+改) |
| 命令 | 用途 |
|---|---|
ccjk init |
配 API:写 ~/.claude/settings.json 的 env,并自动保存为 profile |
ccjk use [name] |
一键切换 profile(不带参=交互选) |
ccjk profile ls / show / rm |
profile 列表 / 详情 / 删除 |
ccjk profile copy <from> <to> |
基于现有 profile 复制(可选改 apiKey/baseUrl/model) |
ccjk profile rename <old> <new> |
重命名 profile |
ccjk profile export |
导出 profile 为 JSON 包(迁移 / 团队共享) |
ccjk profile import <file> |
从 JSON 包导入 profile |
| 命令 | 用途 |
|---|---|
ccjk perms [tier] |
一键设权限档位(safe / standard / yolo),同步 3 个工具 |
ccjk perms-show |
查看三个工具当前的权限状态 |
| 命令 | 用途 |
|---|---|
ccjk mcp |
选装预设 MCP 服务(交互勾选) |
ccjk mcp-ls |
列出已安装的 MCP |
ccjk mcp-add <name> |
添加自定义 MCP 服务 |
ccjk mcp-rm [name] |
卸载 MCP 服务 |
| 命令 | 用途 |
|---|---|
ccjk statusline-install |
安装状态栏,显示模型 / 目录 / context 用量 / 今日调用 / 速率 |
ccjk statusline-uninstall |
卸载状态栏 |
| 命令 | 用途 |
|---|---|
ccjk doctor |
检查 settings.json 的常见配置问题 |
ccjk doctor --fix |
自动修可修的问题(修改前备份) |
ccjk rollback |
从备份还原 settings.json / config.toml |
| 命令 | 用途 |
|---|---|
ccjk tools |
查看 Clavue / Claude Code / Codex 本地版本 |
ccjk tools --check-updates |
加查 npm latest,标记 outdated |
ccjk install [tool] |
安装代码工具(--all 装全部缺失的) |
ccjk update [tool] |
升级代码工具到最新版(--all 全部 outdated) |
| 命令 | 用途 |
|---|---|
ccjk |
交互菜单(默认) |
ccjk status |
一眼看全:profile / perms / mode / 工具版本 / MCP / 工作流 |
ccjk completion <shell> |
生成 bash/zsh/fish 补全脚本 |
ccjk detect |
列出已安装的代码工具 |
ccjk git-install |
安装 /ccjk:git-commit 等 slash 命令模板 |
把多个 ccjk 命令串起来一键跑,省去你按顺序敲。每步都会单独问你"执行 / 跳过 / 中止",不会偷偷做事。
| 工作流 | 步骤 |
|---|---|
starter |
配 API → perms standard → statusline-install → 装常用 MCP(可选) |
team-import |
导入 profile 包 → 切到该 profile → perms standard → doctor --fix |
reset-soft |
卸 statusline → 切到 perms safe |
dev-ready |
切 code 对话模式 → perms standard → 装 git slash 命令 → doctor --fix |
ccjk workflow # 列出全部
ccjk workflow run starter # 直接跑 starter
ccjk workflow run # 交互选工作流定义存在代码里,未来会支持 ~/.ccjk/workflows/<id>.json 加载用户自定义(数据结构已就位)。
把 Claude/Clavue 的 thinking 设置和 Codex 的 model_reasoning_effort 抽象成一个统一档位,一键同步两个工具。
| 模式 | Claude thinking | Codex effort | 适用 |
|---|---|---|---|
code |
on, budget 16k | high | 写代码、调 bug、重构 |
chat |
off | medium | 答疑、解释概念、随便聊 |
fast |
off | low | 简单查询、小修改、想立刻拿到结果 |
deep |
on, budget 32k | high | 架构设计、复杂 debug、多角度推理 |
ccjk mode ls # 列出全部模式(标记当前)
ccjk mode use code # 切到 code 模式(同步 Claude + Codex)
ccjk mode show # 看当前模式详情
ccjk mode add fast2 --base fast --thinking off --effort low # 自定义模式写到工具的原生字段(thinking、model_reasoning_effort),卸载 ccjk 后配置依然有效。需要重启 Claude Code / Codex 才能生效。
自定义模式存在 ~/.ccjk/modes/<id>.json,可手动编辑。同名时覆盖内置。
ccjk init 配完 API 默认会问"保存为 profile?"。之后 ccjk use 可以在多个 profile 之间一键切换:
ccjk init -t clavue -p glm --api-key sk-xxx --profile work -y
ccjk init -t clavue -p kimi --api-key sk-yyy --profile free -y
ccjk use # 交互选 work / free
ccjk use free # 直接切到 free
ccjk profile ls # 看当前用的是哪个切换后需重启 Claude Code 才能生效(settings.json 是启动时读的)。
Profile 存储在 ~/.ccjk/profiles/<name>.json,当前激活的记录在 ~/.ccjk/state.json。
ccjk profile export # 交互勾选
ccjk profile export -n work free -o team.json -y # 直接导出 work + free
ccjk profile export --redact -o template.json -y # 抹去 API key("模板")
# 在另一台机器
ccjk profile import team.json # 同名时交互问跳过/覆盖/重命名
ccjk profile import team.json --conflict skip -y # 全部 skip 已有的包是简单 JSON(schema=1),可以手动编辑。带 key 的包等同于凭证文件,请妥善保管或用 --redact 导出无 key 模板再单独传 key。
一条命令把 Clavue / Claude Code / Codex 的权限同步到同一档位,减少每次操作都要点确认的烦躁。
| 档位 | 适合 | Claude / Clavue | Codex |
|---|---|---|---|
safe |
浏览代码、新手 | 仅放行只读(Read/Grep/...) | approval_policy=untrusted, sandbox_mode=read-only |
standard(推荐) |
日常开发 | + git/npm/pnpm/python/ls/cat 等高频命令 | approval_policy=on-failure, sandbox_mode=workspace-write |
yolo |
可信项目放飞 | Bash(*) + allowUnsandboxedCommands=true |
approval_policy=never, sandbox_mode=workspace-write |
不论哪一档,都强制写入 deny:rm -rf /、git push --force、npm publish、sudo 等不可逆 / 高危命令。
ccjk perms # 交互选档位(推荐)
ccjk perms standard # 直接应用 standard 到全部 3 个工具
ccjk perms safe --tools clavue,claude-code # 只作用于这两个
ccjk perms yolo --reset # --reset 会清空原 allow 后再写
ccjk perms-show # 看三个工具当前各是哪档合并策略:
allow:默认 append + dedupe,保护用户自定义白名单。--reset强制覆盖。deny:始终覆盖,确保危险命令一定被拦。
显示模型、当前目录、context 用量、今日 API 调用次数、tokens 速率。
ccjk statusline-install # 写入 settings.statusLine(重启 Claude Code 生效)
ccjk statusline-uninstall # 卸载效果(一行):
Sonnet 4.5 1M │ 📁 ccjk │ ⚡ 4.5% 45.0k │ 12 calls · 1.5k tok/m
字段含义:
Sonnet 4.5 1M— 模型名 + context window 大小(1M / 200k)📁 ccjk— 当前工作目录的 basename(home 显示为~)⚡ 4.5% 45.0k— context 已用百分比 + 当前 token 数12 calls— 今日总 API 调用数(聚合所有 transcripts)1.5k tok/m或80 tok/s— 今日产出速率(output tokens / 活跃秒数)
实现:扫 ~/.claude/projects/*/*.jsonl 当天 mtime 文件,读 message.usage 聚合。错误一律 swallow,不会让 Claude Code UI 报红。
ccjk doctor # 列出问题,标记哪些可自动修
ccjk doctor --fix # 自动修可修的(修改前备份)
ccjk doctor --fix -y # 跳过确认| 规则 | 严重度 | 自动修 | 说明 |
|---|---|---|---|
model-overrides-env |
error | ✓ | 顶层 settings.model 会覆盖 env.ANTHROPIC_MODEL |
duplicate-auth |
warn | ✓ | 同时存在 API_KEY 和 AUTH_TOKEN(保留 AUTH_TOKEN,删 API_KEY) |
missing-credentials |
error | ✗ | 设了 BASE_URL 但缺凭证 → 跑 ccjk init |
invalid-base-url |
error | ✗ | URL 格式不合法 → 跑 ccjk init |
hook-bloat |
warn | ✗ | 单个 hook 注册超过 5 个处理器(人工审查) |
每次 init / mcp / perms / doctor --fix / mcp-add/rm / statusline-install 写入前都会自动备份到 <file>.bak-<ISO时间戳>。
ccjk rollback # 列所有备份,按时间倒序
ccjk rollback -t clavue # 只看一个工具的备份还原前会再备份一份当前状态,所以还原本身也可还原。
三个开发工具的本地版本、npm 最新版、安装、升级——都在 ccjk 里。
ccjk tools # 看本地版本
ccjk tools --check-updates # 加查 npm latest
ccjk install # 交互选要装的工具
ccjk install codex # 直接装 Codex
ccjk install --all # 装全部缺失的
ccjk update # 交互选 outdated 的工具
ccjk update claude-code # 直接升级 Claude Code
ccjk update --all # 升级所有 outdated
ccjk update --dry-run # 只显示命令不执行输出示例:
Clavue 8.9.2 (latest)
Claude Code 2.1.138 (latest)
Codex 0.128.0 → 0.130.0 可升级
实现是 npm install -g <pkg> / npm install -g <pkg>@<latest>,命令完整列出后等用户确认。npm 因权限失败时会输出建议的 sudo 命令让用户自己跑,不假装成功。
适合脚本 / CI / 装机:
ccjk init -t clavue -p glm --api-key sk-xxx --profile work -y
ccjk perms standard -y
ccjk mcp -s context7 serena -y
ccjk mcp-add my-server --command npx --args "-y @scope/pkg" -y
ccjk doctor --fix -y
ccjk statusline-install -y
ccjk update --all -y
ccjk git-install --scope user -y| 工具 | 配置目标 | 范围 |
|---|---|---|
| Clavue | ~/.claude/settings.json |
API / Profile / Perms / MCP / Statusline / Doctor / Rollback |
| Claude Code | ~/.claude/settings.json |
API / Profile / Perms / MCP / Statusline / Doctor / Rollback |
| Codex | ~/.codex/config.toml |
Perms / Detect / Install / Update(API 配置请直接编辑 config.toml) |
glm / kimi / minimax / anthropic / custom
- 配置工具就是配置工具。不做 brain、orchestrator、sandbox、dashboard 这类东西。
- 不主动写代码。不写
~/.claude/CLAUDE.md,不装 hooks,不开后台进程。 - 可还原。所有写入前都备份;
ccjk rollback能找回任何旧版本。 - 可重复。所有交互式命令都有非交互参数(
-y、--profile、--tools、--services...),适合脚本。 - 不偷跑命令。
install/update会显示完整命令并等用户确认。
v15 是从零重写的精简版本,命令集和行为都和 v14.x 不兼容:
- v14 的子命令(brain/sandbox/teleport/cloud-sync 等)在 v15 不存在。
- v14 在
~/.claude/CLAUDE.md注入的 "Smart Assistant Mode" 在 v15 不会再写入。如需手动清理旧版残留,删除该文件中相关段落即可。 - 如果你只用 v14 的 init/mcp/doctor/git 等核心功能,直接
npm install -g ccjk@latest升级即可。 - 需要 v14 的扩展能力,请固定旧版本:
npm install -g ccjk@14。
pnpm install
pnpm typecheck # TypeScript 检查
pnpm test # 跑全部测试(>150 测试)
pnpm lint # ESLint
pnpm build # tsc 出 dist/CI 在每次 PR / push 到 main 时自动跑(Node 20 + 22 矩阵)。
ccjk completion bash > /usr/local/etc/bash_completion.d/ccjk
ccjk completion zsh > "${fpath[1]}/_ccjk" # 然后 compinit
ccjk completion fish > ~/.config/fish/completions/ccjk.fish