1
0
Files
Skill/commands/lyxy-kb/ask.md

56 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
基于知识库项目进行问答。
**输入**: `/lyxy-kb-ask` 后的参数为项目名称,可选附带问题。例如:
- `/lyxy-kb-ask my-project` — 进入问答模式
- `/lyxy-kb-ask my-project 这个系统用了什么技术栈?` — 直接提问
**前置条件**: 查找并阅读名为 **lyxy-kb** 的 skill了解渐进式查询策略和来源引用格式。
**步骤**
1. **获取项目名称并验证结构**
从参数中获取项目名称。如果未提供参数,提示用户输入。
按照 lyxy-kb skill「结构完整性验证」规则检查项目目录不完整则提示用户先 init。
2. **加载项目摘要**
读取 `<project-name>/project.md`,获取项目概述和文件索引。
按照 lyxy-kb skill「空知识库」规则如果文件索引为空尚无已入库文件告知用户知识库为空建议先使用 `/lyxy-kb-ingest <project-name>` 入库文档,终止操作。
3. **进入问答模式**
如果用户在参数中附带了问题,直接回答该问题。否则提示用户可以开始提问。
**对每个问题,按照 lyxy-kb skill「渐进式查询策略」执行**
**a) 分析问题与文件索引的关联**
根据用户的问题内容,对照 project.md 文件索引表中各文件的摘要,判断需要查阅哪些 parsed 文件。
**b) 按需加载 parsed 文件**
读取相关的 `<project-name>/parsed/<文件名>.md` 文件。如果文件较大,可以先提取标题结构,再读取相关章节。
**c) 回答并标注来源**
基于获取的信息回答问题。按照 lyxy-kb skill「来源引用格式」标注来源
```
根据《文件名》(parsed/文件名.md)...
```
如果回答综合了多个文件的信息,分别标注各信息点的来源。
**d) 无相关信息处理**
按照 lyxy-kb skill「无相关信息」规则明确告知用户当前知识库中未找到相关信息不编造答案。
4. **保持会话上下文**
回答完成后,保持当前的知识库上下文。用户可以继续提问,无需每次重新加载 project.md。已加载的 parsed 文件内容可在后续问答中复用。
会话的退出由用户自然决定(开启新话题或新会话),不主动终止问答模式。