Skip to content

Commit aa7f3fc

Browse files
committed
docs: expand metrics configuration guide
1 parent 854a029 commit aa7f3fc

1 file changed

Lines changed: 39 additions & 0 deletions

File tree

docs/configuration.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@
3636
| `OPENCODE_INTERNAL_ALLOWED_TOOLS` | `(none)` | 当请求未传入 `tools` 时允许使用的 OpenCode 内置工具列表,逗号分隔 |
3737
| `OPENCODE_INTERNAL_TOOL_METRICS_ENABLED` | `true` | 输出 internal allowlist 模式的调试/指标日志 |
3838
| `OPENCODE_TOOL_DISCOVERY_FIXTURE` | `(none)` | 集成测试/本地调试用的固定后端工具 ID 列表,逗号分隔 |
39+
| `OPENCODE_HEALTH_DETAILS_ENABLED` | `true` | 控制 `/health/details` 是否暴露 |
40+
| `OPENCODE_HEALTH_DETAILS_REQUIRE_AUTH` | `true` | 控制 `/health/details` 是否要求 Bearer 认证 |
41+
| `OPENCODE_METRICS_ENABLED` | `false` | 控制 Prometheus `/metrics` 是否暴露 |
42+
| `OPENCODE_METRICS_REQUIRE_AUTH` | `true` | 控制 `/metrics` 是否要求 Bearer 认证 |
3943
| `USE_ISOLATED_HOME` | `false` | 使用隔离的 OpenCode 配置目录 |
4044
| `PROMPT_MODE` | `standard` | 提示词处理模式 |
4145
| `OMIT_SYSTEM_PROMPT` | `false` | 忽略传入的 system prompt |
@@ -132,6 +136,8 @@ OpenCode2API 现在支持把外部客户端传入的 OpenAI-compatible `tools`
132136
### 结构化健康诊断接口
133137

134138
可以通过 `GET /health/details` 接口获取代理内部的运行状态与指标。这不仅有助于问题排查,也是用于编写集成行为测试的重要依据。
139+
- `OPENCODE_HEALTH_DETAILS_ENABLED=false` 时,接口返回 `404`
140+
- `OPENCODE_HEALTH_DETAILS_REQUIRE_AUTH=true` 时,接口要求 Bearer 认证;否则返回 `401`
135141
返回值格式如下:
136142
```json
137143
{
@@ -154,11 +160,34 @@ OpenCode2API 现在支持把外部客户端传入的 OpenAI-compatible `tools`
154160
"tool_ids_cached": true,
155161
"tool_id_count": 3,
156162
"age_ms": 12000
163+
},
164+
"audit": {
165+
"available": true,
166+
"fields": [
167+
"requestedAllowlist",
168+
"allowedToolNames",
169+
"deniedRequestedTools",
170+
"resolutionPath",
171+
"resultingMode"
172+
]
157173
}
158174
}
159175
}
160176
```
161177

178+
### Prometheus 指标接口
179+
180+
可以通过 `GET /metrics` 获取 Prometheus 文本格式指标。
181+
- `OPENCODE_METRICS_ENABLED=false` 时,接口返回 `404`
182+
- `OPENCODE_METRICS_REQUIRE_AUTH=true` 时,接口要求 Bearer 认证;否则返回 `401`
183+
当前暴露的核心指标包括:
184+
- `opencode_internal_tool_mode_requests_total{mode="external_bridge"}`
185+
- `opencode_internal_tool_mode_requests_total{mode="internal_allowlist"}`
186+
- `opencode_internal_tool_mode_requests_total{mode="disabled"}`
187+
- `opencode_internal_tool_discovery_failures_total`
188+
- `opencode_internal_tool_fallback_disabled_total`
189+
- `opencode_internal_tool_cache_ids`
190+
162191
### 推荐生产配置
163192

164193
```bash
@@ -168,11 +197,16 @@ OPENCODE_EXTERNAL_TOOLS_CONFLICT_POLICY=namespace
168197
OPENCODE_INTERNAL_ALLOWED_TOOLS=web_fetch
169198
OPENCODE_INTERNAL_TOOL_METRICS_ENABLED=true
170199
OPENCODE_TOOL_DISCOVERY_FIXTURE=
200+
OPENCODE_HEALTH_DETAILS_ENABLED=true
201+
OPENCODE_HEALTH_DETAILS_REQUIRE_AUTH=true
202+
OPENCODE_METRICS_ENABLED=false
203+
OPENCODE_METRICS_REQUIRE_AUTH=true
171204
OPENCODE_PROXY_PROMPT_MODE=plugin-inject
172205
OPENCODE_PROXY_OMIT_SYSTEM_PROMPT=true
173206
OPENCODE_PROXY_AUTO_CLEANUP_CONVERSATIONS=true
174207
```
175208

209+
176210
---
177211

178212
## 🎯 Prompt Mode 说明
@@ -195,11 +229,16 @@ OPENCODE_EXTERNAL_TOOLS_CONFLICT_POLICY=namespace
195229
OPENCODE_INTERNAL_ALLOWED_TOOLS=web_fetch
196230
OPENCODE_INTERNAL_TOOL_METRICS_ENABLED=true
197231
OPENCODE_TOOL_DISCOVERY_FIXTURE=
232+
OPENCODE_HEALTH_DETAILS_ENABLED=true
233+
OPENCODE_HEALTH_DETAILS_REQUIRE_AUTH=true
234+
OPENCODE_METRICS_ENABLED=false
235+
OPENCODE_METRICS_REQUIRE_AUTH=true
198236
OPENCODE_PROXY_PROMPT_MODE=plugin-inject
199237
OPENCODE_PROXY_OMIT_SYSTEM_PROMPT=true
200238
OPENCODE_PROXY_AUTO_CLEANUP_CONVERSATIONS=true
201239
```
202240

241+
203242
### 💻 本地开发
204243

205244
```bash

0 commit comments

Comments
 (0)