Appearance
OpenCode 支持标准代理环境变量(HTTPS_PROXY、HTTP_PROXY、NO_PROXY)和自定义 CA 证书,适用于需要通过企业代理访问外网或使用内部 HTTPS 服务的场景。本文提供完整的配置方法。
OpenCode 支持标准代理环境变量和自定义证书,可以在企业网络环境中正常工作。
代理配置
OpenCode 遵循标准代理环境变量:
bash
# HTTPS 代理(推荐)
export HTTPS_PROXY=https://proxy.example.com:8080
# HTTP 代理(当 HTTPS 不可用时)
export HTTP_PROXY=http://proxy.example.com:8080
# 本地服务器绕过代理(必须设置)
export NO_PROXY=localhost,127.0.0.1注意:TUI 与本地 HTTP 服务器通信。必须为本地连接绕过代理,否则会产生路由循环。
可以通过 CLI 参数 配置服务器的端口和主机名。
代理认证
如果代理需要 Basic Authentication,在 URL 中包含凭证:
bash
export HTTPS_PROXY=http://username:password@proxy.example.com:8080注意:避免将密码硬编码,使用环境变量或安全凭证存储。
对于需要 NTLM 或 Kerberos 等高级认证的代理,建议使用支持该认证方式的 LLM Gateway。
自定义 CA 证书
如果企业使用自定义 CA 对 HTTPS 连接进行签名,配置 OpenCode 信任这些证书:
bash
export NODE_EXTRA_CA_CERTS=/path/to/ca-cert.pem这对代理连接和直接 API 访问都有效。
常见问题
Q: 设置了代理但 TUI 连接不上本地服务器,怎么办?
A: 检查 NO_PROXY 是否已设置 localhost,127.0.0.1。OpenCode 的 TUI 和服务器之间通过本地 HTTP 通信,如果这个流量也经过代理会导致连接失败。
Q: 公司用了自签名证书,API 请求总是报 SSL 错误,怎么解决?
A: 将公司的根 CA 证书(.pem 格式)路径设置到 NODE_EXTRA_CA_CERTS 环境变量。这告诉 Node.js(OpenCode 的运行时)信任该 CA 签发的证书。
Q: 可以只为某些请求使用代理吗?
A: 通过 NO_PROXY 环境变量可以指定不走代理的地址,例如内部服务器地址。