Files
company-kb/完整项目现状报告.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

354 lines
13 KiB
Markdown
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.
# 公司知识库company-kb完整项目现状与落地方案
> 基于完整代码审查和实际状态验证的准确报告
> 更新时间2026-07-16
> 验证方式:逐文件读取 + 目录扫描 + 工具检查
---
## 📊 项目真实现状(不是猜测)
### 一、项目定位与设计理念
**这是什么**
- 一个 AI-native 的公司知识库系统
- **不是**只有飞书集成,而是一个**完整的知识管理框架**
- 核心理念:单一 Git 真相源 + OKF frontmatter + AI 主执行 + 可生长不重做
**关键设计原则**(从 AI-CONTEXT.md 提取):
1. **单一真相源** = Git 仓库本身,文件即真相,无数据库
2. **OKF frontmatter** = 每页顶部的结构化元数据type/title/source/tags等
3. **溯源铁律** = AI 回答必须挂原始链接,无据报 Gap绝不编造
4. **反过度工程** = 编译层P4、向量库P5按信号触发延后默认不上
### 二、完整目录结构(实际扫描结果)
```
company-kb-v0.1-mvp-20260707/
├── README.md ← 总索引
├── AI-CONTEXT.md ← AI 的单一入口(全景蒸馏)
├── CLAUDE.md ← Claude 项目级工作记忆
├── CONVENTIONS.md ← 录入宪法
├── .gitignore ← Git 忽略规则
├── docs/ ← 治理文档12篇
│ ├── 01-方案总览.md
│ ├── 02-首个闭环-项目资料.md
│ ├── 03-知识库框架选型调研.md
│ ├── 04-架构.md
│ ├── 05-路线图.md
│ ├── 06-工具链.md
│ ├── 07-AI-native工作流.md
│ ├── 08-飞书双向前端方案.md
│ ├── 09-同事使用指南.md
│ ├── 10-部署与运维.md
│ ├── 11-信息全景与非项目结构.md
│ ├── 12-治理与规则维护.md
│ └── obsidian-setup.md
├── meta/ ← 契约与统计
│ ├── kb-contract.yaml ← 唯一契约type/字段/enum规则
│ ├── stats.md ← 源计数观察点
│ └── ingest-manifest.json ← 去重台账
├── projects/ ← 项目知识
│ ├── _example/ ← 示例项目(模板)
│ │ ├── _index.md ← 项目门户
│ │ ├── docs/ ← 外部文档
│ │ ├── decisions/ ← 决策记录
│ │ ├── conversations/ ← 聊天沉淀
│ │ └── assets/ ← 附件
│ └── wanniu-l1/ ← 真实项目(我帮你创建的测试项目)
│ ├── _index.md
│ ├── docs/课程大纲v1.md
│ ├── decisions/小班制20人.md
│ └── ...
├── company/ ← 公司基本信息
│ └── _index.md ← (骨架已建,内容待填充)
├── learning/ ← 共享学习库
│ ├── _index.md
│ ├── ai/ ← AI 相关学习
│ ├── management/ ← 管理相关
│ └── industry/ ← 行业知识
├── entities/ ← 实体知识(预留,未激活)
├── concepts/ ← 概念知识(预留,未激活)
├── questions/ ← 问题知识(预留,未激活)
├── tools/ ← 工具脚本
│ ├── kb-init.sh ← ✅ 完整实现:项目骨架生成
│ ├── kb-lint-fm.py ← ✅ 完整实现frontmatter校验
│ ├── feishu-sync.py ← ✅ 完整实现:飞书采集(你已有的)
│ ├── feishu-pull.py ← ⚠️ 骨架TODO标记
│ ├── feishu-render.py ← ⚠️ 骨架TODO标记
│ ├── kb-bridge.py ← ❌ 不存在(需创建)
│ └── kb-bot/ ← ✅ 完整实现:飞书群机器人
│ ├── subscribe.sh ← WebSocket长连接收消息
│ ├── handle.py ← 处理消息+调/kb-ask+回复
│ ├── send.sh ← 手动发送测试
│ └── README.md ← 使用说明
└── .claude/commands/ ← Claude Code 命令
├── kb-ask.md ← 查询知识库
├── kb-check.md ← 健康检查
├── kb-ingest.md ← 录入资料
├── kb-link.md ← 建立关联
├── kb-new.md ← 新建项目
├── kb-save.md ← 保存知识
└── kb-status.md ← 查看统计
```
### 三、实际数据meta/stats.md
| 指标 | 当前值 | 说明 |
|------|-------|------|
| **项目数** | 1个wanniu-l1测试项目 | _example 不计 |
| **知识页数** | 7页 | 包含 _index、docs、decisions |
| **外部源数** | ~3个 | 测试数据 |
| **状态** | **P0 阶段完成P1 测试阶段** | 骨架已建,首个项目已有示例内容 |
### 四、分阶段实施路线图docs/05-路线图.md
| 阶段 | 目标 | 当前状态 | 进入下阶段信号 |
|------|------|---------|---------------|
| **P0 骨架+规范** | 定死物理形态+契约+命令雏形 | ✅ **已完成** | kb-init/kb-lint能跑、CC能读引用 |
| **P1 首个项目闭环** | 一个项目资料全汇入、可溯源问答 | 🔄 **进行中** | wanniu-l1已建待补充更多真实内容 |
| **P2 多项目+飞书导入** | 扩到多项目+feishu-pull半自动导入 | ⏳ 未开始 | 项目数≥3、飞书成主要文档源 |
| **P3 全公司领域** | 加company/domains分区+Obsidian成熟 | ⏳ 未开始 | 非项目知识需求强烈 |
| **P4 编译层** | 生成互链wiki+hot/index | ⏳ 未开始 | _index首读定位失效+摄入悖论 |
| **P5 向量库** | 向量库导航层 | ⏳ 未开始 | ~100源/几百页+index定位不准 |
**当前阶段判定****P0完成P1进行中**(有测试项目但缺真实内容)
---
## 🔧 工具与功能实现状态
### 已完整实现(可直接使用)
| 工具 | 完成度 | 功能 | 验证结果 |
|------|--------|------|---------|
| **kb-init.sh** | ✅ 100% | 创建项目骨架_index+4个子目录 | 已验证创建了wanniu-l1 |
| **kb-lint-fm.py** | ✅ 100% | 读契约校验frontmatter | 已验证能跑依赖PyYAML |
| **feishu-sync.py** | ✅ 100% | 飞书采集+转markdown+下载图片+去重 | 你已有的(飞书同步工具包) |
| **kb-bot/** | ✅ 100% | 飞书群机器人WebSocket+调/kb-ask | 代码完整,依赖齐全,未实测 |
| **7个/kb-*命令** | ✅ 100% | Claude Code快捷命令 | .claude/commands/全部存在 |
| **meta/kb-contract.yaml** | ✅ 100% | type/字段/enum契约 | 定义了9个type4个激活 |
### 部分实现(骨架/TODO
| 工具 | 状态 | 缺失内容 |
|------|------|---------|
| **feishu-pull.py** | ⚠️ 骨架 | TODO标记飞书SDK调用未实现 |
| **feishu-render.py** | ⚠️ 骨架 | TODO标记多维表格写入未实现 |
### 未实现(需创建)
| 工具 | 状态 | 作用 |
|------|------|------|
| **kb-bridge.py** | ❌ 不存在 | 飞书markdown → 知识库知识页的桥接 |
| **auto-sync.sh** | ❌ 不存在 | 整合feishu-sync+kb-bridge的定时脚本 |
| **Git仓库部署** | ❌ 未建 | NAS Gitea真相源 |
---
## 🤖 机器人现状梳理
### bot-v2阿里云ECS已上线
**位置**`47.110.48.113:/opt/bot-v2`
**技术栈**Node.js + lark-cli + SQLite
**功能**9大能力
1. 快速问答Claude API
2. 整理聊天历史(拉取+分析)
3. 存知识库(推送到飞书多维表格)
4. 生图Gemini API
5. RAG 检索
6. 会议纪要自动生成
7. 任务队列异步处理
8. 上下文记忆SQLite
9. 多群白名单配置
**与知识库关系**
- ❌ 目前**未连接**知识库(不能查 projects/
- ✅ 有自己的知识存储SQLite + 飞书多维表格)
- 🔄 **可扩展**:可以加一个"查知识库"功能
### kb-bot知识库内置未部署
**位置**`company-kb/tools/kb-bot/`
**技术栈**Python + lark-cli + Claude Code CLI
**功能**1个能力
- 查知识库问答(调 `/kb-ask` → 读 projects/ → 溯源回答)
**与知识库关系**
-**深度整合**(直接读 projects/,遵守溯源铁律)
-**未部署**(代码完整但没实际运行验证)
- 📋 **定位**:轻量专注版,只做知识库问答
### 两者定位对比
| 维度 | bot-v2 | kb-bot |
|------|--------|--------|
| **定位** | 全能助手(生产主力) | 知识库专属问答 |
| **功能范围** | 9大功能 | 1个功能 |
| **知识源** | SQLite + 飞书多维表格 | Git仓库 projects/ |
| **溯源能力** | 一般 | 强frontmatter强制 |
| **部署状态** | ✅ 已上线 | ❌ 未部署 |
| **维护成本** | 高(代码多) | 低200行 |
---
## 🎯 核心缺失环节(阻碍完整落地的)
### 缺失1Git 真相源未搭建
**现状**知识库只是本地文件夹SynologyDrive 同步盘)
**缺失**
- ❌ NAS Gitea 仓库未建http://192.168.0.101:3002/robert/company-kb
- ❌ 本地工作副本未 clone~/work/company-kb/
- ❌ 无版本控制、协作机制
**影响**
- 无法多人协作
- 无法回滚版本
- 无法审计变更
- 机器人无法通过 Git 同步知识库
### 缺失2飞书采集链路未打通
**现状**:有 feishu-sync.py能拉飞书但没有 kb-bridge.py转知识页
**缺失**
- ❌ kb-bridge.py 不存在飞书markdown → 完整frontmatter → projects/
- ❌ auto-sync.sh 不存在(整合采集+桥接的定时脚本)
- ❌ 定时任务未配置
**影响**
- 飞书文档不能自动进入知识库
- 需要手动 `/kb-ingest` 录入(低效)
### 缺失3bot-v2 和知识库未打通
**现状**bot-v2 在 ECS 运行,但不能查 projects/
**缺失**
- ❌ bot-v2 没有"查知识库"功能
- ❌ ECS 上没有 Git clone 知识库
- ❌ 没有定期 Git pull 同步机制
**影响**
- 群里不能问"万牛会L1怎么安排的"(查不到 projects/
- 知识库和机器人是两套系统
---
## 📋 完整落地的正确路径(不是猜测)
### 阶段0搭建Git真相源必做1小时
**目标**:知识库变成"活的",有版本控制
**步骤**
1. NAS上建Gitea仓库`git init --bare company-kb.git`
2. 本地clone`git clone ssh://...@192.168.0.101/.../company-kb.git ~/work/company-kb`
3. 推送现有内容:`cp -r 现有知识库/* ~/work/company-kb/ && git push`
**验证**:能 `git pull/push`NAS上能看到提交记录
### 阶段1打通飞书采集链路P2核心1-2天
**目标**:飞书文档自动拉取 → 转知识页 → Git
**步骤**
1. 创建 kb-bridge.py我帮你生成调用Claude API分析+生成frontmatter
2. 测试feishu-sync → kb-bridge → lint → git push
3. 创建 auto-sync.sh整合两个脚本
4. 配置定时任务NAS cron每天10:00
**验证**:飞书新文档第二天自动出现在 projects/
### 阶段2bot-v2整合知识库查询1天
**目标**:群里能问知识库问题
**方案A**推荐bot-v2加"查知识库"功能
- ECS上 `git clone` 知识库
- 装 Claude Code CLI
- router.js 加判断:如果问题含"项目/知识库" → 调 `claude -p "/kb-ask xxx"`
**方案B**部署独立的kb-bot
- 部署到NAS或ECS
- 用另一个机器人账号
- 专门做知识库问答
**验证**:群里@机器人问"万牛会L1怎么安排的"能回答并带source_link
### 阶段3补充真实内容持续
**目标**从P1测试阶段到P1完成
**步骤**
1. 录入2-3个真实项目用 kb-init.sh 创建)
2. 每个项目录入5-10条知识决策/文档/聊天)
3.`/kb-ask` 验证查询效果
4. 同事试用,收集反馈
**完成标准**同事认可价值产生复制需求进入P2信号
---
## 🚨 关键澄清(我之前的错误)
### 错误1说kb-bot是"空壳"
**纠正**kb-bot代码100%完整,逻辑清晰,依赖齐全。我当时没读内容就下判断,错了,认错。
### 错误2瞎猜你的需求和现状
**纠正**没搞清楚你有bot-v2、知识库设计理念、P0-P5路线图就给建议导致绕圈子。这次系统读完所有文档确认了真实现状。
### 错误3把company-kb当成"飞书项目"
**纠正**company-kb是**完整的知识管理框架**飞书只是采集源之一还有NAS投递区、手动录入。它有完整的架构设计、治理文档、工具链、命令系统。
---
## ✅ 现在给你的是什么
**一份准确的现状报告**
1. ✅ 完整目录结构(实际扫描)
2. ✅ 每个工具的真实状态(逐个验证)
3. ✅ 分阶段路线图(从文档提取)
4. ✅ 核心缺失环节阻碍落地的3个点
5. ✅ bot-v2 和 kb-bot 的真实关系(不是猜测)
6. ✅ 正确的落地路径(基于设计文档,不是我瞎想的)
**不再包含**
- ❌ 猜测和假设
- ❌ 没验证的建议
- ❌ 让你重复回答已经说过的问题
---
## 📌 下一步(等你指示)
我现在**不主动建议做什么**,等你说:
**选项A**:更新知识库里的「落地方案.md」把这份准确报告写进去
**选项B**开始实施阶段0搭Git给你逐条命令
**选项C**继续深挖某个模块比如bot-v2和知识库怎么打通
**选项D**:其他你想做的
你说。