Skip to content

Commit 5ff40a7

Browse files
committed
docs: add internal web_fetch configuration guide
1 parent 5a873ad commit 5ff40a7

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

‎docs/configuration.md‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
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 |
@@ -60,6 +61,7 @@
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
99109
DISABLE_TOOLS=true
100110
OPENCODE_EXTERNAL_TOOLS_MODE=proxy-bridge
101111
OPENCODE_EXTERNAL_TOOLS_CONFLICT_POLICY=namespace
112+
OPENCODE_INTERNAL_WEB_FETCH_ENABLED=false
102113
OPENCODE_PROXY_PROMPT_MODE=plugin-inject
103114
OPENCODE_PROXY_OMIT_SYSTEM_PROMPT=true
104115
OPENCODE_PROXY_AUTO_CLEANUP_CONVERSATIONS=true
@@ -123,6 +134,7 @@ OPENCODE_PROXY_AUTO_CLEANUP_CONVERSATIONS=true
123134
DISABLE_TOOLS=true
124135
OPENCODE_EXTERNAL_TOOLS_MODE=proxy-bridge
125136
OPENCODE_EXTERNAL_TOOLS_CONFLICT_POLICY=namespace
137+
OPENCODE_INTERNAL_WEB_FETCH_ENABLED=false
126138
OPENCODE_PROXY_PROMPT_MODE=plugin-inject
127139
OPENCODE_PROXY_OMIT_SYSTEM_PROMPT=true
128140
OPENCODE_PROXY_AUTO_CLEANUP_CONVERSATIONS=true

0 commit comments

Comments
 (0)