From 5bcb6d3db87632b6dca356d071f5b5e3dca68f48 Mon Sep 17 00:00:00 2001 From: yi-ge Date: Thu, 15 Oct 2026 19:42:59 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E8=AE=B0=E5=BD=95=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E7=88=AC=E8=99=AB=E9=87=8D=E6=8A=93=E4=B8=8E=E5=8F=8C=E8=AF=AD?= =?UTF-8?q?=E9=AA=8C=E6=94=B6=E7=BB=93=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PLAN.md | 10 +- api/README.md | 16 +- api/publication.json | 37 +- api/search-verification.json | 1619 ++++++++++++++++++++++++++++++++++ api/verification.md | 10 + 5 files changed, 1684 insertions(+), 8 deletions(-) create mode 100644 api/search-verification.json diff --git a/PLAN.md b/PLAN.md index 113467d..5edc94b 100644 --- a/PLAN.md +++ b/PLAN.md @@ -2,7 +2,7 @@ 本计划把已核对的 DesireCore 接口整理成公开站点中的“集成与 API”区域。用户应能根据文档取得正确的服务地址和授权凭据,完成一次调用,理解响应与运行结果,并处理实际错误。实施采用主 Agent 协调、多个 subAgent 按接口能力并行核查、编写和验证的方式;先交付一个完整可用的接入流程,再按各项能力的实际进度发布扩展参考和 OpenAPI 下载。 -状态:P0—P6 选定范围实施与发布验收完成。源码 #4798 已合并;文档 #72 及场景入口修复 #73 已合并并完成网站自动部署;16个API页面、8个下载和全站716URL线上验收通过。即时站内搜索尚未返回新增API页,未宣称搜索收录完成。更新日期:2026-10-15。 +状态:P0—P6 选定范围实施与发布验收完成。源码 #4798 已合并;文档 #72 及场景入口修复 #73 已合并并完成网站自动部署;16个API页面、8个下载和全站716URL线上验收通过。站内搜索已重抓更新,16个API页面的中英文标题、关键端点及浏览器弹窗验收通过。更新日期:2026-10-15。 ## 1. 实施目标与完成标准 @@ -485,3 +485,11 @@ P0—P5 表示工作范围,不能作为全局串行阶段。主 Agent 先完 即时站内搜索返回19条已有Webhook结果,未返回新增API路径;新页均可通过导航访问且sitemap/robots允许抓取。已完成索引状态检查,但不把可抓取写成已经收录,也不把搜索未更新当作部署失败。 来源清单固定最终源码与对应内部docs指针;内部全量发现台账保留原核查快照,不将本次选定合同差异复核冒充全量重新扫描。最终发布链、部署编号、生产逐项结果及限制保存在 `api/publication.json` 与 `api/production-verification.json`。 + +## 16. 站内搜索索引更新与验收(2026-10-15) + +管理端确认当前crawler每月23日运行,上次完整抓取为9月23日,本次API发布后尚未运行;下一次计划抓取为10月23日。前端索引 `DesireCore Docs` 与crawler写入索引一致,域名/路径规则覆盖中英文API,maxUrls无限制;页面HTML、robots、canonical及DocSearch元数据均满足抓取条件。根因是既有月度调度尚未执行本次更新。 + +沿现有配置手动抓取,于北京时间19:30:02开始、19:32:35结束,734个URL成功、2个内容类型忽略、2个旧v10.0.180中英文更新日志因记录过大失败。索引从19,324条更新至21,572条。未修改抓取周期,未发布编辑器草稿。中英文Webhook单页提取测试各生成110条记录。 + +正式搜索验收使用前端真实language/tag上下文过滤,16/16目标页面标题、4/4关键端点、2/2旧页对照全部命中,目标记录语言/current版本/标签均正确;中英文搜索弹窗均显示目标Webhook指南且点击可打开对应页面。首次命中排名1—19,不将索引覆盖误写成所有结果均排名第一。逐项证据见 `api/search-verification.json`,发布摘要已更新。 diff --git a/api/README.md b/api/README.md index 3c1bb3f..a681406 100644 --- a/api/README.md +++ b/api/README.md @@ -30,6 +30,20 @@ pnpm api:check -- --build `api:check` 检查清单、两种语言的显式 slug、JSON 示例、版本提示框及 OpenAPI 范围、引用、鉴权和下载链接;`--build` 额外读取本地 HTML 和 sitemap。它不读取私有源仓库、不访问生产 URL,也不证明翻译语义或接口运行已验收。 +## 搜索索引维护 + +网站自动部署与 Algolia 索引更新是两个独立步骤。现有 DocSearch crawler 按月在每月 23 日运行,部署成功不能证明新增页面已经收录。当前使用应用 `68TB6NUYVW`、索引 `DesireCore Docs` 和 crawler `26591011-cca2-4aaa-9c75-75f1f0b3fad5`;周期时间以管理端显示为准。 + +发布新增或调整后的 API 页面后,按以下步骤验收: + +1. 先确认生产页面、canonical、robots、双语 sitemap 与正文正常。API 页应有可直接读取的 `.theme-doc-markdown`、标题及 `docsearch:language`、`docsearch:version`、`docsearch:docusaurus_tag` 元数据。 +2. 在现有 crawler 的 URL Tester 中分别检查中英文页面的记录提取,再手动触发该 crawler 抓取。保留已保存配置和现有月度周期,不将编辑器草稿发布或新建密钥作为常规重抓步骤。 +3. 等待该次抓取结束,记录时间、成功/忽略/失败 URL 数与索引记录数;检查失败原因,不能只看记录总数增长。先保留路径规则、选择器、调度等变量,只有抓取证据指向具体配置问题时再处理该项。 +4. 按站点实际过滤条件查询:中文 `language:zh-Hans`、英文 `language:en`,并使用 `docusaurus_tag:default OR docs-default-current`。逐项检查 16 个双语 API 页面标题、代表性端点和两种语言的旧页面对照,确认返回目标 URL、`current` 版本和正确 tag;结果排名不要求固定第一。 +5. 在网站搜索框分别查找“智能体 Webhook”和“Agent Webhook”,打开目标页面,再更新 [搜索验收记录](./search-verification.json)。公开记录只保留必要的时间、配置、查询与结果证据,不保存密钥、账号身份、请求头或本机绝对路径。 + +2026-10-15 的手动抓取使索引从 19,324 条增至 21,572 条,22 项查询及双语浏览器检查通过。该次抓取仍有两篇 `v10.0.180` 更新日志因记录过大而失败;API 搜索验收通过不等于全站抓取没有失败。完整结果见搜索验收记录。 + ## 清单字段 `pages` 列出本批公开页面的 `id`、源码 `file` 和稳定 `slug`。`endpoints` 使用以下字段: @@ -64,4 +78,4 @@ pnpm api:check -- --build ## 当前验证记录 -参见 [核查与验证](./verification.md)、[发布与验收摘要](./publication.json)及[生产逐项报告](./production-verification.json)。后续更改认证、路由、配置入口或结果交付时,只重新核对受影响合同和相关示例,不将本批测试结果传播为其它功能的运行保证。 +参见 [核查与验证](./verification.md)、[发布与验收摘要](./publication.json)、[生产逐项报告](./production-verification.json)及[搜索验收记录](./search-verification.json)。后续更改认证、路由、配置入口或结果交付时,只重新核对受影响合同和相关示例,不将本批测试结果传播为其它功能的运行保证。 diff --git a/api/publication.json b/api/publication.json index 8bd9bd7..47ff715 100644 --- a/api/publication.json +++ b/api/publication.json @@ -64,12 +64,37 @@ } }, "search": { - "checkedAt": "2026-10-15T09:10:17.966Z", - "httpStatus": 200, - "query": "Webhook", - "hits": 19, - "newApiUrls": [], - "status": "New API pages not returned by immediate search; page deployment, sitemap inclusion and crawlability passed. Search indexing is not claimed complete." + "checkedAt": "2026-10-15T11:34:17.100Z", + "status": "passed", + "rootCause": "The existing crawler runs on the 23rd day of each month; the previous complete crawl was on 2026-09-23, before API publication.", + "crawlerId": "26591011-cca2-4aaa-9c75-75f1f0b3fad5", + "schedule": "on the 23 day of the month", + "manualCrawl": { + "startedAt": "2026-10-15T11:30:02Z", + "completedAt": "2026-10-15T11:32:35Z", + "successUrls": 734, + "ignoredUrls": 2, + "failedUrls": 2, + "recordsBefore": 19324, + "recordsAfter": 21572 + }, + "titleTargets": 16, + "titleTargetsMatched": 16, + "endpointChecks": 4, + "endpointChecksPassed": 4, + "legacyControls": 2, + "legacyControlsPassed": 2, + "contextualFilter": "language: AND (docusaurus_tag:default OR docusaurus_tag:docs-default-current)", + "browserChecks": { + "zhQuery": "智能体 Webhook", + "enQuery": "Agent Webhook", + "targetLinksOpened": true + }, + "details": "search-verification.json", + "limitations": [ + "The monthly schedule is unchanged; website deployment does not itself trigger this external crawler.", + "The two oversized-record failures concern the Chinese and English v10.0.180 changelog pages, not API pages." + ] }, "limitations": [ "No commercial model, packaged-client or production business-operation acceptance is inferred from this documentation deployment.", diff --git a/api/search-verification.json b/api/search-verification.json new file mode 100644 index 0000000..a065d22 --- /dev/null +++ b/api/search-verification.json @@ -0,0 +1,1619 @@ +{ + "schemaVersion": 1, + "recordedAt": "2026-10-15T11:34:17.100Z", + "site": "https://docs.desirecore.com", + "algolia": { + "appId": "68TB6NUYVW", + "indexName": "DesireCore Docs", + "crawlerId": "26591011-cca2-4aaa-9c75-75f1f0b3fad5" + }, + "evidence": { + "cloud": "Crawler configuration, URL Tester, crawl history and index counts observed in the Algolia administration UI.", + "search": "Bounded read-only public search API queries using the same language and Docusaurus tag filters as the website.", + "browser": "Chinese and English DocSearch queries were checked in the website UI and the target pages opened successfully.", + "dataHandling": "Keys, account identities, request headers and local filesystem locations are omitted. Query responses are reduced to counts, ranks, facet checks and the first matching public record." + }, + "cause": { + "finding": "The saved crawler was scheduled monthly and its previous completed crawl preceded publication of the API pages. A manual crawl populated the new records without a crawler configuration or schedule change.", + "previousCompleteCrawl": { + "startedAtDisplay": "2026-09-23 08:00:06", + "completedAtDisplay": "2026-09-23 08:41:52", + "timeBasis": "Administration UI display; timezone not independently verified." + } + }, + "crawlerConfiguration": { + "version": 4, + "savedAtDisplay": "2026-03-11", + "schedule": { + "frequency": "monthly", + "dayOfMonth": 23, + "nextRunDisplay": "2026-10-23 08:00", + "timeBasis": "Administration UI display; timezone not independently verified." + }, + "pathsToMatch": [ + "https://docs.desirecore.com/**" + ], + "discoveryPatterns": [ + "https://docs.desirecore.com/**" + ], + "startUrls": [ + "https://docs.desirecore.com/" + ], + "sitemaps": [ + "https://docs.desirecore.com/sitemap.xml" + ], + "maxUrls": null, + "rateLimit": 8, + "maxDepth": 10, + "renderJavaScript": false, + "ignoreCanonicalTo": true + }, + "actions": { + "manualCrawlTriggered": true, + "editorDraftPublished": false, + "scheduleChanged": false, + "newKeyCreated": false + }, + "urlTester": [ + { + "locale": "zh-Hans", + "url": "https://docs.desirecore.com/api/agent-webhook", + "status": "success", + "records": 110 + }, + { + "locale": "en", + "url": "https://docs.desirecore.com/en/api/agent-webhook", + "status": "success", + "records": 110 + } + ], + "manualCrawl": { + "startedAt": "2026-10-15T11:30:02Z", + "completedAt": "2026-10-15T11:32:35Z", + "totalUrls": 738, + "successfulUrls": 734, + "ignoredUrls": 2, + "ignoredReason": "Content type", + "failedUrls": 2, + "failures": [ + { + "url": "https://docs.desirecore.com/more/changelog/v10.0.180", + "reason": "Records too big" + }, + { + "url": "https://docs.desirecore.com/en/more/changelog/v10.0.180", + "reason": "Records too big" + } + ], + "indexRecordsBefore": 19324, + "indexRecordsAfter": 21572, + "indexRecordIncrease": 2248 + }, + "queryAudit": { + "startedAt": "2026-10-15T11:34:08.251Z", + "completedAt": "2026-10-15T11:34:17.100Z", + "method": "Read-only search; one query per title, four endpoint queries, two old-page controls; no polling, browse, settings, or write operation", + "results": [ + { + "kind": "title", + "pageId": "api/index", + "locale": "zh-Hans", + "query": "集成与 API", + "target": "https://docs.desirecore.com/api", + "facetFilters": [ + "language:zh-Hans", + [ + "docusaurus_tag:default", + "docusaurus_tag:docs-default-current" + ] + ], + "httpStatus": 200, + "nbHits": 24, + "nbPages": 1, + "exhaustiveNbHits": true, + "hitWindowTruncated": false, + "targetMatchCount": 4, + "targetMatchRanks": [ + 7, + 8, + 9, + 10 + ], + "returnedTargetFacets": { + "checkedRecords": 4, + "languageMatches": true, + "versionContainsCurrent": true, + "tags": [ + "docs-default-current" + ] + }, + "firstTargetMatch": { + "version": [ + "current" + ], + "url": "https://docs.desirecore.com/api", + "language": "zh-Hans", + "type": "lvl1", + "docusaurus_tag": "docs-default-current", + "hierarchy": { + "lvl0": "API", + "lvl1": "集成与 API", + "lvl2": null, + "lvl3": null, + "lvl4": null, + "lvl5": null, + "lvl6": null + }, + "objectID": "1-https://docs.desirecore.com/api" + }, + "error": null + }, + { + "kind": "title", + "pageId": "api/index", + "locale": "en", + "query": "Integration & API", + "target": "https://docs.desirecore.com/en/api", + "facetFilters": [ + "language:en", + [ + "docusaurus_tag:default", + "docusaurus_tag:docs-default-current" + ] + ], + "httpStatus": 200, + "nbHits": 98, + "nbPages": 1, + "exhaustiveNbHits": true, + "hitWindowTruncated": false, + "targetMatchCount": 4, + "targetMatchRanks": [ + 19, + 20, + 21, + 22 + ], + "returnedTargetFacets": { + "checkedRecords": 4, + "languageMatches": true, + "versionContainsCurrent": true, + "tags": [ + "docs-default-current" + ] + }, + "firstTargetMatch": { + "version": [ + "current" + ], + "url": "https://docs.desirecore.com/en/api", + "language": "en", + "type": "lvl1", + "docusaurus_tag": "docs-default-current", + "hierarchy": { + "lvl0": "API", + "lvl1": "Integration & API", + "lvl2": null, + "lvl3": null, + "lvl4": null, + "lvl5": null, + "lvl6": null + }, + "objectID": "1-https://docs.desirecore.com/en/api" + }, + "error": null + }, + { + "kind": "title", + "pageId": "api/connection-and-auth", + "locale": "zh-Hans", + "query": "连接实例与认证", + "target": "https://docs.desirecore.com/api/connection-and-auth", + "facetFilters": [ + "language:zh-Hans", + [ + "docusaurus_tag:default", + "docusaurus_tag:docs-default-current" + ] + ], + "httpStatus": 200, + "nbHits": 20, + "nbPages": 1, + "exhaustiveNbHits": true, + "hitWindowTruncated": false, + "targetMatchCount": 9, + "targetMatchRanks": [ + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], + "returnedTargetFacets": { + "checkedRecords": 9, + "languageMatches": true, + "versionContainsCurrent": true, + "tags": [ + "docs-default-current" + ] + }, + "firstTargetMatch": { + "version": [ + "current" + ], + "url": "https://docs.desirecore.com/api/connection-and-auth", + "language": "zh-Hans", + "type": "lvl1", + "docusaurus_tag": "docs-default-current", + "hierarchy": { + "lvl0": "API", + "lvl1": "连接实例与认证", + "lvl2": null, + "lvl3": null, + "lvl4": null, + "lvl5": null, + "lvl6": null + }, + "objectID": "1-https://docs.desirecore.com/api/connection-and-auth" + }, + "error": null + }, + { + "kind": "title", + "pageId": "api/connection-and-auth", + "locale": "en", + "query": "Connect to an Instance and Authenticate", + "target": "https://docs.desirecore.com/en/api/connection-and-auth", + "facetFilters": [ + "language:en", + [ + "docusaurus_tag:default", + "docusaurus_tag:docs-default-current" + ] + ], + "httpStatus": 200, + "nbHits": 14, + "nbPages": 1, + "exhaustiveNbHits": true, + "hitWindowTruncated": false, + "targetMatchCount": 9, + "targetMatchRanks": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "returnedTargetFacets": { + "checkedRecords": 9, + "languageMatches": true, + "versionContainsCurrent": true, + "tags": [ + "docs-default-current" + ] + }, + "firstTargetMatch": { + "version": [ + "current" + ], + "url": "https://docs.desirecore.com/en/api/connection-and-auth", + "language": "en", + "type": "lvl1", + "docusaurus_tag": "docs-default-current", + "hierarchy": { + "lvl0": "API", + "lvl1": "Connect to an Instance and Authenticate", + "lvl2": null, + "lvl3": null, + "lvl4": null, + "lvl5": null, + "lvl6": null + }, + "objectID": "1-https://docs.desirecore.com/en/api/connection-and-auth" + }, + "error": null + }, + { + "kind": "title", + "pageId": "api/agent-webhook", + "locale": "zh-Hans", + "query": "智能体 Webhook", + "target": "https://docs.desirecore.com/api/agent-webhook", + "facetFilters": [ + "language:zh-Hans", + [ + "docusaurus_tag:default", + "docusaurus_tag:docs-default-current" + ] + ], + "httpStatus": 200, + "nbHits": 26, + "nbPages": 1, + "exhaustiveNbHits": true, + "hitWindowTruncated": false, + "targetMatchCount": 15, + "targetMatchRanks": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15 + ], + "returnedTargetFacets": { + "checkedRecords": 15, + "languageMatches": true, + "versionContainsCurrent": true, + "tags": [ + "docs-default-current" + ] + }, + "firstTargetMatch": { + "version": [ + "current" + ], + "url": "https://docs.desirecore.com/api/agent-webhook", + "language": "zh-Hans", + "type": "lvl1", + "docusaurus_tag": "docs-default-current", + "hierarchy": { + "lvl0": "API", + "lvl1": "智能体 Webhook", + "lvl2": null, + "lvl3": null, + "lvl4": null, + "lvl5": null, + "lvl6": null + }, + "objectID": "1-https://docs.desirecore.com/api/agent-webhook" + }, + "error": null + }, + { + "kind": "title", + "pageId": "api/agent-webhook", + "locale": "en", + "query": "Agent Webhook", + "target": "https://docs.desirecore.com/en/api/agent-webhook", + "facetFilters": [ + "language:en", + [ + "docusaurus_tag:default", + "docusaurus_tag:docs-default-current" + ] + ], + "httpStatus": 200, + "nbHits": 38, + "nbPages": 1, + "exhaustiveNbHits": true, + "hitWindowTruncated": false, + "targetMatchCount": 15, + "targetMatchRanks": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15 + ], + "returnedTargetFacets": { + "checkedRecords": 15, + "languageMatches": true, + "versionContainsCurrent": true, + "tags": [ + "docs-default-current" + ] + }, + "firstTargetMatch": { + "version": [ + "current" + ], + "url": "https://docs.desirecore.com/en/api/agent-webhook", + "language": "en", + "type": "lvl1", + "docusaurus_tag": "docs-default-current", + "hierarchy": { + "lvl0": "API", + "lvl1": "Agent Webhook", + "lvl2": null, + "lvl3": null, + "lvl4": null, + "lvl5": null, + "lvl6": null + }, + "objectID": "1-https://docs.desirecore.com/en/api/agent-webhook" + }, + "error": null + }, + { + "kind": "title", + "pageId": "api/errors-and-troubleshooting", + "locale": "zh-Hans", + "query": "错误与排查", + "target": "https://docs.desirecore.com/api/errors-and-troubleshooting", + "facetFilters": [ + "language:zh-Hans", + [ + "docusaurus_tag:default", + "docusaurus_tag:docs-default-current" + ] + ], + "httpStatus": 200, + "nbHits": 24, + "nbPages": 1, + "exhaustiveNbHits": true, + "hitWindowTruncated": false, + "targetMatchCount": 8, + "targetMatchRanks": [ + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12 + ], + "returnedTargetFacets": { + "checkedRecords": 8, + "languageMatches": true, + "versionContainsCurrent": true, + "tags": [ + "docs-default-current" + ] + }, + "firstTargetMatch": { + "version": [ + "current" + ], + "url": "https://docs.desirecore.com/api/errors-and-troubleshooting", + "language": "zh-Hans", + "type": "lvl1", + "docusaurus_tag": "docs-default-current", + "hierarchy": { + "lvl0": "API", + "lvl1": "错误与排查", + "lvl2": null, + "lvl3": null, + "lvl4": null, + "lvl5": null, + "lvl6": null + }, + "objectID": "1-https://docs.desirecore.com/api/errors-and-troubleshooting" + }, + "error": null + }, + { + "kind": "title", + "pageId": "api/errors-and-troubleshooting", + "locale": "en", + "query": "Errors and Troubleshooting", + "target": "https://docs.desirecore.com/en/api/errors-and-troubleshooting", + "facetFilters": [ + "language:en", + [ + "docusaurus_tag:default", + "docusaurus_tag:docs-default-current" + ] + ], + "httpStatus": 200, + "nbHits": 24, + "nbPages": 1, + "exhaustiveNbHits": true, + "hitWindowTruncated": false, + "targetMatchCount": 8, + "targetMatchRanks": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8 + ], + "returnedTargetFacets": { + "checkedRecords": 8, + "languageMatches": true, + "versionContainsCurrent": true, + "tags": [ + "docs-default-current" + ] + }, + "firstTargetMatch": { + "version": [ + "current" + ], + "url": "https://docs.desirecore.com/en/api/errors-and-troubleshooting", + "language": "en", + "type": "lvl1", + "docusaurus_tag": "docs-default-current", + "hierarchy": { + "lvl0": "API", + "lvl1": "Errors and Troubleshooting", + "lvl2": null, + "lvl3": null, + "lvl4": null, + "lvl5": null, + "lvl6": null + }, + "objectID": "1-https://docs.desirecore.com/en/api/errors-and-troubleshooting" + }, + "error": null + }, + { + "kind": "title", + "pageId": "api/conversations-and-runs", + "locale": "zh-Hans", + "query": "对话与运行记录", + "target": "https://docs.desirecore.com/api/conversations-and-runs", + "facetFilters": [ + "language:zh-Hans", + [ + "docusaurus_tag:default", + "docusaurus_tag:docs-default-current" + ] + ], + "httpStatus": 200, + "nbHits": 54, + "nbPages": 1, + "exhaustiveNbHits": true, + "hitWindowTruncated": false, + "targetMatchCount": 24, + "targetMatchRanks": [ + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "returnedTargetFacets": { + "checkedRecords": 24, + "languageMatches": true, + "versionContainsCurrent": true, + "tags": [ + "docs-default-current" + ] + }, + "firstTargetMatch": { + "version": [ + "current" + ], + "url": "https://docs.desirecore.com/api/conversations-and-runs", + "language": "zh-Hans", + "type": "lvl1", + "docusaurus_tag": "docs-default-current", + "hierarchy": { + "lvl0": "API", + "lvl1": "对话与运行记录", + "lvl2": null, + "lvl3": null, + "lvl4": null, + "lvl5": null, + "lvl6": null + }, + "objectID": "1-https://docs.desirecore.com/api/conversations-and-runs" + }, + "error": null + }, + { + "kind": "title", + "pageId": "api/conversations-and-runs", + "locale": "en", + "query": "Conversations and Runs", + "target": "https://docs.desirecore.com/en/api/conversations-and-runs", + "facetFilters": [ + "language:en", + [ + "docusaurus_tag:default", + "docusaurus_tag:docs-default-current" + ] + ], + "httpStatus": 200, + "nbHits": 137, + "nbPages": 2, + "exhaustiveNbHits": true, + "hitWindowTruncated": true, + "targetMatchCount": 24, + "targetMatchRanks": [ + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26 + ], + "returnedTargetFacets": { + "checkedRecords": 24, + "languageMatches": true, + "versionContainsCurrent": true, + "tags": [ + "docs-default-current" + ] + }, + "firstTargetMatch": { + "version": [ + "current" + ], + "url": "https://docs.desirecore.com/en/api/conversations-and-runs", + "language": "en", + "type": "lvl1", + "docusaurus_tag": "docs-default-current", + "hierarchy": { + "lvl0": "API", + "lvl1": "Conversations and Runs", + "lvl2": null, + "lvl3": null, + "lvl4": null, + "lvl5": null, + "lvl6": null + }, + "objectID": "1-https://docs.desirecore.com/en/api/conversations-and-runs" + }, + "error": null + }, + { + "kind": "title", + "pageId": "api/model-proxy", + "locale": "zh-Hans", + "query": "模型协议代理", + "target": "https://docs.desirecore.com/api/model-proxy", + "facetFilters": [ + "language:zh-Hans", + [ + "docusaurus_tag:default", + "docusaurus_tag:docs-default-current" + ] + ], + "httpStatus": 200, + "nbHits": 21, + "nbPages": 1, + "exhaustiveNbHits": true, + "hitWindowTruncated": false, + "targetMatchCount": 12, + "targetMatchRanks": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12 + ], + "returnedTargetFacets": { + "checkedRecords": 12, + "languageMatches": true, + "versionContainsCurrent": true, + "tags": [ + "docs-default-current" + ] + }, + "firstTargetMatch": { + "version": [ + "current" + ], + "url": "https://docs.desirecore.com/api/model-proxy", + "language": "zh-Hans", + "type": "lvl1", + "docusaurus_tag": "docs-default-current", + "hierarchy": { + "lvl0": "API", + "lvl1": "模型协议代理", + "lvl2": null, + "lvl3": null, + "lvl4": null, + "lvl5": null, + "lvl6": null + }, + "objectID": "1-https://docs.desirecore.com/api/model-proxy" + }, + "error": null + }, + { + "kind": "title", + "pageId": "api/model-proxy", + "locale": "en", + "query": "Model Protocol Proxy", + "target": "https://docs.desirecore.com/en/api/model-proxy", + "facetFilters": [ + "language:en", + [ + "docusaurus_tag:default", + "docusaurus_tag:docs-default-current" + ] + ], + "httpStatus": 200, + "nbHits": 18, + "nbPages": 1, + "exhaustiveNbHits": true, + "hitWindowTruncated": false, + "targetMatchCount": 12, + "targetMatchRanks": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12 + ], + "returnedTargetFacets": { + "checkedRecords": 12, + "languageMatches": true, + "versionContainsCurrent": true, + "tags": [ + "docs-default-current" + ] + }, + "firstTargetMatch": { + "version": [ + "current" + ], + "url": "https://docs.desirecore.com/en/api/model-proxy", + "language": "en", + "type": "lvl1", + "docusaurus_tag": "docs-default-current", + "hierarchy": { + "lvl0": "API", + "lvl1": "Model Protocol Proxy", + "lvl2": null, + "lvl3": null, + "lvl4": null, + "lvl5": null, + "lvl6": null + }, + "objectID": "1-https://docs.desirecore.com/en/api/model-proxy" + }, + "error": null + }, + { + "kind": "title", + "pageId": "api/workflow-integration", + "locale": "zh-Hans", + "query": "工作流集成", + "target": "https://docs.desirecore.com/api/workflow-integration", + "facetFilters": [ + "language:zh-Hans", + [ + "docusaurus_tag:default", + "docusaurus_tag:docs-default-current" + ] + ], + "httpStatus": 200, + "nbHits": 26, + "nbPages": 1, + "exhaustiveNbHits": true, + "hitWindowTruncated": false, + "targetMatchCount": 15, + "targetMatchRanks": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15 + ], + "returnedTargetFacets": { + "checkedRecords": 15, + "languageMatches": true, + "versionContainsCurrent": true, + "tags": [ + "docs-default-current" + ] + }, + "firstTargetMatch": { + "version": [ + "current" + ], + "url": "https://docs.desirecore.com/api/workflow-integration", + "language": "zh-Hans", + "type": "lvl1", + "docusaurus_tag": "docs-default-current", + "hierarchy": { + "lvl0": "API", + "lvl1": "工作流集成", + "lvl2": null, + "lvl3": null, + "lvl4": null, + "lvl5": null, + "lvl6": null + }, + "objectID": "1-https://docs.desirecore.com/api/workflow-integration" + }, + "error": null + }, + { + "kind": "title", + "pageId": "api/workflow-integration", + "locale": "en", + "query": "Workflow Integration", + "target": "https://docs.desirecore.com/en/api/workflow-integration", + "facetFilters": [ + "language:en", + [ + "docusaurus_tag:default", + "docusaurus_tag:docs-default-current" + ] + ], + "httpStatus": 200, + "nbHits": 44, + "nbPages": 1, + "exhaustiveNbHits": true, + "hitWindowTruncated": false, + "targetMatchCount": 15, + "targetMatchRanks": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15 + ], + "returnedTargetFacets": { + "checkedRecords": 15, + "languageMatches": true, + "versionContainsCurrent": true, + "tags": [ + "docs-default-current" + ] + }, + "firstTargetMatch": { + "version": [ + "current" + ], + "url": "https://docs.desirecore.com/en/api/workflow-integration", + "language": "en", + "type": "lvl1", + "docusaurus_tag": "docs-default-current", + "hierarchy": { + "lvl0": "API", + "lvl1": "Workflow Integration", + "lvl2": null, + "lvl3": null, + "lvl4": null, + "lvl5": null, + "lvl6": null + }, + "objectID": "1-https://docs.desirecore.com/en/api/workflow-integration" + }, + "error": null + }, + { + "kind": "title", + "pageId": "api/openapi", + "locale": "zh-Hans", + "query": "OpenAPI 下载", + "target": "https://docs.desirecore.com/api/openapi", + "facetFilters": [ + "language:zh-Hans", + [ + "docusaurus_tag:default", + "docusaurus_tag:docs-default-current" + ] + ], + "httpStatus": 200, + "nbHits": 11, + "nbPages": 1, + "exhaustiveNbHits": true, + "hitWindowTruncated": false, + "targetMatchCount": 6, + "targetMatchRanks": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "returnedTargetFacets": { + "checkedRecords": 6, + "languageMatches": true, + "versionContainsCurrent": true, + "tags": [ + "docs-default-current" + ] + }, + "firstTargetMatch": { + "version": [ + "current" + ], + "url": "https://docs.desirecore.com/api/openapi", + "language": "zh-Hans", + "type": "lvl1", + "docusaurus_tag": "docs-default-current", + "hierarchy": { + "lvl0": "API", + "lvl1": "OpenAPI 下载", + "lvl2": null, + "lvl3": null, + "lvl4": null, + "lvl5": null, + "lvl6": null + }, + "objectID": "1-https://docs.desirecore.com/api/openapi" + }, + "error": null + }, + { + "kind": "title", + "pageId": "api/openapi", + "locale": "en", + "query": "OpenAPI download", + "target": "https://docs.desirecore.com/en/api/openapi", + "facetFilters": [ + "language:en", + [ + "docusaurus_tag:default", + "docusaurus_tag:docs-default-current" + ] + ], + "httpStatus": 200, + "nbHits": 12, + "nbPages": 1, + "exhaustiveNbHits": true, + "hitWindowTruncated": false, + "targetMatchCount": 6, + "targetMatchRanks": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "returnedTargetFacets": { + "checkedRecords": 6, + "languageMatches": true, + "versionContainsCurrent": true, + "tags": [ + "docs-default-current" + ] + }, + "firstTargetMatch": { + "version": [ + "current" + ], + "url": "https://docs.desirecore.com/en/api/openapi", + "language": "en", + "type": "lvl1", + "docusaurus_tag": "docs-default-current", + "hierarchy": { + "lvl0": "API", + "lvl1": "OpenAPI download", + "lvl2": null, + "lvl3": null, + "lvl4": null, + "lvl5": null, + "lvl6": null + }, + "objectID": "1-https://docs.desirecore.com/en/api/openapi" + }, + "error": null + }, + { + "kind": "endpoint", + "locale": "zh-Hans", + "query": "/api/client-handshake", + "target": "https://docs.desirecore.com/api/connection-and-auth", + "facetFilters": [ + "language:zh-Hans", + [ + "docusaurus_tag:default", + "docusaurus_tag:docs-default-current" + ] + ], + "httpStatus": 200, + "nbHits": 3, + "nbPages": 1, + "exhaustiveNbHits": true, + "hitWindowTruncated": false, + "targetMatchCount": 1, + "targetMatchRanks": [ + 1 + ], + "returnedTargetFacets": { + "checkedRecords": 1, + "languageMatches": true, + "versionContainsCurrent": true, + "tags": [ + "docs-default-current" + ] + }, + "firstTargetMatch": { + "version": [ + "current" + ], + "url": "https://docs.desirecore.com/api/connection-and-auth#get-apiclient-handshake", + "language": "zh-Hans", + "type": "lvl3", + "docusaurus_tag": "docs-default-current", + "hierarchy": { + "lvl0": "API", + "lvl1": "连接实例与认证", + "lvl2": "验证连接​", + "lvl3": "GET /api/client-handshake​", + "lvl4": null, + "lvl5": null, + "lvl6": null + }, + "objectID": "18-https://docs.desirecore.com/api/connection-and-auth" + }, + "error": null + }, + { + "kind": "endpoint", + "locale": "en", + "query": "/api/webhook", + "target": "https://docs.desirecore.com/en/api/agent-webhook", + "facetFilters": [ + "language:en", + [ + "docusaurus_tag:default", + "docusaurus_tag:docs-default-current" + ] + ], + "httpStatus": 200, + "nbHits": 42, + "nbPages": 1, + "exhaustiveNbHits": true, + "hitWindowTruncated": false, + "targetMatchCount": 15, + "targetMatchRanks": [ + 1, + 2, + 3, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17 + ], + "returnedTargetFacets": { + "checkedRecords": 15, + "languageMatches": true, + "versionContainsCurrent": true, + "tags": [ + "docs-default-current" + ] + }, + "firstTargetMatch": { + "version": [ + "current" + ], + "url": "https://docs.desirecore.com/en/api/agent-webhook", + "language": "en", + "type": "lvl1", + "docusaurus_tag": "docs-default-current", + "hierarchy": { + "lvl0": "API", + "lvl1": "Agent Webhook", + "lvl2": null, + "lvl3": null, + "lvl4": null, + "lvl5": null, + "lvl6": null + }, + "objectID": "1-https://docs.desirecore.com/en/api/agent-webhook" + }, + "error": null + }, + { + "kind": "endpoint", + "locale": "zh-Hans", + "query": "/api/query/client-requests/lookup", + "target": "https://docs.desirecore.com/api/conversations-and-runs", + "facetFilters": [ + "language:zh-Hans", + [ + "docusaurus_tag:default", + "docusaurus_tag:docs-default-current" + ] + ], + "httpStatus": 200, + "nbHits": 2, + "nbPages": 1, + "exhaustiveNbHits": true, + "hitWindowTruncated": false, + "targetMatchCount": 1, + "targetMatchRanks": [ + 1 + ], + "returnedTargetFacets": { + "checkedRecords": 1, + "languageMatches": true, + "versionContainsCurrent": true, + "tags": [ + "docs-default-current" + ] + }, + "firstTargetMatch": { + "version": [ + "current" + ], + "url": "https://docs.desirecore.com/api/conversations-and-runs#post-apiqueryclient-requestslookup", + "language": "zh-Hans", + "type": "lvl3", + "docusaurus_tag": "docs-default-current", + "hierarchy": { + "lvl0": "API", + "lvl1": "对话与运行记录", + "lvl2": "接纳未知、重试与断线对账​", + "lvl3": "POST /api/query/client-requests/lookup​", + "lvl4": null, + "lvl5": null, + "lvl6": null + }, + "objectID": "175-https://docs.desirecore.com/api/conversations-and-runs" + }, + "error": null + }, + { + "kind": "endpoint", + "locale": "en", + "query": "/api/workflow/webhook", + "target": "https://docs.desirecore.com/en/api/workflow-integration", + "facetFilters": [ + "language:en", + [ + "docusaurus_tag:default", + "docusaurus_tag:docs-default-current" + ] + ], + "httpStatus": 200, + "nbHits": 8, + "nbPages": 1, + "exhaustiveNbHits": true, + "hitWindowTruncated": false, + "targetMatchCount": 3, + "targetMatchRanks": [ + 3, + 5, + 7 + ], + "returnedTargetFacets": { + "checkedRecords": 3, + "languageMatches": true, + "versionContainsCurrent": true, + "tags": [ + "docs-default-current" + ] + }, + "firstTargetMatch": { + "version": [ + "current" + ], + "url": "https://docs.desirecore.com/en/api/workflow-integration", + "language": "en", + "type": "content", + "docusaurus_tag": "docs-default-current", + "hierarchy": { + "lvl0": "API", + "lvl1": "Workflow Integration", + "lvl2": null, + "lvl3": null, + "lvl4": null, + "lvl5": null, + "lvl6": null + }, + "objectID": "2-https://docs.desirecore.com/en/api/workflow-integration" + }, + "error": null + }, + { + "kind": "control", + "locale": "zh-Hans", + "query": "配置 API Key", + "target": "https://docs.desirecore.com/getting-started/configure-api-key", + "facetFilters": [ + "language:zh-Hans", + [ + "docusaurus_tag:default", + "docusaurus_tag:docs-default-current" + ] + ], + "httpStatus": 200, + "nbHits": 71, + "nbPages": 1, + "exhaustiveNbHits": true, + "hitWindowTruncated": false, + "targetMatchCount": 19, + "targetMatchRanks": [ + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "returnedTargetFacets": { + "checkedRecords": 19, + "languageMatches": true, + "versionContainsCurrent": true, + "tags": [ + "docs-default-current" + ] + }, + "firstTargetMatch": { + "version": [ + "current" + ], + "url": "https://docs.desirecore.com/getting-started/configure-api-key", + "language": "zh-Hans", + "type": "lvl1", + "docusaurus_tag": "docs-default-current", + "hierarchy": { + "lvl0": "快速上手", + "lvl1": "配置 API Key", + "lvl2": null, + "lvl3": null, + "lvl4": null, + "lvl5": null, + "lvl6": null + }, + "objectID": "1-https://docs.desirecore.com/getting-started/configure-api-key" + }, + "error": null + }, + { + "kind": "control", + "locale": "en", + "query": "Configure API Key", + "target": "https://docs.desirecore.com/en/getting-started/configure-api-key", + "facetFilters": [ + "language:en", + [ + "docusaurus_tag:default", + "docusaurus_tag:docs-default-current" + ] + ], + "httpStatus": 200, + "nbHits": 54, + "nbPages": 1, + "exhaustiveNbHits": true, + "hitWindowTruncated": false, + "targetMatchCount": 18, + "targetMatchRanks": [ + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19 + ], + "returnedTargetFacets": { + "checkedRecords": 18, + "languageMatches": true, + "versionContainsCurrent": true, + "tags": [ + "docs-default-current" + ] + }, + "firstTargetMatch": { + "version": [ + "current" + ], + "url": "https://docs.desirecore.com/en/getting-started/configure-api-key", + "language": "en", + "type": "lvl1", + "docusaurus_tag": "docs-default-current", + "hierarchy": { + "lvl0": "Quick Start", + "lvl1": "Configure API Key", + "lvl2": null, + "lvl3": null, + "lvl4": null, + "lvl5": null, + "lvl6": null + }, + "objectID": "1-https://docs.desirecore.com/en/getting-started/configure-api-key" + }, + "error": null + } + ], + "summary": { + "requests": 22, + "http200": 22, + "titles": { + "matched": 16, + "total": 16 + }, + "endpoints": { + "matched": 4, + "total": 4 + }, + "controls": { + "matched": 2, + "total": 2 + }, + "failures": [], + "limitations": [ + "This is a bounded query audit, not an exhaustive browse of the index.", + "The public search API does not establish the crawler run status; it verifies returned search results." + ], + "returnedTargetFacetFailures": [], + "firstTargetRanks": [ + { + "kind": "title", + "locale": "zh-Hans", + "target": "https://docs.desirecore.com/api", + "rank": 7 + }, + { + "kind": "title", + "locale": "en", + "target": "https://docs.desirecore.com/en/api", + "rank": 19 + }, + { + "kind": "title", + "locale": "zh-Hans", + "target": "https://docs.desirecore.com/api/connection-and-auth", + "rank": 2 + }, + { + "kind": "title", + "locale": "en", + "target": "https://docs.desirecore.com/en/api/connection-and-auth", + "rank": 1 + }, + { + "kind": "title", + "locale": "zh-Hans", + "target": "https://docs.desirecore.com/api/agent-webhook", + "rank": 1 + }, + { + "kind": "title", + "locale": "en", + "target": "https://docs.desirecore.com/en/api/agent-webhook", + "rank": 1 + }, + { + "kind": "title", + "locale": "zh-Hans", + "target": "https://docs.desirecore.com/api/errors-and-troubleshooting", + "rank": 5 + }, + { + "kind": "title", + "locale": "en", + "target": "https://docs.desirecore.com/en/api/errors-and-troubleshooting", + "rank": 1 + }, + { + "kind": "title", + "locale": "zh-Hans", + "target": "https://docs.desirecore.com/api/conversations-and-runs", + "rank": 5 + }, + { + "kind": "title", + "locale": "en", + "target": "https://docs.desirecore.com/en/api/conversations-and-runs", + "rank": 3 + }, + { + "kind": "title", + "locale": "zh-Hans", + "target": "https://docs.desirecore.com/api/model-proxy", + "rank": 1 + }, + { + "kind": "title", + "locale": "en", + "target": "https://docs.desirecore.com/en/api/model-proxy", + "rank": 1 + }, + { + "kind": "title", + "locale": "zh-Hans", + "target": "https://docs.desirecore.com/api/workflow-integration", + "rank": 1 + }, + { + "kind": "title", + "locale": "en", + "target": "https://docs.desirecore.com/en/api/workflow-integration", + "rank": 1 + }, + { + "kind": "title", + "locale": "zh-Hans", + "target": "https://docs.desirecore.com/api/openapi", + "rank": 1 + }, + { + "kind": "title", + "locale": "en", + "target": "https://docs.desirecore.com/en/api/openapi", + "rank": 1 + }, + { + "kind": "endpoint", + "locale": "zh-Hans", + "target": "https://docs.desirecore.com/api/connection-and-auth", + "rank": 1 + }, + { + "kind": "endpoint", + "locale": "en", + "target": "https://docs.desirecore.com/en/api/agent-webhook", + "rank": 1 + }, + { + "kind": "endpoint", + "locale": "zh-Hans", + "target": "https://docs.desirecore.com/api/conversations-and-runs", + "rank": 1 + }, + { + "kind": "endpoint", + "locale": "en", + "target": "https://docs.desirecore.com/en/api/workflow-integration", + "rank": 3 + }, + { + "kind": "control", + "locale": "zh-Hans", + "target": "https://docs.desirecore.com/getting-started/configure-api-key", + "rank": 3 + }, + { + "kind": "control", + "locale": "en", + "target": "https://docs.desirecore.com/en/getting-started/configure-api-key", + "rank": 2 + } + ] + } + }, + "browserChecks": [ + { + "locale": "zh-Hans", + "query": "智能体 Webhook", + "target": "https://docs.desirecore.com/api/agent-webhook", + "targetFound": true, + "targetOpened": true + }, + { + "locale": "en", + "query": "Agent Webhook", + "target": "https://docs.desirecore.com/en/api/agent-webhook", + "targetFound": true, + "targetOpened": true + } + ], + "conclusion": { + "apiSearchAcceptance": "passed", + "scope": "16 bilingual API page-title queries, 4 endpoint queries, 2 existing-page controls and 2 browser checks.", + "remainingFailures": "The two oversized v10.0.180 changelog pages remain crawl failures; this report does not claim a failure-free whole-site crawl.", + "limitations": [ + "This bounded audit verifies selected returned results, not every record or future ranking.", + "A successful website deployment does not trigger or prove an Algolia index update.", + "Crawler status is supported by administration UI evidence, separately from public search API results." + ] + } +} diff --git a/api/verification.md b/api/verification.md index f050a94..4c170c3 100644 --- a/api/verification.md +++ b/api/verification.md @@ -173,3 +173,13 @@ node_modules/.bin/vitest run --project integration --maxWorkers=1 --no-file-para 修复 #73 合并为 `5d9cef1eac584ffa8c925636ac5d24ae174e5150`,Production deployment `7088538260` 成功后,全站 `pnpm sitemap:check` 716URL全部200及SEO检查通过。两个应用场景入口的canonical与正文标题均准确。16个API页面、8下载及两sitemap/robots再次严格通过,`production-verification.json` 已更新为这次最终报告。 完整发布链与限制见 [publication.json](./publication.json)。站内即时Webhook检索返回19个已有结果,尚无新增API路径;页面、导航和抓取条件已经通过,未宣称搜索索引刷新完成。商业模型、安装包与生产业务执行仍不属于本次文档部署验收。 + +## 站内搜索最终验收(2026-10-15) + +通过已登录Algolia管理端确认:当前文档crawler为每月23日运行,前次完整抓取为9月23日,因此本次API发布后索引未自动刷新。路径/发现范围覆盖全站,目标索引与前端一致;页面与过滤条件未发现阻碍。中英文Webhook URL Tester各成功生成110条记录。 + +手动抓取于北京时间19:30:02—19:32:35完成,索引19,324→21,572条。734URL成功、2个内容类型忽略;两条记录过大错误仅为中英文v10.0.180更新日志,API目标不受影响。没有调整月度周期或发布编辑器草稿。 + +22次正式只读搜索请求全部200:16个目标标题、4个关键端点、2个旧页对照全部命中。过滤与前端完全一致,为language及default/docs-default-current tag,不添加独立version过滤;返回目标记录的版本、语言与标签均正确。中英文真实搜索弹窗均返回Webhook指南,点击后URL与标题正确。详细请求、排名和配置快照见 [search-verification.json](./search-verification.json)。 + +此前各节“尚未收录”的即时观察保留为历史;当前搜索状态以本节及 `publication.json` 为准。后续网站部署与外部索引抓取分别验收。