跳转到内容
↑↓导航 ↵打开 esc关闭

环境变量

OpenChamber 会在启动时读取这些变量。对于开机启动服务,openchamber startup enable 默认会保存当前环境的 snapshot,所以如果要让服务使用新的变量,请重新运行它。

供 OpenCode、Git 和终端使用的变量

要给 OpenCode、Git、终端和项目操作提供你自己的变量,比如 API 令牌或数据库地址,请在 设置 → 通用 → 环境变量 中添加,而不是在启动 OpenChamber 之前导出。这些值只保存在运行 OpenChamber 的机器上,位于数据目录中的 environment.json,只有你的用户能读取。设置不会再显示已保存的值:你可以替换或删除它,但无法读回。

  • OpenCode 在启动时读取这些变量,所以修改后需要重启它。设置中提供了对应的按钮。
  • 用 opencode service set env 设置的变量也会传给 OpenCode。两者冲突时,以设置中的为准。
  • Git、终端和项目操作会在下一次运行时拿到这些变量。
  • OpenChamber 为 OpenCode 自身设置的变量(例如它的密码和配置)优先于你的变量。

项目可以在 设置 → 项目 中添加自己的变量,或者添加一条输出这些变量的命令,例如 direnv export json。参阅项目。

这些变量不会传给你自己启动的 OpenCode 服务器,VS Code 扩展也没有这项设置。下面的所有变量都由 OpenChamber 本身在启动时读取。

OpenChamber 服务器

OPENCHAMBER_HOST

OpenChamber web 服务器监听的地址。使用 0.0.0.0 可允许其他机器访问。

OPENCHAMBER_LAN_URL

网络中其他设备访问 OpenChamber 所用的地址,例如 http://192.168.1.20:3000。配对链接和二维码会使用它,而不是 OpenChamber 自己检测到的地址。当检测结果不对时设置它,例如在 Docker 中,OpenChamber 只能看到容器的内部地址。

OPENCHAMBER_UI_PASSWORD

浏览器 UI 的密码。当你绑定到 localhost 之外、使用隧道或反向代理时,请设置它。

OPENCHAMBER_UI_SESSION_TTL_HOURS

未勾选“信任此设备”时,浏览器登录的有效时长(小时)。默认值为 12。

OPENCHAMBER_UI_TRUSTED_SESSION_TTL_DAYS

在你选择信任的设备上,登录的有效时长(天)。默认值为 7。

OPENCHAMBER_API_ONLY

设置为 true 或 1 时,以 headless 模式启动 OpenChamber。桌面和移动客户端仍可使用 API 路由,但不会提供浏览器 UI。

OPENCHAMBER_FRAME_ANCESTORS

允许在自己页面的框架中显示 OpenChamber 的源,用空格分隔,例如 https://dash.example.com。* 允许任何站点。默认只有 OpenChamber 本身及其桌面和移动应用可以嵌入它,其他站点无法在它的按钮上叠加内容。

OPENCHAMBER_DATA_DIR

覆盖 OpenChamber 数据目录。默认是 ~/.config/openchamber。

OpenChamber 存储的所有内容都位于此目录下:设置、认证、项目配置、主题、计划和语音模型。在 1.23 之前使用自定义目录的实例会在首次启动时将 projects、themes 和 speech-models 文件夹从 ~/.config/openchamber 复制到此目录;原文件夹保持不变,不会合并任何内容。

OPENCHAMBER_CHATS_DIR

更改 OpenChamber 为无项目聊天创建的托管聊天目录的位置。默认是 ~/.config/openchamber/chats。当 OpenChamber 和 OpenCode 以不同用户运行时,请设置为 OpenCode 服务器可读取的目录。现有聊天不会被移动。

OPENCHAMBER_COMPRESS_API

控制 API 响应压缩。true 或 1 强制开启,false 或 0 强制关闭。

OPENCHAMBER_SKIP_API_COMPRESSION

