当 Claude Code、OpenCode 等编码 Agent 接到任务后,需要安装依赖、修改文件、运行测试,有时还要调用外部 API。问题随之出现:哪些目录可以写?哪些域名可以访问?API key 又该交给谁?如果直接放开权限,一次误操作可能影响整个工作区;如果完全限制,Agent 又无法完成任务。
OpenShell 不禁止 Agent 使用工具,同时建立一层安全私有运行时:开发者声明权限边界,运行时负责强制执行,并在关键变更前加入验证和审批。它采用 Apache-2.0 开源协议,定位为面向自主 Agent 的执行与治理层,而非通用 Agent 框架。
OpenShell 只是 Docker/Podman 沙箱吗?
OpenShell 可以借助 Docker 或 Podman 启动沙箱。Docker/Podman 提供工作负载隔离,OpenShell 则围绕 Agent 增加了策略执行、凭证代理和权限变更治理,两者承担的职责不同,不能简单视为同一层能力。
每个 Agent 都运行在独立沙箱中,内核插桩负责检查文件访问、系统调用和出站连接。策略未批准的流量无法离开沙箱,这意味着限制不只发生在启动阶段,而会持续作用于 Agent 执行任务的整个过程。
关键区别在于,普通容器主要解决“程序不要越过运行边界”,OpenShell 还试图解决“权限边界不要在无人察觉的情况下被放宽”。这使它更接近一套 Agent 权限控制层,而不只是进程隔离工具。
API key 和新权限怎么过安全检查?
真实 API key 不会直接交给 Agent。OpenShell 只把凭证附加到发往“已批准端点”的请求中,Agent 可以发起业务请求,却拿不到可用于转卖、记录或通过提示注入窃取的原始密钥。
这比单纯限制 Agent “不能访问某个域名”多了一层控制:即使模型或插件尝试读取密钥,运行时的凭证处理路径仍会阻止真实凭证进入 Agent 上下文。
权限变更同样需要经过检查。当策略试图放宽限制时,prover 会使用形式化验证标出风险,例如允许携带凭证访问一个新主机;这类变更必须等待人工批准后才能生效。
从现有资料看,prover 验证的是策略变更带来的风险,并不等于保证 Agent 的任务结果正确。它的实际价值是把权限调整变成一条可检查、可审批的治理链,避免 Agent 自主执行过程中权限被静默扩张。
从本地编码到 Kubernetes,哪种场景先落地?
个人开发者可以先从 Claude Code、OpenCode 等编码 Agent 开始,只声明允许写入的目录和允许访问的域名,再逐步开放必要的 API 端点。这种方式可以降低误删文件、越权访问和依赖安装影响工作区的风险,适合作为最小验证场景。
团队平台更适合复现完整的“申请新权限—prover 标记风险—人工批准”流程。官方 quickstart 已展示这一工作流。OpenShell 可以接入 CI/CD、内部开发平台和审计链条,让智能体权限从临时配置变成可追踪的受控变更。
企业基础设施则可以使用 Helm 将网关部署到 Kubernetes,并要求 CNI 支持 NetworkPolicy,以便继续管理智能体流量。参考资料列出的本地环境包括 Linux、Apple Silicon macOS 和 WSL2,沙箱可通过 Docker 或 Podman 启动;项目同时提供 Python、TypeScript、Go 和 Rust SDK。
落地顺序上,建议先验证本地最小闭环,再考虑 Kubernetes。仓库还提供 README、AGENTS.md 和 skills 等面向 Agent 的开发材料,说明它不仅在运行智能体,也在尝试让智能体参与运行时自身的开发与运维。
下一步可以进入 GitHub 项目仓库,按照官方 quickstart,用一个低风险编码任务建立最小 PoC:只授权必要目录、域名和 API 端点,实际检查策略拦截、凭证不可见以及人工审批链路。若要接入编码 Agent,还可使用:
npx skills add NVIDIA/OpenShell
不要一开始就规划企业级“Agent 舰队”;先把一次文件写入、一次 API 请求和一次权限放宽验证清楚,更容易判断 OpenShell 是否适合自己的工作流。
[email protected]
。
我们承诺在核实信息后,将第一时间删除相关内容或断开链接。






















暂无评论内容