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

75
AI-CONTEXT.md Executable file
View File

@@ -0,0 +1,75 @@
# AI-CONTEXT —— 公司知识库全景蒸馏(给 AI 的单一入口)
> 用 distill-knowledge 框架把 docs/01-12 + 契约 + 命令 + 工具蒸馏成一份。
> **读这一份 = 掌握整个系统**,无需翻 17 个文件。人读全文档见对应 `→源`。
> 蒸馏日期 2026-07-06 | 溯源:每节标 `→` 指向权威源文档,冲突以此蒸馏件的裁决态为准。
## 0. 一句话
5 人公司的 AI-native 知识库:**单一 Git 真相源NAS Gitea+ OKF frontmatter + 卡帕西"编译>检索" + 飞书/Obsidian 双前端 + 可生长不重做**。MVP 反过度工程:只做「可溯源 markdown + CC 检索」,编译层(P4)/向量库(P5)按信号延后。 →01,03,04
## 1. 信条与硬约束不可违反→CLAUDE.md,04,07
1. **单一真相源** = 这个 Git 仓库本身,文件即真相;无 raw/wiki 双层,扁平布局。
2. **type/字段/enum 只认 `meta/kb-contract.yaml`**,脚本禁硬编码。
3. **溯源铁律**:查询每条结论必挂 `source_link`;无据报 Gap**绝不用训练数据编造**。
4. **AI 永不擅自有损操作**:删页/解决矛盾/合并/改 type 一律挂起交人;安全项(补可推导字段/建 stub/加 wikilink可自动做。
5. **人工入口最小化**:人只「点名物料 + 一句说明 + 对要点点头」,其余 AI 自动。
6. **中文目录名禁令**:项目代号用英文/拼音CC 把中文编码为 `-` 会碰撞)。
## 2. 分层架构 →04
- **L1 采集**:三通道 = 飞书群/文档、NAS 各人投递区(`NAS/<人>/📥知识库投递/`,只扫这个,私人目录不碰)、`/kb-link` 点名任意文件/URL。
- **L2 汇聚(真相源)**Git 仓库本身,每页带 OKF frontmatter版本/审计/冲突全靠 Git。
- **L3 处理MVP 极薄)**:只有 lint + CC 语义检索 + Delta 去重。**不生成** hot/index/wikigitignoreP4 才启用)。
- **L4 呈现**Obsidian个人主编辑器=唯一写路径)+ 飞书(双向前端)+ CC问答
## 3. 「编译过的链接」采集模型核心→04,kb-link
默认**不搬原件进库**:人点名物料 → AI 读一遍 → 提炼精华写成一页 markdown → 留 `source_link` 指回原件。三重收益:库不膨胀、精华可检索可溯源、原件移动/删除后知识仍在。仅关键且易变的原件AI 提议+人点头才复制进 `assets/` 兜底。
## 4. 目录结构 →04,11
```
projects/<代号>/ 项目_index.md(project) + docs/ decisions/ conversations/ assets/
_example/ OKF 完整示范(照抄即合规,勿当真实项目)
company/ 公司基本信息doc
learning/ 共享学习库按领域ai/ management/ industry/doc
entities/ concepts/ questions/ 预留 typereserved激活后才用
meta/kb-contract.yaml ★唯一契约 meta/stats.md 红线观察 meta/ingest-manifest.json 去重台账
tools/ kb-init.sh kb-lint-fm.py feishu-pull.py feishu-render.py kb-bot/
docs/ 方案文档 01-12治理层改动走 PR+review
```
## 5. Frontmatter 契约(真相在 kb-contract.yaml→CONVENTIONS,meta
- **硬必填**`type`(缺失只报不猜) `status`(seed/developing/mature,默认seed) `created` `ingested`(=今天,AI自动)。
- **派生必填**:外部摄入的 doc/decision/conversation 页 → `source`+`source_link` 升为必填metric 型 → `resource`。project 的 _index 豁免溯源。
- **可选/自动**`title`(AI从H1回填) description tags(kebab) timestamp author related([[wikilink]])。
- **激活 type**`project decision conversation doc`+company/learning 用 doc。**reserved**entity concept question runbook metric用前改契约 active:true
- **免 frontmatter**README/CONVENTIONS/CLAUDE、docs/** meta/** tools/** .claude/** **/assets/** **/.gitkeep。
## 6. 命令面(.claude/commands/→07
| 命令 | 作用 |
|---|---|
| `/kb-new <代号>` | 建项目骨架(=bash tools/kb-init.sh) |
| `/kb-ingest <代号> <源>` | 录入:去重→落原文→抽要点→写合规页→挂链,矛盾挂起不覆盖 |
| `/kb-link <文件/NAS/URL>` | 编译链接:提炼精华+留指针,不搬原件 |
| `/kb-ask <问题>` | 查询:语义检索,每条挂 source_link缺口明说 |
| `/kb-save` | 对话洞察回写 questions/ 页 |
| `/kb-check` | frontmatter 校验(=python3 tools/kb-lint-fm.pyexit0=健康,需pyyaml) |
| `/kb-status` | 源计数/type分布/红线观察 |
## 7. 飞书双向前端 →08
- **群机器人(能问能答,长连接无公网)**`lark-cli event +subscribe`(WebSocket收) → handle.py 抽问题 → `/kb-ask``lark-cli im +messages-reply` 回复。底座 lark-cli 已装(bot身份 cli_a9458d254e3a5bc3)。组件 `tools/kb-bot/`。只读不写库。
- **呈现三层**(均单向 md→飞书飞书是"读屏"不写库):①云文档(叙事,项目概览) ②多维表格Bitable(结构,全库一张表+多视图,可筛选/看板,通用 lark-cli api 写) ③群机器人(搜索框)。Wiki 暂不做。
- 工具 `tools/feishu-render.py --bitable/--docs`(骨架,写入留TODO需真实表/群)。
## 8. AI-native 五循环 + 人机分工 →07
录入(人丢+点头/AI全包) · 查询(CC检索+强制溯源+报Gap) · 维护(/kb-check,安全项自动修/有损项挂起) · 生长(P5红线才启用向量库,预留) · 飞书问答(群@→/kb-ask→回复)。**铁律**:能自动的绝不让人做;永不擅自有损;永不编造;人是拍板者。
## 9. 演进红线 →05,04
- **P4 编译层**(llm-wiki全量互链wiki+hot/index):触发=`_index 首读定位失效 + 摄入悖论`
- **P5 向量库****唯一硬触发**=`~100 源/几百页 + index 定位不准`。到线前"要不要上RAG"默认=**不**。向量库只做导航层,契约/编译层零改动。
## 10. 部署与治理 →10,12
- **拓扑**:仓库家+常驻处理(机器人长连接/定时投影)在**公司NAS**;交互处理(ingest/ask/link)在各人本机读本地clone。remote=`http://192.168.0.101:3002/robert/company-kb.git`(NAS Gitea,需内网/VPN)。
- **两条NAS用途**Gitea仓库(多人协作真相源) vs 同步盘(单向投递采集通道),不冲突。
- **维护**:物料录入全员参与;规则改动(契约/命令/CONVENTIONS/docs)全员可提PR合入需至少一人review**不可自审自合**。改字段必填前先跑lint扫全库加新type走 docs/11§4 登记(契约加条+建目录+飞书加视图)。处理层生长时契约尽量不动。