Initial commit: company-kb framework

- 完整的知识库框架(P0-P5 路线图)
- 12篇治理文档
- 工具脚本(kb-init.sh, kb-lint-fm.py, feishu-sync.py, kb-bot)
- 7个 Claude 命令
- 示例项目和测试项目(wanniu-l1)
- 契约文件(meta/kb-contract.yaml)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
yangqianqian
2026-07-16 18:24:39 +08:00
commit 84f7950589
60 changed files with 4410 additions and 0 deletions

27
.claude/commands/kb-link.md Executable file
View File

@@ -0,0 +1,27 @@
---
description: 编译链接——把工作目录/NAS/URL 的物料"链接"进知识库(提炼精华+留指针,不搬原件)
argument-hint: <文件路径 / NAS路径 / URL / 或直接口述哪个文件> [项目代号]
---
「编译过的链接」录入。人只需**点名一个物料**`$ARGUMENTS`:文件路径 / NAS 路径 / URL或口述"我工作目录的 XX 文件"),其余你自动完成。核心:**不搬原件,提炼精华 + 留 source_link 指针**——原文件原地不动,库保持精简。
执行步骤:
1. **读契约**:先读 `meta/kb-contract.yaml` 拿 type 集 / 字段必填矩阵 / enum。frontmatter 严格据此,禁止硬编码。
2. **定位原物料**
- 口述文件 → 在用户工作目录/NAS 下定位,不确定就让用户确认绝对路径。
- 文件路径/NAS 路径 → Read 直接读。
- URL → WebFetch。
- 记下原始位置作为 `source_link`NAS/本地绝对路径,或 URL
3. **判 source**:工作目录/本机文件→`本地`NAS 投递区或共享目录→`NAS`;飞书→`飞书文档`;网页→按来源。
4. **读一遍,提炼**:抽 3-8 个关键要点(决策/需求/客户信息/数据/风险),展示给用户点头或修正。**不复制原文全文进库**。
5. **写一页"编译链接"知识页**到对应项目目录(默认 `doc`;若本质是决策→`decision`
- frontmatter`type``title`(←文件名/H1)、`created`(←文件时间或今天)、`ingested`=今天、`source``source_link`=原文件指针、`status: seed``related: [[...]]`
- 正文结构:`## 摘要`AI 提炼的精华,可检索)+ `## 原件` (source_link 指针 + 一句"全文见原件")。
- 精华进库 = 抗原件移动/删除;指针留原件 = 库不膨胀。
6. **去重**:对提炼内容或原文 hash 比对 `meta/ingest-manifest.json`,命中则提示已链接过。
7. **快照后门(可选)**:若判断该原件**关键且易变/可能被删**,主动提议"是否复制原件进 `assets/` 兜底?"——**用户点头才复制**,默认只留链接。
8. **挂 wikilink**:连到项目 `_index` 和相关页。
9. **更新 manifest** + 跑 `python3 tools/kb-lint-fm.py <项目目录>`exit 0
10. 简报写了哪页、source_link 指向哪、是否快照。
铁律默认不搬原件库精简AI 永不擅自复制/删改原文件;永不编造,提炼只基于真实读到的内容。