Lamp the Djinn
## 技能简介 Lamp the Djinn(简称 ltd)是一个沙箱工具
技能简介
Lamp the Djinn(简称 ltd)是一个沙箱工具,用于在完全隔离的 Docker 容器中运行 AI 编程 Agent,既保证 Agent 的自主运行能力,又确保宿主系统的安全。它让 Claude Code、aider、pi 等 Agent 以 --dangerously-skip-permissions(或 YOLO 模式)全速运行,同时通过容器隔离和默认拒绝的网络防火墙防止数据泄露和系统破坏。
核心能力
- Docker 沙箱隔离:任何编码 Agent(claude、aider、npx @anthropic/claude 等)都在隔离容器中运行,只能访问挂载的项目目录,无法触碰系统其他文件
- 默认拒绝网络防火墙:容器内只允许访问白名单域名(npm、PyPI、GitHub 等),其余出站流量全部阻断,防止数据外泄
- 凭证代理架构:API Key 保留在宿主机的 LiteLLM 代理中,容器内 Agent 只与代理通信,永远无法获取真实凭证
- 多 Harness 支持:支持 Claude Code、aider、pi 等主流 AI 编程工具,配置方式完全相同
- 域名前景控制:支持按机器或按运行添加自定义允许域名,配置文件只读,Agent 无法自行修改
- 凭证持久化:通过只读挂载保存 OAuth Token 等会话凭证,同时确保主密钥永不进入沙箱
- 安全工具链:使用 gVisor(runsc)提供更强隔离,另有 Firecracker 微 VM 后端可选
安装配置
前置要求:Docker 已安装并运行
# 方式一:通过 uvx 直接运行(推荐)
uvx --from git+https://github.com/thekevinbot/lamp-the-djinn lamp-the-djinn
# 方式二:通过 pip 安装
pip install lamp-the-djinn
# 方式三:通过 Homebrew 安装(macOS/Linux)
brew install thekevinbot/tap/lamp-the-djinn
使用步骤
-
基础运行:在项目目录下执行
ltd,自动启动 Claude Code 全速模式(等效于claude --dangerously-skip-permissions) -
指定 Agent 和任务:
ltd claude -p "修复登录 Bug" ltd npx @anthropic/claude ltd --model glm-5.2 aider -
配置 Git 身份(推荐,分离 AI 提交与个人提交):
ltd --ssh-key-file ~/.ssh/id_ed25519_ai --git-user-name ai-bot --git-user-email "ai@bot.com" --gh-token ghp_your_token -
添加自定义允许域名:编辑
~/.config/lamp-the-djinn/allowed-domains.txt,每行一个域名,ltd 启动时自动加载 -
安全模式运行:使用
--safe-mode开启权限提示,不跳过任何确认步骤 -
管理界面:
ltd admin打开宿主机端 TUI 管理界面(显示版本和状态)
适用场景
- 高风险自主任务:需要 Agent 长时间自主修改代码、提交 PR,但又担心误删系统文件或泄露密钥
- 使用开源模型:当 Agent 背后是 llama.cpp、GLM-5.2 等本地或开放权重模型时,信任度较低,尤其需要沙箱保护
- 多租户/CI 环境:在共享服务器或 CI 流程中运行第三方 Agent,不希望其访问其他项目数据
- 隔离网络访问:需要严格控制 Agent 能访问哪些外部服务(如限制只能访问内部 PyPI 镜像)
适用人群
- 对 AI 编程 Agent 有较高自主性需求(不想频繁点确认)的开发者
- 安全意识强、担心 Agent 误操作或数据外泄的团队
- 使用开源/本地模型的 AI 编程用户
- 需要在共享环境或 CI 中安全运行 Agent 的运维/平台工程师
工作原理
ltd 包含两条可替换的隔离接缝:
隔离层:Agent 运行在 Docker 容器内,只能通过只读挂载访问项目目录。使用 gVisor(runsc)自动增强隔离,备选 stock runc;远程 Fly(Firecracker 微 VM)后端已在 fly/ 目录中脚手架化。
供应商层:宿主机上运行一个 LiteLLM 代理,前置本地 llama.cpp 和 OpenRouter 等服务。容器只看到代理地址,从不接触真实 API Key。配置文件修改热生效,docker compose watch 自动同步。
网络防火墙:出站流量默认全部拒绝,仅白名单域名可通。Key 永远留在代理层,容器只收到一个本地代理地址和本地代理 Key。
供应链防御:Harness 通过可信定时任务预取并只读挂载,防止未信任 Agent 直接从注册表拉取包。
评论与建议
登录 后参与评论或提建议