refactor: 移除顶层 defaults 配置段,简化为 target 显式字段 > 代码内置默认值
- 移除 DefaultsConfig 类型、ProbeConfig.defaults 字段 - 移除 CheckerSchemas.defaults、ResolveContext.defaults、CheckerValidationInput.defaults - 更新所有 checker schema/resolve/validate 删除 defaults 合并逻辑 - 更新 config-loader 不再读取传递 defaults - 更新测试、README、DEVELOPMENT、probes.example.yaml - 重新生成 probe-config.schema.json(不含 defaults) - 同步 delta specs 到主规范 - 归档 openspec change
This commit is contained in:
102
README.md
102
README.md
@@ -135,13 +135,8 @@ probes: # 拨测运行时配置(可省略)
|
||||
variables: # 配置变量(可省略)
|
||||
env_name: "生产"
|
||||
base_url: "https://api.example.com"
|
||||
|
||||
defaults: # 全局默认值(均可省略)
|
||||
interval: "30s"
|
||||
timeout: "10s"
|
||||
# http: ...
|
||||
# cmd: ...
|
||||
# llm: ...
|
||||
default_interval: "30s" # 通过变量在多个 target 间共享常用值
|
||||
default_timeout: "10s"
|
||||
|
||||
targets: # 拨测目标列表(必填)
|
||||
- id: "baidu-home"
|
||||
@@ -197,14 +192,15 @@ targets: # 拨测目标列表(必填)
|
||||
|
||||
控制台始终输出(pretty 格式),文件始终输出 JSONL 格式并支持滚动。`rotation.size` 和 `rotation.frequency` 任一条件触发即滚动。
|
||||
|
||||
### defaults — 全局默认值
|
||||
### 内置默认值
|
||||
|
||||
| 字段 | 说明 | 必填 | 默认值 |
|
||||
| ---------- | -------- | ---- | ------ |
|
||||
| `interval` | 拨测间隔 | 否 | `30s` |
|
||||
| `timeout` | 超时时间 | 否 | `10s` |
|
||||
未显式配置时,系统使用以下内置默认值:
|
||||
|
||||
各 checker 专属的默认配置见对应章节。
|
||||
- `interval`:`30s`(拨测间隔)
|
||||
- `timeout`:`10s`(超时时间)
|
||||
- 各 checker 专属默认值见对应章节
|
||||
|
||||
如需在多个 target 间共享相同的配置值,可使用 `variables` 定义变量,然后在 target 中通过 `${var}` 引用。例如在 `variables` 中定义 `default_interval: "30s"`,在多个 target 的 `interval` 字段写 `${default_interval}`。
|
||||
|
||||
### variables — 配置变量
|
||||
|
||||
@@ -227,30 +223,23 @@ targets: # 拨测目标列表(必填)
|
||||
| `description` | 目标描述,最长 500 字符,支持变量替换,可省略或显式 null,允许空字符串 | 否 | |
|
||||
| `type` | 目标类型:`http`、`cmd`、`db`、`tcp`、`udp`、`icmp`、`llm` | 是 | |
|
||||
| `group` | 分组名称 | 否 | `default` |
|
||||
| `interval` | 覆盖全局拨测间隔 | 否 | |
|
||||
| `timeout` | 覆盖全局超时时间 | 否 | |
|
||||
| `interval` | 拨测间隔,未配置时使用内置默认值 `30s` | 否 | `30s` |
|
||||
| `timeout` | 超时时间,未配置时使用内置默认值 `10s` | 否 | `10s` |
|
||||
|
||||
---
|
||||
|
||||
### HTTP Checker(`type: http`)
|
||||
|
||||
**全局默认值(`defaults.http`)**
|
||||
|
||||
| 字段 | 说明 | 必填 | 默认值 |
|
||||
| -------------- | -------------------------------------------------- | ---- | ------- |
|
||||
| `maxBodyBytes` | 响应体最大字节数 | 否 | `100MB` |
|
||||
| `headers` | 默认请求头(target 中的 headers 会合并覆盖同名头) | 否 | |
|
||||
|
||||
**配置项**
|
||||
|
||||
| 字段 | 说明 | 必填 | 默认值 |
|
||||
| ------------------- | --------------------------------------- | ---- | ------- |
|
||||
| `http.url` | 目标 URL | 是 | |
|
||||
| `http.method` | HTTP 方法 | 否 | `GET` |
|
||||
| `http.headers` | 请求头(与 defaults.http.headers 合并) | 否 | |
|
||||
| `http.body` | 请求体 | 否 | |
|
||||
| `http.ignoreSSL` | 忽略 HTTPS 证书校验 | 否 | `false` |
|
||||
| `http.maxRedirects` | 最大重定向跟随次数 | 否 | `0` |
|
||||
| 字段 | 说明 | 必填 | 默认值 |
|
||||
| ------------------- | ------------------- | ---- | ------- |
|
||||
| `http.url` | 目标 URL | 是 | |
|
||||
| `http.method` | HTTP 方法 | 否 | `GET` |
|
||||
| `http.headers` | 请求头 | 否 | |
|
||||
| `http.body` | 请求体 | 否 | |
|
||||
| `http.ignoreSSL` | 忽略 HTTPS 证书校验 | 否 | `false` |
|
||||
| `http.maxRedirects` | 最大重定向跟随次数 | 否 | `0` |
|
||||
|
||||
**expect 校验项**
|
||||
|
||||
@@ -288,13 +277,6 @@ targets: # 拨测目标列表(必填)
|
||||
|
||||
### Cmd Checker(`type: cmd`)
|
||||
|
||||
**全局默认值(`defaults.cmd`)**
|
||||
|
||||
| 字段 | 说明 | 必填 | 默认值 |
|
||||
| ---------------- | -------------------------------------- | ---- | ------- |
|
||||
| `maxOutputBytes` | 输出最大字节数 | 否 | `100MB` |
|
||||
| `cwd` | 默认工作目录(相对于配置文件所在目录) | 否 | `.` |
|
||||
|
||||
**配置项**
|
||||
|
||||
| 字段 | 说明 | 必填 | 默认值 |
|
||||
@@ -405,14 +387,6 @@ targets: # 拨测目标列表(必填)
|
||||
|
||||
### UDP Checker(`type: udp`)
|
||||
|
||||
**全局默认值(`defaults.udp`)**
|
||||
|
||||
| 字段 | 说明 | 必填 | 默认值 |
|
||||
| ------------------ | ---------------------------------------- | ---- | ------ |
|
||||
| `encoding` | payload 编码 | 否 | `text` |
|
||||
| `responseEncoding` | 响应解码 | 否 | `text` |
|
||||
| `maxResponseBytes` | 响应最大字节数,支持 `KB`/`MB`/`GB` 单位 | 否 | `4KB` |
|
||||
|
||||
**配置项**
|
||||
|
||||
| 字段 | 说明 | 必填 | 默认值 |
|
||||
@@ -503,33 +477,21 @@ ICMP checker 通过系统 `ping` 命令执行 ICMP 探测,支持 Linux、macOS
|
||||
|
||||
### LLM Checker(`type: llm`)
|
||||
|
||||
**全局默认值(`defaults.llm`)**
|
||||
|
||||
| 字段 | 说明 | 必填 | 默认值 |
|
||||
| ----------------- | ------------------- | ---- | ------- |
|
||||
| `mode` | 调用模式 | 否 | |
|
||||
| `headers` | 默认请求头 | 否 | |
|
||||
| `ignoreSSL` | 忽略 HTTPS 证书校验 | 否 | `false` |
|
||||
| `options` | 生成选项 | 否 | |
|
||||
| `providerOptions` | Provider 专属选项 | 否 | |
|
||||
|
||||
不支持 `provider`、`url`、`model`、`key`、`authToken`、`prompt`。
|
||||
|
||||
**配置项**
|
||||
|
||||
| 字段 | 说明 | 必填 | 默认值 |
|
||||
| --------------------- | ----------------------------------------------------------- | ---- | ------- |
|
||||
| `llm.provider` | 模型提供方:`openai`、`openai-responses`、`anthropic` | 是 | |
|
||||
| `llm.url` | API base URL | 是 | |
|
||||
| `llm.model` | 模型名称 | 是 | |
|
||||
| `llm.prompt` | 单轮 prompt | 是 | |
|
||||
| `llm.mode` | 调用模式:`http`(非流式)或 `stream`(流式) | 否 | `http` |
|
||||
| `llm.key` | API key,支持 `${VAR}` 变量替换 | 否 | `""` |
|
||||
| `llm.authToken` | Bearer token(仅 `anthropic` provider,与 `key` 互斥) | 否 | |
|
||||
| `llm.headers` | 附加请求头(与 `defaults.llm.headers` 合并) | 否 | |
|
||||
| `llm.ignoreSSL` | 忽略 HTTPS 证书校验 | 否 | `false` |
|
||||
| `llm.options` | 生成选项(与 `defaults.llm.options` 合并) | 否 | |
|
||||
| `llm.providerOptions` | Provider 专属选项(与 `defaults.llm.providerOptions` 合并) | 否 | |
|
||||
| 字段 | 说明 | 必填 | 默认值 |
|
||||
| --------------------- | ------------------------------------------------------ | ---- | ------- |
|
||||
| `llm.provider` | 模型提供方:`openai`、`openai-responses`、`anthropic` | 是 | |
|
||||
| `llm.url` | API base URL | 是 | |
|
||||
| `llm.model` | 模型名称 | 是 | |
|
||||
| `llm.prompt` | 单轮 prompt | 是 | |
|
||||
| `llm.mode` | 调用模式:`http`(非流式)或 `stream`(流式) | 否 | `http` |
|
||||
| `llm.key` | API key,支持 `${VAR}` 变量替换 | 否 | `""` |
|
||||
| `llm.authToken` | Bearer token(仅 `anthropic` provider,与 `key` 互斥) | 否 | |
|
||||
| `llm.headers` | 附加请求头 | 否 | |
|
||||
| `llm.ignoreSSL` | 忽略 HTTPS 证书校验 | 否 | `false` |
|
||||
| `llm.options` | 生成选项 | 否 | |
|
||||
| `llm.providerOptions` | Provider 专属选项 | 否 | |
|
||||
|
||||
`llm.options` 支持 `maxOutputTokens`(默认 `16`)、`temperature`(默认 `0`)、`topP`、`topK`、`presencePenalty`、`frequencyPenalty`、`stopSequences`、`seed`。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user