3232| ` DISABLE_TOOLS ` | ` true ` | 禁用 OpenCode 工具调用 |
3333| ` OPENCODE_EXTERNAL_TOOLS_MODE ` | ` proxy-bridge ` | 外部工具桥接模式;当前仅支持 ` proxy-bridge ` |
3434| ` OPENCODE_EXTERNAL_TOOLS_CONFLICT_POLICY ` | ` namespace ` | 外部工具冲突隔离策略;当前仅支持 ` namespace ` |
35+ | ` OPENCODE_INTERNAL_WEB_FETCH_ENABLED ` | ` false ` | 当请求未传入 ` tools ` 时,仅放行 OpenCode 内置 ` web_fetch ` |
3536| ` USE_ISOLATED_HOME ` | ` false ` | 使用隔离的 OpenCode 配置目录 |
3637| ` PROMPT_MODE ` | ` standard ` | 提示词处理模式 |
3738| ` OMIT_SYSTEM_PROMPT ` | ` false ` | 忽略传入的 system prompt |
6061 "DISABLE_TOOLS" : true ,
6162 "EXTERNAL_TOOLS_MODE" : " proxy-bridge" ,
6263 "EXTERNAL_TOOLS_CONFLICT_POLICY" : " namespace" ,
64+ "INTERNAL_WEB_FETCH_ENABLED" : false ,
6365 "USE_ISOLATED_HOME" : false ,
6466 "PROMPT_MODE" : " standard" ,
6567 "OMIT_SYSTEM_PROMPT" : false ,
@@ -93,12 +95,21 @@ OpenCode2API 现在支持把外部客户端传入的 OpenAI-compatible `tools`
9395- 代理内部会使用类似 ` external__web_fetch ` 的命名空间名避免冲突。
9496- 这些内部命名空间名称不会作为公开 API 的一部分暴露给客户端。
9597
98+ ### 内置 ` web_fetch ` 透传
99+
100+ - 仅当请求 ** 未传入** ` tools ` 且 ` OPENCODE_INTERNAL_WEB_FETCH_ENABLED=true ` 时生效。
101+ - 该模式不会启用外部工具桥接协议,而是直接放行 OpenCode 原生 ` web_fetch ` 。
102+ - 代理会读取后端工具列表,并仅允许名为 ` web_fetch ` (或以 ` .web_fetch ` / ` /web_fetch ` 结尾)的内置工具。
103+ - 一旦客户端传入 ` tools ` ,请求立即切回外部工具桥接模式,所有 OpenCode 内置工具继续保持禁用。
104+ - 如果后端未提供 ` web_fetch ` ,代理会自动回退到“全部内置工具禁用”的安全模式。
105+
96106### 推荐生产配置
97107
98108``` bash
99109DISABLE_TOOLS=true
100110OPENCODE_EXTERNAL_TOOLS_MODE=proxy-bridge
101111OPENCODE_EXTERNAL_TOOLS_CONFLICT_POLICY=namespace
112+ OPENCODE_INTERNAL_WEB_FETCH_ENABLED=false
102113OPENCODE_PROXY_PROMPT_MODE=plugin-inject
103114OPENCODE_PROXY_OMIT_SYSTEM_PROMPT=true
104115OPENCODE_PROXY_AUTO_CLEANUP_CONVERSATIONS=true
@@ -123,6 +134,7 @@ OPENCODE_PROXY_AUTO_CLEANUP_CONVERSATIONS=true
123134DISABLE_TOOLS=true
124135OPENCODE_EXTERNAL_TOOLS_MODE=proxy-bridge
125136OPENCODE_EXTERNAL_TOOLS_CONFLICT_POLICY=namespace
137+ OPENCODE_INTERNAL_WEB_FETCH_ENABLED=false
126138OPENCODE_PROXY_PROMPT_MODE=plugin-inject
127139OPENCODE_PROXY_OMIT_SYSTEM_PROMPT=true
128140OPENCODE_PROXY_AUTO_CLEANUP_CONVERSATIONS=true
0 commit comments