docs(i18n): standardize contract terminology

This commit is contained in:
xjt
2026-08-09 11:33:14 +08:00
parent 5d46c11784
commit a7af54a8d3
848 changed files with 1506 additions and 1506 deletions

View File

@@ -3,4 +3,4 @@
# after editing either side, bring the other along and re-record with:
# pnpm run verify-translation-pairing --write packages/web/README.md
README.md: 811c8b3439a8962116df0e8b3ab4f6e282ecb3d2
README.zh.md: c7c0546c6a2527ba04bd802945c0dd4ee4353a37
README.zh.md: e328447d5d026c0abc815b269179ba6c4cd9acfc

View File

@@ -13,6 +13,6 @@
| [`web-fetch-local/`](web-fetch-local/README.md) | 抓取公共 HTTP 和 HTTPS 资源 | 注册到 `ctx.web` |
| [`tool-web/`](tool-web/README.md) | 向模型公开 web 搜索和抓取 | 注册到 `ctx.tools` |
[web 能力决策](../../.agents/notes/implemented/architecture/2026-06-24-web-capability-seam.md) 记录了搜索和抓取共用一项提供方选择服务的原因。
[web 能力决策](../../.agents/notes/implemented/architecture/2026-06-24-web-capability-seam.md)记录了搜索和抓取共用一项提供方选择服务的原因。
子系统参考——搜索/抓取请求与结果、可用性、`WebError`——见 [docs/subsystems/web.md](../../docs/subsystems/web.md);依据(含延后的 SSRF 防护)见 [web 能力 seam Agent Note](../../.agents/notes/implemented/architecture/2026-06-24-web-capability-seam.md)。

View File

@@ -3,4 +3,4 @@
# after editing either side, bring the other along and re-record with:
# pnpm run verify-translation-pairing --write packages/web/tool-web/README.md
README.md: 646601bb5bd6c27876918b7aca49962ae34bae33
README.zh.md: 192b7020f5fac026f325448630b2e17d7ce6a0c4
README.zh.md: 135c75831045225a0ac6d4637ff5c8b4105336c0

View File

@@ -37,7 +37,7 @@
## 稳定注册
工具注册遵循产品**启用状态**而非后端可用性。即使选中的提供方缺失、错误配置、存在歧义或暂时不可用工具仍保持可见seam 在执行时解析提供方,执行以结构化 `WebError`(例如 `WEB_PROVIDER_UNAVAILABLE``WEB_PROVIDER_AMBIGUOUS`)失败,`ToolRegistry.execute()` 会把它转为模型可读、钩子UI 可路由的错误工具结果。这样无需把插件加载顺序、凭据状态或 HMR热模块替换时机纳入面向模型约,也能保持模型 schema 稳定。要彻底移除 web 工具,请在此处通过配置将其禁用。
工具注册遵循产品**启用状态**而非后端可用性。即使选中的提供方缺失、错误配置、存在歧义或暂时不可用工具仍保持可见seam 在执行时解析提供方,执行以结构化 `WebError`(例如 `WEB_PROVIDER_UNAVAILABLE``WEB_PROVIDER_AMBIGUOUS`)失败,`ToolRegistry.execute()` 会把它转为模型可读、钩子UI 可路由的错误工具结果。这样无需把插件加载顺序、凭据状态或 HMR热模块替换时机纳入面向模型约,也能保持模型 schema 稳定。要彻底移除 web 工具,请在此处通过配置将其禁用。
工具绝不会调用提供方的 `available()`,也不会枚举提供方;唯一执行路径是 `ctx.web.search()``ctx.web.fetch()`,提供方不可用时,选择机制会在执行阶段抛出结构化 `WebError`,其错误码由工具接收。提供方选择完全留在 seam 内,由单一主体负责。

View File

@@ -3,4 +3,4 @@
# after editing either side, bring the other along and re-record with:
# pnpm run verify-translation-pairing --write packages/web/web-search-deepseek/README.md
README.md: 95340314fe08d0963b899f4a1d704a98f85963a5
README.zh.md: 48d94b64d15e4c0902e5222fe9a737b1e67270fc
README.zh.md: cf83426f70d6d2a77fd9acf5e927d1b13ec345eb

