# 公司知识库 · 完整落地方案 > 从架构到实施的一站式方案:整体框架 + 飞书对接 + 分阶段落地 > 更新时间:2026-07-16 --- # 第一部分:整体架构 ## 1.1 这是什么系统? 一个 **AI 原生的公司知识库**: - **文件柜(Git 仓库)** = 存所有知识,无数据库 - **标签纸(frontmatter)** = 每篇文档的元数据,让 AI 快速识别 - **AI 管理员(Claude)** = 常驻,自动采集、生成、问答 **核心理念(4 条铁律)**: 1. **单一真相源** = Git 仓库本身,文件即真相 2. **编译过的链接** = 不搬原件,提炼精华 + 留 source_link 指回原文 3. **溯源铁律** = 每条结论必挂原始链接,无据报 Gap,绝不编造 4. **AI 权限边界** = 安全项自动做(补字段/建链),有损项挂起交人(删除/合并) ## 1.2 四层架构 ``` ┌────────────────────────────────────────────────┐ │ L4 呈现层 Obsidian编辑 + 飞书展示 + Claude问答 │ ├────────────────────────────────────────────────┤ │ L3 处理层 lint校验 + AI语义检索 + 去重 │ ├────────────────────────────────────────────────┤ │ L2 汇聚层 Git仓库 + OKF frontmatter ★真相源★ │ ├────────────────────────────────────────────────┤ │ L1 采集层 飞书 + NAS投递区 + 手动点名 │ └────────────────────────────────────────────────┘ ``` ## 1.3 目录结构 ``` company-kb/ # Git 根 = 唯一真相源 ├── projects/ # 项目知识 │ ├── <代号>/ # 每个项目一个档案盒 │ │ ├── _index.md # 项目门户 (type: project) │ │ ├── docs/ # 外部文档 (type: doc) │ │ ├── decisions/ # 决策记录 (type: decision) │ │ ├── conversations/ # 聊天沉淀 (type: conversation) │ │ └── assets/ # 原始附件(免 frontmatter) │ └── _example/ # 示例项目(照抄即合规) ├── company/ # 公司基本信息(P3 启用) ├── learning/ # 共享学习库(ai/management/industry) ├── entities/ concepts/ questions/ # 预留 type(未激活) ├── meta/ │ ├── kb-contract.yaml # ★唯一契约:type/字段/enum 规则 │ ├── ingest-manifest.json # 去重台账 │ └── stats.md # 统计观察点 ├── tools/ # 工具脚本 └── .claude/commands/ # Claude 命令面板 (/kb-*) ``` ## 1.4 两个核心概念 ### frontmatter = 文件的"标签纸" 每个 .md 文件顶部用 `---` 包起来的元数据: ```yaml --- type: decision # 类型(唯一硬必填) title: "客户A阶梯定价" # 标题 description: 因预算分期改用阶梯定价 # 一句话描述 tags: [报价, 客户-a] # 标签(筛选用) timestamp: 2026-06-20 # 发生时间 source: 飞书群 # 来源渠道 source_link: https://... # 原始链接(溯源) status: mature # 成熟度 seed/developing/mature created: 2026-06-20 # 创建时间 ingested: 2026-06-24 # 录入时间 related: ["[[项目门户]]"] # 关联页面 --- ``` **作用**:让 AI 先看标签筛选(快、准),再读内容;回答时能挂原文链接(可溯源)。 ### projects/<代号>/ = 项目档案盒 每个项目一个统一结构的文件夹,所有资料按类型放进对应抽屉(docs/decisions/conversations/assets)。好处:结构统一、AI 友好、照抄即合规。 **创建方式**:`bash tools/kb-init.sh <项目代号>`(自动生成骨架 + _index.md) --- # 第二部分:现状盘点 ## 2.1 已完成(70%) | 组件 | 完成度 | 功能 | 位置 | |------|--------|------|------| | **feishu-sync.py** | ✅ 100% | 飞书采集+去重+图片下载+简单frontmatter | 飞书同步工具包/ | | **run-sync.sh** | ✅ 100% | 定时任务包装 | 飞书同步工具包/ | | **安装.command** | ✅ 100% | 一键装环境+配定时任务 | 飞书同步工具包/ | | kb-lint-fm.py | ✅ 100% | frontmatter 校验器 | tools/ | | kb-init.sh | ✅ 100% | 项目骨架生成 | tools/ | | kb-contract.yaml | ✅ 100% | type/字段/enum 契约 | meta/ | | Claude 命令面板 | ✅ 100% | 7个 /kb-* 命令 | .claude/commands/ | | 示例项目 | ✅ 100% | _example/ | projects/ | **关键**:你的 `feishu-sync.py` 已经把「飞书采集」这一最难的环节做完了——递归拉取、docx转markdown、下载图片、去重、定时任务全有。 ## 2.2 待补全(30%) | 组件 | 状态 | 工作量 | 优先级 | 功能 | |------|------|--------|--------|------| | **kb-bridge.py** | ❌ 不存在 | 1-2天 | **P0** | 飞书markdown → 知识库知识页 | | **Git 仓库部署** | ❌ 未建 | 半天 | **P0** | NAS Gitea 真相源 | | **auto-sync.sh** | ❌ 不存在 | 半天 | **P0** | 整合采集+桥接的定时脚本 | | nas-watch.py | ❌ 不存在 | 1天 | P1 | 监控投递区自动采集 | | feishu-render.py | ❌ 骨架 | 2天 | P1 | 推送到飞书多维表格 | | pre-commit hook | ❌ 不存在 | 半天 | P1 | Git提交前自动校验 | --- # 第三部分:完整流程图 ## 3.1 采集与处理流程 ```mermaid graph TB A1[飞书文档] --> B{采集方式} A2[飞书群聊] --> B A3[NAS投递区] --> B B -->|手动| C1["/kb-ingest命令"] B -->|定时自动| C2["feishu-sync.py
每天10:00"] B -->|实时监控| C3["nas-watch.py"] C1 --> D[kb-bridge.py
桥接脚本] C2 --> D C3 --> D D --> E[AI分析
Claude API] E --> F{判断type} F -->|决策| G1[projects/xxx/decisions/] F -->|文档| G2[projects/xxx/docs/] F -->|聊天| G3[projects/xxx/conversations/] G1 --> H[Git commit + push] G2 --> H G3 --> H H --> I[NAS Git仓库
真相源] style C2 fill:#90EE90 style D fill:#FFB6C1 style E fill:#87CEEB style I fill:#FFD700 ``` ## 3.2 数据存储拓扑 ```mermaid graph LR subgraph NAS A[Gitea Git仓库
真相源] B[投递区] C[定时任务] end subgraph Mac D[工作副本] E[Obsidian] F[Claude Code] end subgraph 飞书 G[飞书文档] H[多维表格展示] end G -->|feishu-sync.py| I[临时目录] I -->|kb-bridge.py| A B -->|nas-watch.py| A A <-->|git pull/push| D D --> E D --> F A -->|feishu-render.py| H style A fill:#FFD700 style I fill:#FFB6C1 ``` ## 3.3 日常工作流时序 ```mermaid sequenceDiagram participant 飞书 participant 定时任务 participant feishu_sync participant kb_bridge participant Claude participant Git仓库 Note over 飞书,定时任务: 每天10:00 定时任务->>feishu_sync: 触发 feishu_sync->>飞书: 扫描新文档 飞书-->>feishu_sync: 返回docx feishu_sync->>feishu_sync: 转markdown+下图 feishu_sync->>kb_bridge: 传markdown kb_bridge->>Claude: 分析+判断type Claude-->>kb_bridge: type/tags/要点 kb_bridge->>kb_bridge: 生成完整frontmatter kb_bridge->>Git仓库: commit+push ``` ## 3.4 三个关键位置 ``` 位置1:真相源(NAS Git仓库) http://192.168.0.101:3002/robert/company-kb 作用:唯一权威版本,所有人 pull/push 位置2:工作区(你的Mac) ~/work/company-kb/ 作用:Obsidian编辑、Claude问答、Git提交 位置3:投递区(NAS共享文件夹) SynologyDrive-zhishiku/知识库投递区/ 作用:同事丢文件,监控脚本自动采集 ``` --- # 第四部分:分阶段实施 ## 阶段 0:环境准备(半天) ### 0.1 NAS 建 Git 仓库 ```bash # NAS 上(SSH/DSM终端) cd /volume1/git/repos/robert/ git init --bare company-kb.git # 本地 clone cd ~/work/ git clone ssh://用户名@192.168.0.101/volume1/git/repos/robert/company-kb.git cd company-kb/ # 推送现有知识库 cp -r "现有知识库路径"/* . git add . && git commit -m "Initial commit" && git push ``` ### 0.2 整合飞书工具 ```bash cd ~/work/company-kb/ cp "飞书同步工具包/feishu-sync.py" tools/ cp "飞书同步工具包/run-sync.sh" tools/ git add tools/ && git commit -m "Add feishu-sync" && git push ``` ## 阶段 1:核心对接(1-2天,P0) ### 1.1 创建 kb-bridge.py **作用**:把 feishu-sync.py 拉下来的 markdown,用 AI 分析后转成合规知识页。 **核心逻辑**: ```python # 伪代码 for md_file in feishu输出目录: content = 读取(md_file) 分析 = Claude_API分析(content) # 判断type、提取tags、写description frontmatter = 生成完整frontmatter(分析, 契约) 保存到 projects/<代号>/{分析.type对应目录}/ git commit + push ``` **安装**: ```bash pip3 install anthropic pyyaml export ANTHROPIC_API_KEY="你的Key" cp kb-bridge.py tools/ ``` ### 1.2 测试完整流程 ```bash # 步骤1:拉飞书到临时目录 python3 tools/feishu-sync.py --folder ROOT --out /tmp/test --skip-big # 步骤2:桥接处理到知识库 python3 tools/kb-bridge.py --input /tmp/test --project wanniu-l1 # 步骤3:校验 python3 tools/kb-lint-fm.py projects/wanniu-l1/ # 期望:错误 0 | 警告 0 # 步骤4:推送 git add . && git commit -m "Test ingest" && git push ``` ### 1.3 创建统一定时脚本 auto-sync.sh ```bash #!/bin/bash # 1. 拉飞书 → 临时目录 python3 tools/feishu-sync.py --folder ROOT --out /tmp/sync-$(date +%s) --skip-big # 2. 桥接 → 知识库 python3 tools/kb-bridge.py --input /tmp/sync-* --project auto # 3. 清理临时目录 rm -rf /tmp/sync-* ``` ### 1.4 配置定时任务 ```bash # NAS cron 或 Mac crontab 0 10 * * * cd ~/work/company-kb && git pull && bash tools/auto-sync.sh ``` ## 阶段 2:验证(1天,P0) - [ ] 手动跑 `bash tools/auto-sync.sh`,看日志 - [ ] 检查 projects/ 下是否有新知识页 - [ ] `python3 tools/kb-lint-fm.py` 全部通过 - [ ] Claude Code 里 `/kb-ask` 测试问答 ## 阶段 3:锦上添花(P1,可选) - **nas-watch.py**:监控投递区,文件一丢就处理(1天) - **feishu-render.py**:推送知识库到飞书多维表格(2天) - **pre-commit hook**:Git提交前自动校验(半天) --- # 第五部分:日常使用 ## 常用命令 ```bash # 创建新项目 bash tools/kb-init.sh <项目代号> # 手动录入 /kb-ingest <项目代号> <飞书链接/文件> # 查询知识 /kb-ask <问题> # 校验知识库 python3 tools/kb-lint-fm.py # 或 /kb-check # 同步代码 git pull # 拉最新 git push # 推更新 # 查看统计 /kb-status ``` ## 五种使用场景 | 场景 | 操作 | |------|------| | **查信息** | `/kb-ask 万牛会L1怎么安排的?` → AI答案+溯源 | | **手动录入** | `/kb-ingest wanniu-l1 <飞书链接>` | | **看自动同步** | `tail -100 sync.log` | | **编辑知识** | Obsidian打开 → 改 → git push | | **健康检查** | `/kb-check` → 报告缺字段/死链 | --- # 第六部分:关键决策与FAQ ## 改造前 vs 改造后 **改造前(纯手工)**:打开飞书→复制→建md→手写12字段frontmatter→粘贴→commit,每篇5-10分钟,累且易错。 **改造后(自动化)**:每天10:00全自动采集+生成+提交,你只需 `git pull` 和 `/kb-ask`,每天0分钟。 ## FAQ **Q: API 会不会很贵?** Sonnet约$3/百万token,每天10篇×2000字≈$0.12/天,月约$3.6,可接受。 **Q: 要不要上向量库/RAG?** 现阶段不用。文档明确 P5(~100源/几百页且定位不准)才考虑,Claude语义检索够用。 **Q: 定时任务失败怎么办?** 查 `sync.log`。常见:飞书登录过期(重新 `lark-cli auth login`)、API Key失效、Git冲突(手动pull)。 **Q: NAS和本地怎么同步?** 用 Git pull/push(可靠),不要用群晖Drive自动同步(易冲突)。 --- # 快速启动清单(3天跑通) ## Day 1:环境搭建 - [ ] NAS 建 Git 仓库 - [ ] 本地 clone 到 ~/work/company-kb/ - [ ] 推送知识库内容 - [ ] 整合 feishu-sync.py 到 tools/ ## Day 2:核心对接 - [ ] 安装 kb-bridge.py + 配 API Key - [ ] 测试:feishu-sync → kb-bridge → lint → push - [ ] 创建 auto-sync.sh ## Day 3:定时与验证 - [ ] 手动跑 auto-sync.sh - [ ] 配置定时任务 - [ ] /kb-ask 测试问答 - [ ] 记录问题准备优化 --- **核心结论**:你已完成最难的70%(飞书采集),只需补 kb-bridge.py(1-2天)就能打通全流程。建议先走「快速启动3天」验证价值,再决定是否补 P1 自动化。