Files
company-kb/CLAUDE.md
yangqianqian 84f7950589 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>
2026-07-16 18:24:39 +08:00

89 lines
6.7 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 公司 AI 知识库 · 项目工作记忆 (OKF Knowledge Base)
> CC现在在公司 AI 知识库根目录。这是一个 **OKF frontmatter + 单一 Git 真相源 + AI 主执行** 的本地知识库。
> 信条:**单一 Git 真相源 + OKF frontmatter + AI 主执行 + 可生长不重做**。反过度工程MVP 只做「可溯源 markdown + CC 检索」,编译层(P4)/向量库(P5)按信号延后。
## 这是什么
- **唯一真相源** = 这个 Git 仓库本身(远程家在公司 NAS 的 Gitea。文件即真相无 raw/wiki 双层,扁平布局。
- **前端,同一仓库**Obsidian 是唯一写路径(编辑 markdown → git push飞书是**双向前端**——采集入口(群/kb-link+ 群机器人问答(读,调 /kb-ask+ 呈现(云文档+多维表格)。飞书不直接写 Git。
- **MVP 问答方式**:你直接对 markdown 做目录 + 语义检索回答,**不生成** hot.md/index.md/wiki/(那些 gitignoreP4 才启用)。
- **采集三通道**:飞书群/文档、NAS 各人投递区(`NAS/<人>/📥知识库投递/`,只扫这个,私人目录不碰)、`/kb-link` 点名任意文件/URL。默认**编译链接**——提炼精华+留 source_link 指针,不搬原件(库不膨胀、原件移动也不丢知识)。
## 目录结构
```
projects/<代号>/ 项目工作区_index.md(project) + docs/ decisions/ conversations/ assets/
_example/ OKF 完整示范(照抄即合规,勿当真实项目)
company/ 公司基本信息(档案/团队/对外介绍type: doc
learning/ 共享学习知识库按领域分ai/ management/ industry/type: doc
entities/ concepts/ questions/ 预留 type 目录reserved激活后才用
meta/kb-contract.yaml ★唯一机器可读契约type/字段/enum
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见 docs/12
```
## 硬约束(不可违反)
1. **type 白名单指向契约,不硬编码**:合法 type / 必填字段 / enum 一律以 `meta/kb-contract.yaml` 为准。当前激活 4 个:`project` `decision` `conversation` `doc``entity/concept/question/runbook/metric` 已登记但未激活,用前先改契约 `active: true`
2. **每页必带 frontmatter**(除 README/CONVENTIONS/CLAUDE/docs/**/meta/**/assets/**)。硬必填:`type status created ingested`。外部摄入的 doc/decision/conversation 页 `source`+`source_link` 升为必填。
3. **溯源铁律**:查询回答的**每条结论必挂 source_link**。覆盖不足就明说 Gap**绝不用训练数据编造**。
4. **AI 永不擅自有损操作**:删页/解决矛盾/合并/改 type 一律挂起交人。安全项(补可推导字段/建 stub/加 wikilink可自动做。
5. **中文目录名禁令**:项目代号用英文/拼音CC 会把中文编码为 `-` 导致碰撞)。
6. **人工入口最小化**:人只做「丢资料 + 一句说明 + 对要点点头」。`title/ingested/source/status` 等能推导的字段你自动补齐。
## frontmatter 速查(真相在契约文件)
```yaml
---
type: decision # 硬必填,缺失只报不猜
status: seed # seed/developing/mature新建默认 seed
created: 2026-06-20 # 内容产生时间
ingested: 2026-06-24 # 汇入时间=今天,你自动填
source: 飞书群 # 外部摄入页必填enum 见契约
source_link: https://... # 外部摄入页必填
title: "..." # 建议,你可从 H1/文件名回填
tags: [kebab-case]
timestamp: 2026-06-20 # 可选,信息有效期
author: 张三 # 可选
related: ["[[slug]]"] # 可选 wikilink 强边
---
```
## 命令面 `/kb <verb>`(见 .claude/commands/ 与 docs/07
| 命令 | 作用 |
|---|---|
| `/kb-new <代号>` | 建项目骨架(= `bash tools/kb-init.sh <代号>` |
| `/kb-ingest <代号> <源>` | 录入Delta去重→落原文→抽要点→写合规页→建 wikilink矛盾标注挂起不静默覆盖 |
| `/kb-link <文件/NAS路径/URL>` | 编译链接:点名物料,提炼精华+留 source_link 指针,**不搬原件**;关键易变件才提议快照进 assets/ |
| `/kb-ask <问题>` | 查询:语义检索 markdown每条结论挂 source_link缺口明说 |
| `/kb-save` | 把对话洞察回写 questions/ 页 |
| `/kb-check` | frontmatter 校验(= `python3 tools/kb-lint-fm.py` |
| `/kb-status` | 源计数 / type 分布 / 红线观察 |
## 常用操作
```bash
bash tools/kb-init.sh <代号> # 建项目骨架
python3 tools/kb-lint-fm.py [路径] # frontmatter 体检退出码非0=需处理(需 pyyaml
bash tools/kb-init.sh --stats # 项目数/页数/源数
python3 tools/feishu-pull.py <代号> --doc <token> # 飞书导出干跑
python3 tools/feishu-pull.py <代号> --doc <token> --write # 实际落盘
python3 tools/feishu-render.py --bitable --dry-run # 全库→多维表格呈现(干跑预览)
python3 tools/feishu-render.py --docs <代号> --dry-run # 项目→飞书云文档(干跑)
bash tools/kb-bot/subscribe.sh # 起飞书群机器人长连接(收消息)
python3 tools/kb-bot/handle.py --watch # 消费事件→/kb-ask→回复常驻在 NAS
```
## 演进红线(默认不上,等信号)
- P4 编译层llm-wiki 全量互链 wiki + hot/index触发信号 = `_index` 首读定位失效 + 摄入悖论。
- P5 向量库:**唯一硬触发** = `~100 源/几百页` + index 首读定位不准。到线前「要不要上 RAG」默认答案 = **不**。向量库只做导航层type 契约与编译层零改动。
## 规则维护(见 docs/12
- **物料录入全员参与****规则改动**(改 `kb-contract.yaml`/`.claude/commands/`/CONVENTIONS/docs全员可提 PR合入需**至少一人 review不可自审自合**。
- 改字段必填/enum 前先跑 `kb-lint-fm.py` 扫全库,确认存量页不被误伤;加新 type 走 docs/11 §4 登记流程(契约加条+建目录+飞书加视图)。
- 处理层(L3)按信号生长,**契约/frontmatter 尽量不动**(上层长、地基稳)。
## 部署拓扑(见 docs/10
- 仓库家 + 常驻处理(机器人长连接、定时投影)在**公司 NAS**交互处理ingest/ask/link在各人本机读本地 clone。
- 远程 remote`http://192.168.0.101:3002/robert/company-kb.git`NAS Gitea需内网/VPN
> 治理文档docs/、CONVENTIONS.md、README.md、kb-contract.yaml改动走 PR+reviewdocs/12勿随意覆盖。