Claude(MiniClaude)折腾结论文档
结论版本:2026-08-02 一句话总结:用
MiniClaude(精简、去遥测、兼容官方~/.claude结构、能被 cc-switch 接管)替代官方 Claude Code,SSD 只放最终成品,编译走内存盘,可复用缓存留 SSD。
一、为什么是 MiniClaude(结论)
| 对比 | 结论 |
|---|---|
| 官方 anthropic claude-code | 闭源、臃肿、有遥测。已 sudo npm rm -g @anthropic-ai/claude-code 卸载。 |
| CCB / claude-code-best | 最全(21.7k⭐)但是"加法"、重。不符合"减法/精简"诉求。 |
| MiniClaude (txl16095) | ✅ 精简、去遥测/去云、符合"减法"、命令 claude 不覆盖系统命令、兼容官方 ~/.claude 目录结构 → cc-switch 可接管。 |
| 注意 | npm 包名 miniclaude 已被别的 Python 项目占,不能 npm i -g;只能源码构建。 |
最终选择:MiniClaude。
二、前置环境(已确认)
| 工具 | 版本 | 位置 | 来源 |
|---|---|---|---|
| Node | v26.5.0 | — | — |
| npm | 11.17.0 | — | — |
| bun | 1.3.14 | /usr/local/bin/bun | sudo npm i -g bun(官方 curl 慢/易断,改用 npm) |
| pnpm | 11.18.0(最新) | /usr/local/bin/pnpm | 系统已有,升级到最新 |
| git | — | — | — |
| ripgrep | ❌ 未装 | sudo apt install ripgrep(可选) | — |
- bun 需 >=1.3.11(MiniClaude 要求),已满足。
- bun 自带包管理,生成
bun.lock,不走 npm/pnpm(它们只用于装 bun/pnpm 本身)。
三、构建策略:SSD 寿命敏感者的核心原则
核心原则:可复用/持久缓存 → SSD;一次性构建垃圾 → 内存盘;SSD 只留最终成品。
| 内容 | 位置 | 介质 | 性质 |
|---|---|---|---|
| bun 安装缓存 | ~/.bun/install/cache | SSD | 可复用缓存,保留 |
| npm 缓存 | ~/.npm (~12G) | SDD | 可复用缓存,保留 |
| 源码 + node_modules | /tmp/minicl | 内存盘(tmpfs) | 一次性,重启清除,0SSD写 |
| 编译临时 | TMPDIR=/tmp、BUN_INSTALL_CACHE_DIR=/tmp | 内存盘 | 0SSD写 |
| 最终成品 | ~/.local/bin/claude (176M) | SDD | SSD 只放这一个结果 |
注:
/tmp已是 tmpfs(7.5G、内存盘),天然满足"编译放内存盘"。
构建步骤(已在 /tmp 完成)
bash
cd /tmp
git clone --depth 1 https://github.com/txl16095/MiniClaude.git minicl
cd /tmp/minicl
export TMPDIR=/tmp
export BUN_INSTALL_CACHE_DIR=/tmp # 临时写 RAM
bun install # 330 packages
bun run build --compile # 产物 ./dist/cli (内含所有依赖, --packages bundle)
# 落 SSD 成品
mkdir -p ~/.local/bin
cp dist/cli ~/.local/bin/claude
chmod +x ~/.local/bin/claude
claude --version # -> 1.0.0 (Claude Code)- 用
--compile产出字节码、单文件、自包含 176M。 bin名:miniclaude与mclaude,最终只保留claude。
命令命名:
claude(符合官方习惯)。放大查看dist/cli在/tmp内存盘,源码可开平保存**claude, 同时miniclaude已删。
SSD 清理清单(已做)
已删:~/.bun(官方脚本残留)、/tmp/bun-linux-x64.zip、/tmp/ccb、/tmp/minic、/tmp/minicl(构建完源码)、~/.local/bin/miniclaude 副本。 未动:~/.bun/install/cache、~/.npm、/home/a1/tools/*(原有工具)。
四、Claude 的"那套配置和数据"长什么样
目录位置(源码 src/utils/envUtils.ts:7)
- 配置根:
~/.claude/,可用环境变量CLAUDE_CONFIG_DIR改向(便于指向共享盘)。 - 另有顶级私有文件
~/.claude.json(machineID/userID/migration 骨架)。
settings.json 家族(按优先级)
| 文件 | 位置 | 作用 |
|---|---|---|
| settings.json(用户级) | ~/.claude/settings.json | 主配置 |
| settings.local.json(项目级) | <项目>/.claude/settings.local.json | 本地覆盖 |
| settings.json(项目级) | <项目>/.claude/settings.json | 项目级 |
| managed-settings.json | 政策/远程 | 强制策略 |
settings.json 关键字段(接上游/cc-switch 用)
json
{
"env": {
"ANTHROPIC_BASE_URL": "http://127.0.0.1:15721",
"ANTHROPIC_AUTH_TOKEN": "PROXY_MANAGED",
"ANTHROPIC_MODEL": "deepseek-v4-pro[1m]",
"API_TIMEOUT_MS": "3000000",
"DISABLE_TELEMETRY": "1",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
},
"model": "deepseek-v4-pro[1m]",
"defaultModels": { "sonnet": "deepseek-v4-flash", "haiku": "deepseek-v4-flash", "opus": "deepseek-v4-pro[1m]" },
"permissions": { "defaultMode": "default" },
"mcpServers": { "chrome-devtools": { "command": "npx", "args": ["-y", "chrome-devtools-mcp@latest"] } },
"language": "zh", "theme": "dark"
}env中的ANTHROPIC_BASE_URL/AUTH_TOKEN/MODEL是接 cc-switch 网关的关键。- MiniClaude 扩展了
providers多 Provider 热切换(deepseek/kiro)。 - 官方 schema:
https://json.schemastore.org/claude-code-settings.json
会话数据(cc-switch 接管源)
- 每次对话写入
~/.claude/projects/<项目编码>/<sessionId>.jsonl(源码sessionStorage.ts:199,204)。
五、现状
- 本机
~/.claude/:空壳(无 settings.json、无 projects/)。曾装官方 CC, 已卸载留下的骨架。 - 共享盘
/mnt/box_share/.claude:完整、真实、可用 —— 连http://127.0.0.1:15721网关, tokenPROXY_MANAGED, 205 个历史会话(projects//.jsonl), settings.local.json(9.7KB), skills/plugins/teams/sessions 全齐,CLAUDE.md存在。
六、待拍板(下一步)
让 MiniClaude 用哪套配置目录:
- 方案 A(推荐·零垃圾):
export CLAUDE_CONFIG_DIR=/mnt/box_share/.claude,直接复用共享盘配置 + 205 会话。本机不再建.claude,不占 SSD。 - 方案 B(本机独立):用默认
~/.claude(把共享盘 settings.json 拷过来配 endpoint),会在 SSD 复制一份。
⚠️
CLAUDE.md与官方 Claude 的全局指令文件不同,此处是共享盘里的说明文件。
七、复盘:这次折腾踩的坑
- 一开始误把源码装在
/home/a1/tools/miniclaude(SSD)编译 → 违反"垃圾不入 SSD"。 - 想用
npm i -g一键装 MiniClaude → 不存在,只能源码构建(npm 包名被 python 项目占用)。 - ripgrep 未装导致源码内搜索工具(mcp)失败 → 改用
grep -rl。 - 成品复制后曾短暂"消失"(目录里出现过),最终确认在
~/.local/bin/claude正常可用。
八、下一步建议(待你确认)
- 定配置目录方案(A 或 B)。
- 写
CLAUDE_CONFIG_DIR到 shell 配置(~/.bashrc)若选 A。 claude实战对话,确认被 cc-switch 正常接管、会话写入指定 projects。