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