设置为 true 或 1 时关闭 API 响应压缩。它优先于 OPENCHAMBER_COMPRESS_API。

OPENCHAMBER_VERBOSE_REQUEST_LOGS

设置为 true 或 1 时启用详细 HTTP request logs。

OPENCHAMBER_UPDATE_API_URL

覆盖更新检查 API endpoint。大多数用户不需要设置它。

OPENCHAMBER_PACKAGE_MANAGER

当自动检测错误时,强制指定更新操作使用的 package manager。

代理

HTTP_PROXY, HTTPS_PROXY, NO_PROXY

OpenChamber 自身发出的请求(例如用量限额和技能目录)会通过代理发送。小写变量名同样有效。NO_PROXY 中的主机直接连接,localhost、127.0.0.1 和 ::1 始终直接连接,因此登录回调和本地 OpenCode 服务器不受影响。

OpenCode 服务器

OPENCODE_HOST

将 OpenChamber 连接到已有的 OpenCode server。值必须是带明确端口、没有 path、query 或 hash 的 http 或 https origin。OPENCODE_HOST 优先于 OPENCODE_PORT。

OPENCODE_PORT

设置 OpenCode server 端口。对于 managed OpenCode,它请求使用该端口;配合 OPENCODE_SKIP_START=true 时,它连接到该端口上的外部服务器。

OPENCODE_SKIP_START

设置为 true 时阻止 OpenChamber 启动自己的 OpenCode server。

OPENCHAMBER_OPENCODE_HOSTNAME

OpenChamber 管理的 OpenCode server 绑定 hostname。默认是 127.0.0.1。

OPENCODE_BINARY

OpenChamber 应该运行的 opencode executable 路径。

OPENCODE_CONFIG

指定 OpenCode config 文件路径。

OPENCODE_CONFIG_DIR

指定 OpenCode config 目录,用于 agents、skills、snippets 和 config discovery。

OPENCODE_DATA_DIR

managed OpenCode server 的自定义数据目录。

OPENCODE_WSL_DISTRO

选择 Windows 上 OpenCode 集成使用的 WSL distro。

OPENCHAMBER_OPENCODE_WSL_DISTRO

OpenChamber 专用的 WSL distro alias。如果两个变量都设置,OPENCODE_WSL_DISTRO 优先。

OPENCODE_JWT_SECRET

用于签名 UI auth tokens 的 secret。持久服务部署应使用长的随机值。

Terminal 和 Git

OPENCHAMBER_TERMINAL_SHELL

OpenChamber terminal sessions 使用的 shell executable。

OPENCHAMBER_GIT_BINARY

OpenChamber Git 功能使用的 Git executable。

GIT_BINARY

Git executable 的备用 override。OpenChamber 专用配置建议使用 OPENCHAMBER_GIT_BINARY。

OPENCHAMBER_GIT_READ_CACHE_TTL_MS

Git-backed file reads cache 的 TTL,单位为毫秒。调试时可设置为 0 禁用 cache。

语音和隧道

OPENAI_API_KEY

OpenChamber 语音功能直接调用 OpenAI 时使用的 API key。它不会发送到自定义的 OpenAI 兼容服务器:请在设置中为该服务器单独配置密钥。

OPENCHAMBER_ALLOW_REMOTE_OPENAI_COMPAT_URLS

设置为 true 或 1 时,允许语音功能使用远程 OpenAI-compatible base URLs。

NGROK_AUTHTOKEN

OpenChamber tunnel commands 使用的 ngrok auth token。也可以用 ngrok config add-authtoken <token> 配置。

Runtime helpers

BUN_BINARY

OpenChamber 启动 daemon processes 时使用的 Bun executable。

BUN_INSTALL

Bun 安装根目录。OpenChamber 使用它查找 bin/bun 来启动 daemon 和执行更新。

VITE_OPENCODE_URL

Vite-built web app 的 build-time API base URL。普通 CLI 或 desktop 使用通常不需要设置它。