企业模式。
在每台机器上放一个文件,OpenChamber 就只把对话内容发给公司批准的模型提供商。它在每个 OpenChamber 构建里都有,不需要另外 fork 一个版本来维护。
一个文件就能开启
把 policy.json 放进只有管理员能写入的文件夹,再用 Jamf、Intune 或任何设备管理工具分发。桌面应用、Web 服务器、CLI 和 VS Code 扩展读取的是同一个文件。
macOS
/Library/Application Support/OpenChamber/policy.json Windows
C:\ProgramData\OpenChamber\policy.json Linux
/etc/openchamber/policy.json {
"enterpriseMode": true,
"organization": "Acme"
} 只有 enterpriseMode 是必填的。组织名称会显示在设置里,大家都知道这是谁的决定。
留在内部的内容
模式开启后,OpenChamber 只把对话内容发给 OpenCode 配置中的提供商。其他可能把内容带出去的功能,要么关闭,要么走你们自己的服务器。
模型提供商 只用 OpenCode 配置里的那些。在应用里添加密钥或登录提供商的功能会关闭。
隧道 Cloudflare、ngrok 和 Tailscale 都会关闭。
Private Relay 只能通过你们自己托管的 relay 工作。
网络访问 除非策略允许更多,OpenChamber 只在它运行的机器上监听。
Jev 关闭,或固定到你们自己的端点。
扩展 能向外发送数据的扩展,只能从你们列出的仓库安装。
推送通知 只有通用标题,不含消息内容和会话名称。
应用中的云服务 通过 OpenAI 朗读、diagrams.net 编辑器、集成目录和来自公共 CDN 的字体都会关闭。
更新检查 安全修复照常送达,检查时从不上报使用情况。
在 OpenCode 中锁定提供商
哪些提供商可以使用由 OpenCode 决定。在它的策略里拒绝所有提供商,再允许你们批准的那些。被拒绝的提供商即使有人添加了密钥也不会出现。
{
"experimental": {
"policies": [
{ "action": "provider.use", "resource": "*", "effect": "deny" },
{ "action": "provider.use", "resource": "anthropic", "effect": "allow" }
]
}
} OpenCode 策略 安全团队常问的问题
不能。设置和环境变量都无法解除策略文件开启的限制。文件损坏或无法读取时,模式保持开启,设置里会提示策略无法读取。
提供商设置顶部会显示一条带有组织名称的提示,大家都知道这是谁的决定。
不需要。OpenChamber 运行时就会应用修改后的策略文件。
可以。在策略文件的 opencodeBinary 中写上它的路径。OpenChamber 只会从这个路径启动 OpenCode,并且从不更新它,更新随你们的分发一起到来。
在容器环境中设置 OPENCHAMBER_ENTERPRISE_MODE=1,或把策略文件挂载到 /etc/openchamber/policy.json。笔记本上请用文件,因为用户可以编辑自己的 shell 配置文件。
准备在公司推广?
如果你们的安全团队提出了模式还没覆盖的要求,请写信给我们,我们会看看能加些什么。