View File

@@ -79,6 +79,6 @@ DeepSeek 不返回该提供方可作为 `content` 信任的提供方生成答案
## 已知限制与暂缓事项
- **一次搜索需要完整的 Messages 模型轮次**:会产生延迟与生成 token并且最多执行 `maxUses` 次服务器侧搜索DeepSeek 不公开专用检索端点。
- **动态凭据的可用性在操作内部解析**:同步的 `available()` 约可以确认解析器存在,但无法查询异步凭据存储。因此,选中的无密钥提供方会使搜索以 `WEB_PROVIDER_CREDENTIAL_MISSING` 失败;稳定的 `web_search` schema 仍保持注册。调用方取消在本地与该预检存在竞态,但无法强制任意凭据后端自行停止工作。
- **动态凭据的可用性在操作内部解析**:同步的 `available()`可以确认解析器存在,但无法查询异步凭据存储。因此,选中的无密钥提供方会使搜索以 `WEB_PROVIDER_CREDENTIAL_MISSING` 失败;稳定的 `web_search` schema 仍保持注册。调用方取消在本地与该预检存在竞态,但无法强制任意凭据后端自行停止工作。
- **超量返回的源仍消耗 token**:协议没有结果数量旋钮,`maxResults` 只能由 seam 在事后截断。
- **未引用的结果没有 `snippet`**:只有 `text` 块中的引用(`cited_text`)匹配其 URL 时,源才会获得 snippet。

View File

@@ -3,4 +3,4 @@
# after editing either side, bring the other along and re-record with:
# pnpm run verify-translation-pairing --write packages/web/web/README.md
README.md: 73765fe060cc0a2b0fa3d69703a670f488a29ac9
README.zh.md: 3cce0fb528457b566b2c2ab4ffd1f29471255c07
README.zh.md: bebdb52d6c9bd33db5a982c1f278e71c1882f2de

View File

@@ -2,7 +2,7 @@
[English](README.md) | 中文
**web 访问 seam**:抽象 `WebService``ctx.web`)定义 harness 具备哪些 web 访问能力(搜索 web、抓取 URL并通过多个提供方实现不把模型约绑定到某个厂商的 API 形状。
**web 访问 seam**:抽象 `WebService``ctx.web`)定义 harness 具备哪些 web 访问能力(搜索 web、抓取 URL并通过多个提供方实现不把模型约绑定到某个厂商的 API 形状。
该包是 web 能力中负责接口的三分之一。与 bash/fs 不同,它在一个 seam 上跨越搜索与抓取两种能力,每种能力都可能有多个提供方:
@@ -43,7 +43,7 @@
## 词汇
`WebSearchRequest``query``maxResults?`)→ `WebSearchResult``content?``sources[]``truncated`);每个 `WebSearchSource` 都有必填 `url` 与可选 `title``snippet``publishedAt`Perplexity 引用可能只含 URL`WebFetchRequest``url`)→ `WebFetchResult`(最终 `url``statusCode``body``truncated`);取消作为可选的直接 `AbortSignal` 参数传给 `search()``fetch()``WebFetchBody` 是这里拥有的封闭判别联合(`html` | `text`);消费方使用 `switch` 实现穷尽检查,因此新增类型会导致编译失败,直到处理完毕。完整约见 `src/types.ts`,其中也包含 `WebError` code 分类体系。
`WebSearchRequest``query``maxResults?`)→ `WebSearchResult``content?``sources[]``truncated`);每个 `WebSearchSource` 都有必填 `url` 与可选 `title``snippet``publishedAt`Perplexity 引用可能只含 URL`WebFetchRequest``url`)→ `WebFetchResult`(最终 `url``statusCode``body``truncated`);取消作为可选的直接 `AbortSignal` 参数传给 `search()``fetch()``WebFetchBody` 是这里拥有的封闭判别联合(`html` | `text`);消费方使用 `switch` 实现穷尽检查,因此新增类型会导致编译失败,直到处理完毕。完整约`src/types.ts`,其中也包含 `WebError` code 分类体系。
## 模型体验