mirror of
https://git.openapi.site/https://github.com/desirecore/config-center.git
synced 2026-10-21 07:04:11 +08:00
fix(data): complete verified contracts and source maintenance (#114)
This commit is contained in:
55
docs/data-sources/api-providers/brave.md
Normal file
55
docs/data-sources/api-providers/brave.md
Normal file
@@ -0,0 +1,55 @@
|
||||
# Brave Search API
|
||||
|
||||
本轮读取失败,以下仅锁定现有待核合同,尚未证明字段有效。补官网正文并核实字段后再提升状态。
|
||||
|
||||
数据区中的 claims 是复核边界,pending 字段是当前配置快照,不能当官方证明。enabled/priority/timeout 是产品策略,未复制到合同中。更新合同必须重新读官方正文、记录实际证明字段;结构校验不等于账号可用。
|
||||
|
||||
<!-- data-source:start -->
|
||||
```json
|
||||
{
|
||||
"kind": "api-contract",
|
||||
"config": "api-providers/web-search/brave.json",
|
||||
"checkedAt": "2026-10-03",
|
||||
"status": "pending",
|
||||
"sources": [
|
||||
{
|
||||
"url": "https://api.search.brave.com/app/documentation/web-search/get-started",
|
||||
"retrieval": "failed",
|
||||
"checkedAt": "2026-10-03",
|
||||
"resolvedUrl": null,
|
||||
"contentSha256": null,
|
||||
"failure": "HTTP Error 403: Forbidden"
|
||||
}
|
||||
],
|
||||
"verifiedFields": [],
|
||||
"claims": {
|
||||
"endpoint": "https://api.search.brave.com/res/v1/web/search",
|
||||
"method": "GET",
|
||||
"auth": {
|
||||
"type": "header",
|
||||
"headerName": "X-Subscription-Token",
|
||||
"apiKeyRef": "brave"
|
||||
},
|
||||
"request": {
|
||||
"headers": {
|
||||
"Accept": "application/json",
|
||||
"Accept-Encoding": "gzip"
|
||||
},
|
||||
"queryParams": {
|
||||
"q": "${query}",
|
||||
"count": "${maxResults}"
|
||||
}
|
||||
},
|
||||
"response": {
|
||||
"resultsPath": "web.results",
|
||||
"item": {
|
||||
"titlePath": "title",
|
||||
"urlPath": "url",
|
||||
"snippetPath": "description",
|
||||
"pageAgePath": "page_age"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
<!-- data-source:end -->
|
||||
@@ -0,0 +1,69 @@
|
||||
# 视觉模型(Anthropic 兼容,复用默认映射)
|
||||
|
||||
旧 docs.anthropic.com 跳转至此官方域名,正文证明 Messages 的 image/base64/media_type/data 结构;max_tokens=1024 是本仓输出预算策略,官网示例使用该值不证明它是默认或上限。认证、API 版本和 content.0.text 不因本篇已读而视作全部核验;任意网关仍需验收。
|
||||
|
||||
数据区中的 claims 是复核边界,pending 字段是当前配置快照,不能当官方证明。enabled/priority/timeout 是产品策略,未复制到合同中。更新合同必须重新读官方正文、记录实际证明字段;结构校验不等于账号可用。
|
||||
|
||||
<!-- data-source:start -->
|
||||
```json
|
||||
{
|
||||
"kind": "api-contract",
|
||||
"config": "api-providers/image-understanding/configured-vision-anthropic.json",
|
||||
"checkedAt": "2026-10-03",
|
||||
"status": "partial",
|
||||
"sources": [
|
||||
{
|
||||
"url": "https://platform.claude.com/docs/en/build-with-claude/vision",
|
||||
"retrieval": "fetched",
|
||||
"checkedAt": "2026-10-03",
|
||||
"resolvedUrl": "https://platform.claude.com/docs/en/build-with-claude/vision",
|
||||
"contentSha256": "b35b04f339283acf2d250590830e7c552575c27d78c9b694523a6417a7a58044"
|
||||
}
|
||||
],
|
||||
"verifiedFields": [
|
||||
"request.bodyTemplate.messages.0.content.0.type",
|
||||
"request.bodyTemplate.messages.0.content.0.source.type"
|
||||
],
|
||||
"claims": {
|
||||
"endpoint": "${baseUrl}/messages",
|
||||
"method": "POST",
|
||||
"auth": {
|
||||
"type": "header",
|
||||
"headerName": "x-api-key"
|
||||
},
|
||||
"request": {
|
||||
"imageMode": "base64",
|
||||
"headers": {
|
||||
"anthropic-version": "2023-06-01"
|
||||
},
|
||||
"bodyTemplate": {
|
||||
"model": "${model}",
|
||||
"max_tokens": 1024,
|
||||
"messages": [
|
||||
{
|
||||
"role": "user",
|
||||
"content": [
|
||||
{
|
||||
"type": "image",
|
||||
"source": {
|
||||
"type": "base64",
|
||||
"media_type": "${imageMime}",
|
||||
"data": "${imageBase64}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"text": "${prompt}"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": {
|
||||
"textPath": "content.0.text"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
<!-- data-source:end -->
|
||||
62
docs/data-sources/api-providers/configured-vision-openai.md
Normal file
62
docs/data-sources/api-providers/configured-vision-openai.md
Normal file
@@ -0,0 +1,62 @@
|
||||
# 视觉模型(OpenAI 兼容,复用默认映射)
|
||||
|
||||
OpenAI Docs 明示 Chat Completions 的 image_url 内容块与 choices.message.content。只证明 OpenAI 原生格式;任意兼容网关、所选模型和动态 baseUrl 需分别验收。
|
||||
|
||||
数据区中的 claims 是复核边界,pending 字段是当前配置快照,不能当官方证明。enabled/priority/timeout 是产品策略,未复制到合同中。更新合同必须重新读官方正文、记录实际证明字段;结构校验不等于账号可用。
|
||||
|
||||
<!-- data-source:start -->
|
||||
```json
|
||||
{
|
||||
"kind": "api-contract",
|
||||
"config": "api-providers/image-understanding/configured-vision-openai.json",
|
||||
"checkedAt": "2026-10-03",
|
||||
"status": "partial",
|
||||
"sources": [
|
||||
{
|
||||
"url": "https://developers.openai.com/api/docs/guides/images-vision",
|
||||
"retrieval": "fetched",
|
||||
"checkedAt": "2026-10-03",
|
||||
"resolvedUrl": "https://developers.openai.com/api/docs/guides/images-vision",
|
||||
"contentSha256": "be92335e88c4af71534c352bb82f67040afac9fc96bcef3c2b5a7a103fd5163a"
|
||||
}
|
||||
],
|
||||
"verifiedFields": [
|
||||
"request.bodyTemplate.messages.0.content.1.type",
|
||||
"response.textPath"
|
||||
],
|
||||
"claims": {
|
||||
"endpoint": "${baseUrl}/chat/completions",
|
||||
"method": "POST",
|
||||
"auth": {
|
||||
"type": "bearer"
|
||||
},
|
||||
"request": {
|
||||
"imageMode": "url",
|
||||
"bodyTemplate": {
|
||||
"model": "${model}",
|
||||
"messages": [
|
||||
{
|
||||
"role": "user",
|
||||
"content": [
|
||||
{
|
||||
"type": "text",
|
||||
"text": "${prompt}"
|
||||
},
|
||||
{
|
||||
"type": "image_url",
|
||||
"image_url": {
|
||||
"url": "${imageUrl}"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": {
|
||||
"textPath": "choices.0.message.content"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
<!-- data-source:end -->
|
||||
55
docs/data-sources/api-providers/doubao-search-global.md
Normal file
55
docs/data-sources/api-providers/doubao-search-global.md
Normal file
@@ -0,0 +1,55 @@
|
||||
# 豆包搜索 Global
|
||||
|
||||
火山文档读取失败;不能认定其证明 feedcoopapi 的合同。需确认该具体域名所属服务、地域、认证和结果映射。
|
||||
|
||||
数据区中的 claims 是复核边界,pending 字段是当前配置快照,不能当官方证明。enabled/priority/timeout 是产品策略,未复制到合同中。更新合同必须重新读官方正文、记录实际证明字段;结构校验不等于账号可用。
|
||||
|
||||
<!-- data-source:start -->
|
||||
```json
|
||||
{
|
||||
"kind": "api-contract",
|
||||
"config": "api-providers/web-search/doubao-search-global.json",
|
||||
"checkedAt": "2026-10-03",
|
||||
"status": "pending",
|
||||
"sources": [
|
||||
{
|
||||
"url": "https://www.volcengine.com/docs/85508/1650263",
|
||||
"retrieval": "shell",
|
||||
"checkedAt": "2026-10-03",
|
||||
"resolvedUrl": "https://docs.volcengine.com/docs/NetworkedQAAgent/FusionInformationSearchAPI?lang=zh",
|
||||
"contentSha256": "98f4de231487390a83d6929b01e41e83de77b884dccc3f93e2adeb8036eb1bcc"
|
||||
}
|
||||
],
|
||||
"verifiedFields": [],
|
||||
"claims": {
|
||||
"endpoint": "https://open.feedcoopapi.com/search_api/global_search",
|
||||
"method": "POST",
|
||||
"auth": {
|
||||
"type": "bearer",
|
||||
"apiKeyRef": "doubao-search-global"
|
||||
},
|
||||
"request": {
|
||||
"bodyTemplate": {
|
||||
"Query": "${query}",
|
||||
"SearchType": "web",
|
||||
"DocCount": "${maxResults}",
|
||||
"MaxSnippetLength": 500
|
||||
}
|
||||
},
|
||||
"response": {
|
||||
"resultsPath": "Result.Documents",
|
||||
"item": {
|
||||
"titlePath": "Title",
|
||||
"urlPath": "Url",
|
||||
"snippetPath": "Snippet.0.Text",
|
||||
"pageAgePath": "DocumentInfo.PublishTime"
|
||||
},
|
||||
"successCondition": {
|
||||
"path": "Result.ErrorCode",
|
||||
"equals": 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
<!-- data-source:end -->
|
||||
49
docs/data-sources/api-providers/serper.md
Normal file
49
docs/data-sources/api-providers/serper.md
Normal file
@@ -0,0 +1,49 @@
|
||||
# Serper
|
||||
|
||||
首页可读,但未找到认证请求与完整响应契约,本轮不能据此确认 X-API-KEY、organic 等字段。需官方控制台文档或示例。
|
||||
|
||||
数据区中的 claims 是复核边界,pending 字段是当前配置快照,不能当官方证明。enabled/priority/timeout 是产品策略,未复制到合同中。更新合同必须重新读官方正文、记录实际证明字段;结构校验不等于账号可用。
|
||||
|
||||
<!-- data-source:start -->
|
||||
```json
|
||||
{
|
||||
"kind": "api-contract",
|
||||
"config": "api-providers/web-search/serper.json",
|
||||
"checkedAt": "2026-10-03",
|
||||
"status": "pending",
|
||||
"sources": [
|
||||
{
|
||||
"url": "https://serper.dev/",
|
||||
"retrieval": "fetched",
|
||||
"checkedAt": "2026-10-03",
|
||||
"resolvedUrl": "https://serper.dev/",
|
||||
"contentSha256": "ad5b407c075ef4357fc4674cafb1b215d2713dc17d65d0607504bfec29b62c6c"
|
||||
}
|
||||
],
|
||||
"verifiedFields": [],
|
||||
"claims": {
|
||||
"endpoint": "https://google.serper.dev/search",
|
||||
"method": "POST",
|
||||
"auth": {
|
||||
"type": "header",
|
||||
"headerName": "X-API-KEY",
|
||||
"apiKeyRef": "serper"
|
||||
},
|
||||
"request": {
|
||||
"bodyTemplate": {
|
||||
"q": "${query}",
|
||||
"num": "${maxResults}"
|
||||
}
|
||||
},
|
||||
"response": {
|
||||
"resultsPath": "organic",
|
||||
"item": {
|
||||
"titlePath": "title",
|
||||
"urlPath": "link",
|
||||
"snippetPath": "snippet"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
<!-- data-source:end -->
|
||||
58
docs/data-sources/api-providers/tavily.md
Normal file
58
docs/data-sources/api-providers/tavily.md
Normal file
@@ -0,0 +1,58 @@
|
||||
# Tavily
|
||||
|
||||
官网明示 POST /search、Bearer、query/max_results/search_depth 与 results 的 title/url/content;本仓模板仍需客户端插值为正确类型。未进行账号调用。
|
||||
|
||||
数据区中的 claims 是复核边界,pending 字段是当前配置快照,不能当官方证明。enabled/priority/timeout 是产品策略,未复制到合同中。更新合同必须重新读官方正文、记录实际证明字段;结构校验不等于账号可用。
|
||||
|
||||
<!-- data-source:start -->
|
||||
```json
|
||||
{
|
||||
"kind": "api-contract",
|
||||
"config": "api-providers/web-search/tavily.json",
|
||||
"checkedAt": "2026-10-03",
|
||||
"status": "partial",
|
||||
"sources": [
|
||||
{
|
||||
"url": "https://docs.tavily.com/documentation/api-reference/endpoint/search",
|
||||
"retrieval": "fetched",
|
||||
"checkedAt": "2026-10-03",
|
||||
"resolvedUrl": "https://docs.tavily.com/documentation/api-reference/endpoint/search",
|
||||
"contentSha256": "66af3f0a8b6a72650ba5a1e99a8f72818dc2e8dab81ae8dcd88437330181f912"
|
||||
}
|
||||
],
|
||||
"verifiedFields": [
|
||||
"endpoint",
|
||||
"method",
|
||||
"auth.type",
|
||||
"request.bodyTemplate.search_depth",
|
||||
"response.resultsPath",
|
||||
"response.item.titlePath",
|
||||
"response.item.urlPath",
|
||||
"response.item.snippetPath"
|
||||
],
|
||||
"claims": {
|
||||
"endpoint": "https://api.tavily.com/search",
|
||||
"method": "POST",
|
||||
"auth": {
|
||||
"type": "bearer",
|
||||
"apiKeyRef": "tavily"
|
||||
},
|
||||
"request": {
|
||||
"bodyTemplate": {
|
||||
"query": "${query}",
|
||||
"max_results": "${maxResults}",
|
||||
"search_depth": "basic"
|
||||
}
|
||||
},
|
||||
"response": {
|
||||
"resultsPath": "results",
|
||||
"item": {
|
||||
"titlePath": "title",
|
||||
"urlPath": "url",
|
||||
"snippetPath": "content"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
<!-- data-source:end -->
|
||||
Reference in New Issue
Block a user