1
0
Files
Skill/skills/lyxy-kb/references/structure.md
2026-02-25 17:36:42 +08:00

3.6 KiB
Raw Blame History

知识项目目录结构

目录结构

每个知识项目是当前工作目录CWD下的一个子目录包含以下固定结构

<project-name>/
├── project.md          # 高度摘要 + 文件索引
├── manifest.json       # 增量追踪
├── parsed/             # 解析后的 markdown中间产物
├── sources/            # 待处理区(用户放入原始文档)
└── archive/            # 原始文件备份(带时间戳)

各目录/文件职责

路径 职责
project.md 项目的高度摘要和文件索引,作为问答时的入口文件
manifest.json 记录已处理文件的元信息,用于增量检测和版本追踪
parsed/ 存放解析后的 markdown 文件,便于大模型读取分析
sources/ 用户放入待处理文档的目录,解析后文件会被移走
archive/ 原始文件的备份,每个文件都带时间戳后缀

结构完整性验证

执行任何 commandingest / rebuild / ask必须先验证项目目录结构是否完整即以下 5 项是否全部存在:

  • <project-name>/project.md
  • <project-name>/manifest.json
  • <project-name>/parsed/
  • <project-name>/sources/
  • <project-name>/archive/

若不完整,提示用户先执行 /lyxy-kb-init <project-name>,终止当前操作。

项目名称规则

项目名称只允许使用以下字符:

  • 中文字符
  • 英文字母a-z、A-Z
  • 数字0-9
  • 短横线(-
  • 下划线_

不允许包含空格或其他特殊字符。 不符合规则时应提示用户修改。

project.md 格式规范

# <项目名称>

## 概述
(高度总结的项目信息,几百字以内)

## 关键信息
(从所有文档中提炼的核心要点)

## 文件索引

| 文件名 | 解析文件 | 最新归档 | 摘要 |
|--------|----------|----------|------|
| 需求文档 | parsed/需求文档.md | archive/需求文档_202602181600.docx | 简要摘要... |

## 更新记录
- 2026-02-18 16:00: 解析 需求文档.docx

manifest.json 结构

{
  "project": "<项目名称>",
  "created_at": "2026-02-18T16:00",
  "last_ingest": "2026-02-18T17:25",
  "files": [
    {
      "name": "需求文档",
      "ext": ".docx",
      "parsed": "parsed/需求文档.md",
      "versions": [
        {
          "archived": "archive/需求文档_202602181600.docx",
          "hash": "sha256:abc123...",
          "ingested_at": "2026-02-18T16:00"
        }
      ]
    }
  ]
}

字段说明

字段 说明
project 项目名称
created_at 项目创建时间
last_ingest 最近一次 ingest 的时间
files[].name 文件名(不含扩展名)
files[].ext 原始文件扩展名
files[].parsed 解析产物的相对路径
files[].versions 版本历史数组
files[].versions[].archived 归档文件的相对路径
files[].versions[].hash 文件内容的 SHA-256 哈希(使用 sha256sum 命令计算)
files[].versions[].ingested_at 该版本的入库时间

parsed 文件元信息标记

每个 parsed markdown 文件头部必须包含元信息注释:

<!-- source: 技术方案.pdf -->
<!-- archived: archive/技术方案_202602181725.pdf -->
<!-- parsed_at: 2026-02-18 17:25 -->

# 技术方案
(文档正文内容...
元信息 说明
source 原始文件名(含扩展名)
archived 对应的归档文件相对路径
parsed_at 解析时间YYYY-MM-DD HH:mm 格式)