【免费下载链接】claude-code-devcontainer
Sandboxed devcontainer for running Claude Code in bypass mode safely. Built for security audits and untrusted code review.
claude-code-devcontainer是 Trail of Bits 打造的沙箱化 devcontainer,专为安全地在bypassPermissions模式下运行 Claude Code 而设计,常用于安全审计和不可信代码审查。它的 CLI 工具devc内置了sync子命令,可一键把容器内产生的 Claude Code 会话同步到宿主机,让/insights命令完整分析你的所有工作记录。本文带你从环境安装到devc sync全用法,一步步跑通整个流程。
为什么 /insights 看不见容器里的会话?
先理解痛点,才知道devc sync解决了什么。
Claude Code 的/insights命令会分析你的会话历史,但它只读取宿主机的~/.claude/projects/目录。而在 claude-code-devcontainer 中:
- 容器通过
CLAUDE_CONFIG_DIR环境变量把 Claude 的配置(含会话记录)指向/home/vscode/.claude,配置见 devcontainer.json; - 这个目录被挂载为独立 volume(
devc-<项目名>-config-<容器ID>),容器重建也不会丢失,见 devcontainer.json 的mounts配置; - 会话
.jsonl文件全部落在容器 volume 里,宿主机上的/insights完全看不到它们。
结果就是:你在多个项目容器里做了大量审计工作,/insights却只分析到宿主机上零星的会话。
💡devc sync就是为打通这道"墙"而生的:它把各容器里的会话日志拷贝到宿主机~/.claude/projects/,让/insights一次看全。
快速上手:3 步装好 devc 并启动容器
使用devc sync前,需要先按下面步骤准备好环境和至少一个 devcontainer。
前置条件
- Docker 运行时(Docker Desktop、OrbStack 或 Colima 任选其一)
- devcontainer CLI:
npm install -g @devcontainers/cli安装 devc 命令行
git clone https://gitcode.com/gh_mirrors/cl/claude-code-devcontainer ~/.claude-devcontainer ~/.claude-devcontainer/install.sh self-installself-install会把devc命令软链到~/.local/bin,确保该目录在 PATH 中。
启动项目容器
在目标项目目录中一条命令完成模板安装 + 容器启动:
devc .进入容器和 Claude Code 干活:
devc shell # 打开容器内 shell📌 完整的两种使用模式(按项目隔离 / 共享工作区)说明,见 README.md 的 Quick Start 章节。
devc sync 实战:4 个例子覆盖全部用法
示例 1:同步所有容器的会话
devc sync执行时会先列出所有被发现的 devcontainer(运行中和已停止的都算),然后逐个拷贝会话:
[devc] Discovered devcontainers: - my-project (running) /home/user/my-project - crypto-audit (exited) /home/user/crypto-audit [devc] === my-project (running) === Host path: /home/user/my-project Container: 3f8a2c91d4be Sessions: 12 Synced 12 file(s) -> -devcontainer-my-project Total: 12 file(s) synced. [devc] Run '/insights' in Claude Code to include these sessions.示例 2:按项目名同步指定容器
项目多了以后,只想同步某一个?直接传项目名做子串匹配:
devc sync crypto只要容器对应的项目目录名包含crypto,就会被同步;不匹配的其他容器全部跳过。匹配失败时,命令会列出所有可用容器供你参考。
示例 3:跳过确认提示(--trusted)
默认情况下,devc sync会弹出一个安全确认,因为它把容器内文件拷贝到你的宿主机文件系统:
[devc] This copies files from devcontainers to your host filesystem. [devc] Only proceed if you trust the container contents. Continue? [y/N]确认输入y即继续。如果你确定信任这些容器,可以加--trusted直接跳过:
devc sync --trusted devc sync crypto --trusted这个确认逻辑在 install.sh 中实现,是刻意的安全设计,后面会展开讲。
示例 4:同步后在 /insights 中查看
同步完成后,回到宿主机的 Claude Code 里直接运行:
/insights此时它会读取~/.claude/projects/下的全部会话——包括刚从容器同步过来的那些。
devc sync 的三大设计亮点:它是如何工作的?
了解原理能帮你更好地排障。核心实现位于 install.sh 的cmd_sync和 install.sh 的sync_one_container。
| 设计点 | 实现方式 | 好处 |
|---|---|---|
| 自动发现容器 | 通过 Docker 标签devcontainer.local_folder过滤docker ps -a,见 install.sh | 无需记容器名/ID,运行中和已停止的容器都能找到 |
| 增量同步 | 仅当目标文件不存在或源文件更新时拷贝([[ "$file" -nt "$dest_file" ]]),见 install.sh | 可安全重复执行,第二次起几乎秒完成 |
| 目录重命名归档 | 容器内会话目录-workspace在宿主机重命名为-devcontainer-<项目名>,见 install.sh | 与宿主机会话清晰区分,绝不覆盖 |
补充两个细节:
- 容器名自动提取:从
devcontainer.local_folder标签取项目目录名(basename)作为显示名,实现见 install.sh; - 会话目录定位:优先读取容器环境里的
CLAUDE_CONFIG_DIR,回退到/home/<用户>/.claude/projects,对停止状态的容器也有效(不依赖docker exec),见 install.sh。
安全提示:sync 是把容器内容"搬出来"的动作
由于 claude-code-devcontainer 常用来审查不可信代码,devc sync的默认确认提示非常重要:
⚠️ 你正在把一个可能运行过恶意代码的容器里的文件复制到宿主机。虽然会话文件是 Claude Code 自己生成的 JSONL 日志(风险很低),但安全审计流程中保持警惕是好习惯——这正是它默认要求手动确认、并提供--trusted显式豁免的原因,相关说明见 README.md 的 "Session Sync for /insights" 章节。
devc sync 常见问题速查
提示No devcontainers found (running or stopped)?你的容器不是由 devcontainer 工具创建的(缺少devcontainer.local_folder标签),或 Docker 守护进程未运行。用devc ./devc up启动的容器才可被发现。
提示No sessions found, skipping?该容器里还没有产生过 Claude Code 会话(.jsonl文件为 0 个),属于正常跳过,不是错误。
只想清理某个项目的容器资源?不要用docker rm手动删(会留下孤儿 volume),请使用:
devc destroy完整命令清单:devc还提供up、rebuild、down、shell、exec、upgrade、mount、cp、template等子命令,全部用法可用devc help查看(源码见 install.sh 的print_usage)。
总结
claude-code-devcontainer 让 Claude Code 的"免确认"模式变得安全,而devc sync补上了最后一块拼图:
devc sync— 一条命令,把运行中和已停止容器的会话全部同步到宿主机;devc sync <名称>— 按项目名子串过滤,精确同步;--trusted— 信任容器内容时跳过确认,适合脚本化场景;- 同步后运行
/insights,获得跨容器、跨项目的完整工作洞察。
增量同步机制让它可以放心地挂到日常流程里——比如每次收工前跑一次devc sync,你的/insights将永远拥有全量视角。
【免费下载链接】claude-code-devcontainer
Sandboxed devcontainer for running Claude Code in bypass mode safely. Built for security audits and untrusted code review.
相关推荐
如何快速搭建安全Claude Code沙箱:claude-code-devcontainer 3分钟上手教程
如何快速搭建安全Claude Code沙箱:claude code devcontainer 3分钟上手教程 claude code devcontainer
如何在宿主机与容器间安全共享文件:claude-code-devcontainer的devc mount完全指南
如何在宿主机与容器间安全共享文件:claude code devcontainer的devc mount完全指南 如果你想在 Claude Code 中开启 b
如何让键盘鼠标的PC游戏用手柄操作:AntiMicroX上手指南
如何让键盘鼠标的PC游戏用手柄操作:AntiMicroX上手指南 AntiMicroX 是一款免费开源的手柄映射工具,把手柄按键和摇杆映射到键盘与鼠标上,让只支
桌面应用
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考