初步完成知识库命令和技能的开发
This commit is contained in:
53
openspec/specs/kb-project-summary/spec.md
Normal file
53
openspec/specs/kb-project-summary/spec.md
Normal file
@@ -0,0 +1,53 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: project.md 格式规范
|
||||
project.md SHALL 遵循以下固定结构:
|
||||
|
||||
```markdown
|
||||
# <项目名称>
|
||||
|
||||
## 概述
|
||||
(高度总结的项目信息)
|
||||
|
||||
## 关键信息
|
||||
(从所有文档中提炼的核心要点)
|
||||
|
||||
## 文件索引
|
||||
|
||||
| 文件名 | 解析文件 | 最新归档 | 摘要 |
|
||||
|--------|----------|----------|------|
|
||||
|
||||
## 更新记录
|
||||
```
|
||||
|
||||
初始化时概述和关键信息为空,文件索引表为空表头,更新记录为空。
|
||||
|
||||
#### Scenario: 初始化后的 project.md
|
||||
- **WHEN** 执行 `/lyxy-kb-init my-project`
|
||||
- **THEN** 生成的 project.md 包含 `# my-project` 标题、空的概述/关键信息段落、空的文件索引表(仅表头)和空的更新记录
|
||||
|
||||
### Requirement: 增量追加模式
|
||||
执行 ingest 时,系统 SHALL 以增量方式更新 project.md:
|
||||
- 在文件索引表中追加新解析文件的行(文件名、parsed 路径、最新 archive 路径、该文件的简要摘要)
|
||||
- 在更新记录中追加本次 ingest 的条目(时间和处理的文件列表)
|
||||
- 已有文件更新时:覆盖文件索引表中对应行的最新归档路径和摘要
|
||||
- 概述和关键信息部分 SHALL NOT 在增量模式下自动更新
|
||||
|
||||
#### Scenario: 首次 ingest 追加索引
|
||||
- **WHEN** 首次 ingest 解析了 `需求文档.docx`
|
||||
- **THEN** project.md 文件索引表中追加一行,更新记录中追加 `- 2026-02-18 16:00: 解析 需求文档.docx`
|
||||
|
||||
#### Scenario: 已有文件更新时追加索引
|
||||
- **WHEN** `技术方案.pdf` 第二次入库
|
||||
- **THEN** project.md 文件索引表中该文件的最新归档路径和摘要被更新,更新记录追加新条目
|
||||
|
||||
### Requirement: 全量重写模式
|
||||
执行 rebuild 时,系统 SHALL 读取所有 `parsed/*.md` 文件,重新生成整个 project.md:
|
||||
- 概述:基于所有 parsed 文件内容重新生成高度总结
|
||||
- 关键信息:重新提炼核心要点
|
||||
- 文件索引:基于 manifest.json 和 parsed 文件重新生成完整索引表
|
||||
- 更新记录:保留历史记录,追加本次 rebuild 条目
|
||||
|
||||
#### Scenario: 全量重写
|
||||
- **WHEN** 用户执行 `/lyxy-kb-rebuild my-project`,项目中有 3 个 parsed 文件
|
||||
- **THEN** 系统读取所有 3 个 parsed 文件,重新生成 project.md 的概述、关键信息和文件索引,更新记录追加 rebuild 条目
|
||||
Reference in New Issue
Block a user