☰
如何快速用OpenShell运行Claude Code?AI编码Agent沙箱化实战教程
2026/10/16 9:54:08 网站建设 项目流程

如何快速用OpenShell运行Claude Code?AI编码Agent沙箱化实战教程

【免费下载链接】OpenShellOpenShell is the safe, private runtime for autonomous AI agents.项目地址: https://gitcode.com/gh_mirrors/op/OpenShell

OpenShell 是一款开源的 AI Agent 沙箱运行时,专为 Claude Code 这类自主编码 Agent 设计:一条命令即可把 Agent 关进隔离环境,用声明式 YAML 策略管住它的文件访问、出站网络和模型调用,保护你的代码与凭证。本教程带你从零出发,约 5 分钟装好 OpenShell,并跑通第一个带策略保护的 Claude Code 沙箱。🚀

为什么要把 Claude Code 沙箱化 🔒

让编码 Agent 自主执行命令很有吸引力,但风险同样真实:误删文件、把代码或密钥外传到任意域名、越权调用 API。OpenShell 用四层纵深防御解决这个问题:

防护层保护什么生效时机
文件系统只允许读写授权路径沙箱创建时锁定
网络默认拒绝一切出站,按策略放行运行时热加载
进程阻止提权与危险系统调用沙箱创建时锁定
推理将模型 API 调用重路由到受控后端运行时热加载

其中对新手最友好的三点:

  • 默认拒绝:沙箱启动即零出站,Agent 想访问什么,就得先由你开策略;
  • 凭证隐身:API Key 以占位符注入,Agent 进程永远看不到真实密钥,代理在转发瞬间才解析;
  • 策略热加载:改网络策略无需重启沙箱,openshell policy set一条命令即生效。

一键安装:3 步搭好 OpenShell 环境 ⚡

步骤 1:安装 CLI 与本地网关

环境要求:Linux、macOS(Apple Silicon)或 Windows + WSL 2;本地装有 Docker、Podman,或开启了主机虚拟化(MicroVM 用)。

运行仓库根目录的官方安装脚本 install.sh,它会自动识别操作系统(macOS 走 Homebrew,Fedora/RHEL 走 RPM,Debian/Ubuntu 走 deb 包),装好openshellCLI 与openshell-gateway守护进程,并直接启动本地网关服务:

sh install.sh

安装完成后确认网关可达:

openshell status

步骤 2:准备 Anthropic API Key

Claude Code 需要的是 Anthropic 的 API Key(不是订阅登录态),在 Anthropic Console 中生成后设置环境变量:

export ANTHROPIC_API_KEY=sk-ant-xxxx

步骤 3(可选):浏览内置 Provider 档案

OpenShell 内置了各家 Agent 的凭证与端点档案,其中 Claude Code 的档案声明了ANTHROPIC_API_KEY/CLAUDE_API_KEY两个凭证变量,以及api.anthropic.com等允许端点,详见 providers/claude-code.yaml:

openshell provider list-profiles

最快配置:一条命令启动 Claude Code 沙箱

openshell sandbox create -- claude

就这么简单。命令末尾的claude是触发 OpenShell自动发现的关键:CLI 会识别出这是已知 Agent,在你的环境中找到ANTHROPIC_API_KEY,自动创建 provider、挂载到沙箱,然后直接启动 Claude Code。如果它提示你从本地凭证创建 provider,输入yes即可。

沙箱容器开箱即带常用工具:claude、Python 3.14、Node 22、git、gh、vim,网络诊断工具一应俱全。

如果你环境中没有密钥,手动创建 provider 再挂载即可(用法见 docs/sandboxes/manage-providers.mdx):

openshell provider create --name my-claude --type claude --from-existing openshell sandbox create --provider my-claude -- claude

进入沙箱后,Claude Code 会打印浏览器认证链接,按提示登录 Anthropic 账户,并在首次运行时信任/sandbox工作区,就能开始写代码了。

💡 想退出后自动销毁沙箱,加--no-keep;不加则沙箱保活,方便随时openshell sandbox connect回来继续。

用 openshell term 面板实时监控沙箱 🖥️

开一个终端跑面板:

openshell term

这个类 k9s 风格的实时仪表盘会每 2 秒自动刷新网关健康度、沙箱状态与策略决策流,被拦截的请求会以l7_decision=deny条目清晰呈现——排查 Agent 网络行为时非常直观。

进阶:看懂网络策略热加载 🔍

沙箱默认零出站。在沙箱里访问一下 GitHub API:

sandbox$ curl -sS https://api.github.com/zen curl: (56) Received HTTP code 403 from proxy after CONNECT

403 不是网络坏了,是策略代理在拦截。回到宿主机,应用仓库示例里的只读 GitHub API 策略 examples/sandbox-policy-quickstart/policy.yaml:

openshell policy set <沙箱名> --policy examples/sandbox-policy-quickstart/policy.yaml --wait

再连回去重试:GET 请求放行,POST 请求被 L7 层按 HTTP 方法级精准拒绝——同一个端点,读写分离,全程无需重启。完整的"被拦 → 看日志 → 改策略 → 验证"演练可参考 docs/get-started/tutorials/first-network-policy.mdx。

想让沙箱里的 Claude Code 向你的仓库git push?官方有一篇专门的实战教程,演示如何诊断PUT被拒、生成只针对单个仓库的写入策略并热加载生效,推荐精读:docs/get-started/tutorials/github-sandbox.mdx。

常用命令速查 ✅

命令作用
openshell sandbox create -- claude创建沙箱并启动 Claude Code
openshell sandbox connect [name]SSH 进入运行中的沙箱
openshell sandbox list/delete列出 / 删除沙箱
openshell provider create --type claude --from-existing从环境变量创建凭证 provider
openshell policy set <name> --policy file.yaml --wait热加载策略
openshell policy get <name>查看生效策略
openshell logs [name] --tail流式查看沙箱日志
openshell term打开实时监控面板

新手常见问题 🙋

openshell status连不上网关?确认网关服务在跑:macOS 用brew services list,Linux 用systemctl --user status openshell-gateway,详情见 docs/about/installation.mdx。

有 Claude 订阅但没有 API Key?订阅账号需要在 Anthropic Console 单独生成 API Key,OpenShell 只认 Key。

想重置策略?policy set会整体替换策略,网络段之外还要带上文件系统/Landlock 段(静态段在创建时锁定),可参考默认策略说明 docs/reference/default-policy.mdx。

总结

用 OpenShell 跑 Claude Code 的核心链路只有四步:安装(sh install.sh)→建沙箱(openshell sandbox create -- claude)→按需开策略(openshell policy set)→监控排障(openshell term)。Agent 获得了自主执行能力,而你的数据、凭证和基础设施始终关在策略画好的笼子里——这正是"安全、私密的 AI Agent 运行时"的含义。

【免费下载链接】OpenShellOpenShell is the safe, private runtime for autonomous AI agents.项目地址: https://gitcode.com/gh_mirrors/op/OpenShell

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询