knowledge-query · diff
git:20261003.5165706 to git:20261004.512593e
6 added, 2 removed. Audit B to B.
---
name: {{skillName}}
description: 查询 {{displayName}} 中经过审核、可追溯来源的知识。用于查找包内实体、API、行为、流程、约束、决策、排障信息、关系和覆盖范围。
---
# 知识查询
只根据本包包含的已批准知识回答。先通过索引缩小范围,再打开具体页面;正文是事实证据,frontmatter 摘要只用于导航。
## 查询步骤
1. 判断请求属于实体查找、解释、流程、规则、关系、细节还是覆盖检查。
2. 从最相关的根索引开始,例如 `{{wikisRoot}}/index.md`,再沿链接进入具体页面。
3. 只读取回答所需的章节;frontmatter 用来选择范围,不作为事实依据。
4. 查询关系或影响范围时,读取相关页面中的明确说明;同名、目录位置或链接本身不能证明关系。
5. 结论来自可见章节正文,并引用对应页面或章节。
6. 如果包内没有证据,明确报告缺口和已经检查的范围,不要根据邻近内容推断。
## 知识根目录
+ 若存在 `{{wikisRoot}}/imports.md`,它只列出外部入口,不代表内容已随包分发、
+ 已验证或已安装。仅在相关且有权访问时用宿主工具读取,并区分外部证据与包内正文;
+ 不能因登记了 Skill 或插件就安装、启用或执行。
+
若存在 `{{wikisRoot}}/repo-content.md`,它是生成的仓库入口页:README 与 Skill
简介,不是批准知识文章,也不包含全部项目文档。需要且有权访问时沿链接读取原文;
阅读 Skill 说明不代表安装或执行。原仓库是真源,页面标明构建所用基线。
| 根目录 | 用途 |
|---|---|
| `{{wikisRoot}}/` | 来自 codeindex、business、product 的代码、业务和产品说明。 |
| `{{guidesRoot}}/` | 架构、流程、FAQ、决策、故障和排障说明。 |
| `{{rulesRoot}}/` | 标准、约束、验收条件和测试场景。 |
| `{{featsRoot}}/` | 被选择进入包内的功能知识。 |
缺少某个根目录表示当前知识包没有选择该类别。
## 按意图导航
| 意图 | 第一步 |
|---|---|
| 模糊主题或未知名称 | 打开可能相关的根索引,从分组中选择候选页面。 |
| 指定实体、API、领域或动作 | 打开匹配页面或最近的分组索引;有歧义时列出候选。 |
| 架构、流程、FAQ、决策或故障 | 从 `{{guidesRoot}}/index.md` 开始。 |
| 标准、约束、验收或测试 | 从 `{{rulesRoot}}/index.md` 开始。 |
| 关系或影响范围 | 阅读相关正文中的明确说明,并指出覆盖边界。 |
| 已知页面中的细节 | 读取相关 Markdown 标题及其正文。 |
| 覆盖范围或缺口 | 检查根索引和 `context-build-inventory.json`。 |
## 证据契约
| 证据 | 可支持的内容 |
|---|---|
| 页面路径 | 页面身份和引用位置。 |
| frontmatter 的标题、描述和标签 | 导航和范围选择。 |
| Markdown 标题 | 定位和引用页面中的章节。 |
| 读者可见的章节正文 | 事实结论的主要依据。 |
| 导出的来源说明 | 原始材料可用时定位并阅读;不能只凭链接扩展结论。 |
| 根索引和构建清单 | 包的范围和覆盖情况。 |
- 不要根据页面同时出现来推断关系。直接引用可读路径和标题,不寻找已经移除的图谱字段,也不要求用户补齐。覆盖问题,或维护者需要通过 `dist_path` → `approved_path` 定位原批准页时,才读取构建清单。来源说明由工作区片段引用自动导出。原始材料未随包分发时,只根据已批准的可见正文回答并说明边界。
+ 不要根据页面同时出现来推断关系。直接引用可读路径和标题,不寻找已经移除的图谱字段,也不要求用户补齐。覆盖问题,或维护者需要通过 `dist_path` → `approved_path` 定位原批准页时,才读取构建清单。来源说明由工作区片段引用自动导出。相关原始材料未随包分发时,可通过已有授权的宿主工具读取,并与包内正文分别引用。无法读取时,只根据已批准的可见正文回答并说明边界;链接本身不能支持额外结论。
## 搜索兜底
只有索引和页面结构无法确定范围,或候选页面过大不适合整页读取时才搜索。精确名称、API、配置键、路径或错误字符串可先用 `rg`;包含多个关键词、中文短语或多个大型索引时,执行本 Skill 随附的 [`scripts/search.mjs`](scripts/search.mjs) 做 BM25 排序:
```bash
node <当前 knowledge-query Skill 目录>/scripts/search.mjs --query '<关键词>' --limit 8
```
脚本位于知识包目录内时会自动定位 `{{packageName}}`。它兼容包根的构建清单及 `others/context/` 下的分发副本。如果包管理工具将本 Skill 复制到了其他位置,增加 `--root <知识包目录>`;也可以使用 `--base <多包集合根目录>`,按构建清单中的包名定位。它按 Markdown 标题和固定行块机械切分,返回路径、行号、标题和短预览,不判断内容语义。
搜索命中只是线索。回答前打开命中的页面和章节;关系或影响范围须引用实际说明该关系的正文,不能用 BM25 分数或文本共现代替。
## 引用与缺口
引用应紧跟结论:
```text
页面: <结论> [<root>/path/page.md]
章节: <结论> [<root>/path/page.md, 标题:<可见标题>]
关系: <结论> [<root>/path/page.md, 标题:<明确说明该关系的章节>]
覆盖: <结论> [context-build-inventory.json]
```
没有证据时返回:
```text
缺口:本知识包没有包含 <缺失点> 的证据。
已检查:<索引、页面或构建产物>。
下一步来源:<已知时填写来源文档或页面>。
```
- “本包没有证据”不等于“事实不成立”。禁止使用模型记忆、旧对话或包外源码填补缺口。
+ “本包没有证据”不等于“事实不成立”。禁止使用模型记忆、旧对话或未读取的包外源码填补缺口。
## 包边界
- 包内兼容 OKF 的根目录是本 Skill 的事实来源。
- 本包只包含 Context 工作区选择并批准的知识,不声明完整覆盖底层产品或代码库。
- 已有更窄索引范围可以回答时,不要扫描所有页面。
已批准知识文件:`{{knowledgeCount}}`
{{!-- 模板作者建议(不进入分发的查询 Skill):
这是可直接工作的通用查询 Skill。正式发布前,如果知识包存在专用术语、常见用户意图、推荐入口、已知边界或固定任务流程,作者应修改 description、路由表和包边界说明;如果通用行为已经足够,应在 Context 的包模板 Review 中明确接受未修改模板。
--}}
## 总结中的网站文档链接
完成正文检索和回答后,仅在最终总结中按需附上一篇或多篇实际读取过的相关文档链接。
依次从当前知识包根、`others/context/context-site-map.json` 或工作区网站输出读取站点映射,按命中文章的包内路径匹配
`pages[].package_path`,使用 `title` 作链接文字,将 `site_path` 相对
`site_url` 拼接。`site_url` 已包含站点子路径,不再重复拼接 `base`。
同一文章只列一次,不凭标题推测页面地址或章节锚点。
这是本地引用格式化,不是检索前置步骤:不要为地址发起 HTTP/HEAD 请求、打开浏览器、
查询部署平台或远端版本,也不触发构建、发布或元数据修改。映射、地址或匹配项缺失、
格式不正确时沿用本地引用即可,不阻塞回答,不要求用户补配置。
记录的链接不证明线上内容与本地版本一致,不声称已验证网站。