跳转至

智能知识系统 — 资产与负债盘点报告

日期: 2026-04-03 版本: v1.0 范围: /home/ai/zhineng-knowledge-system 全项目


目录


第一部分:资产盘点

一、核心架构资产

1.1 已完成且可用的核心模块

模块 文件 状态 价值评估
混合检索引擎 services/retrieval/ ✅ 完整 🔴 极高 — 向量+BM25+RRF融合,生产级
十领域路由系统 domains/ (10个) ✅ 完整 🔴 极高 — 气功/中医/儒家/佛家/道家/武术/哲学/科学/心理学/通用
二级缓存 cache/manager.py ✅ 完整 🟠 高 — L1内存+L2Redis,三种写策略,热键追踪
JWT认证 auth/jwt.py + middleware.py ✅ 完整 🟠 高 — RS256非对称加密,自动续签,Token黑名单
API网关 gateway/ (router+circuit_breaker+rate_limiter) ✅ 完整 🟠 高 — 熔断器+限流器+域名路由,4种策略
监控体系 monitoring/ (4个模块) ✅ 完整 🟠 高 — HealthChecker+MetricsCollector+Prometheus+缓存指标
知识图谱 services/knowledge_graph/ ✅ 完整 🟡 中 — 8实体类型+6关系类型,正则提取
推理引擎 services/reasoning/ (CoT/ReAct/GraphRAG/Auto) ✅ 架构完整 🟠 高 — 依赖外部LLM API Key
教材处理管线 textbook_processing/ ✅ 完整 🟠 高 — 自动TOC提取+AI扩展+分段+质量评估
内容生成框架 services/generation/ ✅ 框架完整 🟡 中 — 报告/课程/PPT可用,视频未实现

1.2 API 资产(171 端点)

模块 端点数 核心能力
search ~12 关键词搜索、混合检索、向量更新、问答
documents ~15 文档CRUD、分类过滤
reasoning ~8 推理/CoT/ReAct/GraphRAG/图谱查询
annotation ~20 音频标注、标签体系、协作评论
books ~12 教材搜索、章节浏览
audio ~15 上传、转写(5引擎)、分段
sysbooks ~10 302万图书编目查询
guoxue ~8 26万古籍查询
evolution ~10 AI对比、进化日志
其他 ~61 学习、生成、外部数据、健康检查等

二、数据资产

2.1 离线已处理数据(SQLite,总计 ~9.2 GB)

数据库 大小 内容 状态
data/external/Sys_books.db 2.4 GB 302万条图书编目 ✅ 完整,未导入PG
lingzhi_ubuntu/database/guoxue.db 6.3 GB 26.4万条古籍(110个wx表) ⚠️ 仅导出3000条
lingzhi_ubuntu/database/wxlb.db 98 MB 文学列表 ❌ 未导入
lingzhi_ubuntu/database/kxzd.db 18 MB 康熙字典 ❌ 未导入
lingzhi_ubuntu/database/skqs2018.db 2.9 MB 四库全书2018 ❌ 未导入
data/textbooks.db 496 MB 9卷教材(3,211章节+304文档) ✅ 完整,未导入PG
data/data.db 296 MB 云盘索引(90.7万文件) ✅ 完整,未导入PG

2.2 原始文件资产(~705 MB)

类型 数量 说明
PDF ~106 9本核心教材 + 辅导材料 + 1992-1999年杂志
TXT ~199 文章、讲义、庞明老师答疑集
DOC/DOCX ~40 各类文档

2.3 PostgreSQL 已导入数据

行数 内容
guji_documents 3,000 古籍文本(仅wx200表的2.8%)
guji_file_book_mapping 42 文件-书籍映射
user_activity_log 8 运行时数据
guji_content_mapping 7 内容映射
user_feedback 6 运行时数据
user_profile 4 运行时数据
其余64张表 0 空表

三、AI/ML 资产

3.1 LLM 提供商(7个,月均免费 ~1.11 亿 token)

提供商 模型 免费额度
GLM (智谱) glm-4-flash 等 Coding Plan 1亿 token/月
DeepSeek deepseek-chat
通义千问 qwen-max 等
混元 hunyuan-lite 等
豆包 doubao-pro 等
Claude (CLIProxy) claude-3.5-sonnet

3.2 Embedding 模型

模型 维度 部署
BGE-M3 1024 Docker 微服务 (4G/2CPU)
BGE-small-zh-v1.5 512 内嵌调用

3.3 语音能力

类型 引擎数 明细
ASR 5 Whisper, Cohere, FunASR, SenseVoice, 听悟
TTS 1 edge-tts (Microsoft, 免费)

四、基础设施资产

资产 规模
Docker 服务 9 个(PG+Redis+Embedding+API+Nginx+Prometheus+Grafana+2个Exporter)
告警规则 20 条(已定义但未启用)
运维脚本 60+ 个
文档 140+ 个
CI/CD GitHub Actions (lint + test + security)

第二部分:负债盘点

一、安全负债

🔴 S1: JWT 私钥已提交到 Git

项目 详情
文件 jwt_private.pem, jwt_public.pem
风险 任何有权访问仓库的人可获得 JWT 签名密钥,伪造任意用户身份
影响范围 全系统认证体系
修复 从 Git 历史中清除密钥,重新生成密钥对,加入 .gitignore

🔴 S2: 数据库密码硬编码在 16+ 脚本中

密码 出现文件数
zhineng_secure_2024 11 个脚本
zhineng123 7 个脚本
postgres:postgres 2 个脚本

影响: 源码泄露即导致数据库被入侵。

🔴 S3: JWT Secret 硬编码在配置文件中

文件 内容
data/config.json "jwt_secret": "fhiklwCEOkdRRqpK"
docker-compose.cli-proxy.yml JWT_SECRET=${JWT_SECRET:-lingzhi-default-secret-change-in-production}
文件 内容
data/textbooks/ima_cookies.json ima.qq.com 登录 Cookie
data/textbooks/ima_cookies_selenium.json Selenium 会话 Cookie
data/textbooks/ima_page_logged_in.html 已登录页面快照

🟡 S5: 内网 IP 泄露

  • backend/config/security.py:27http://100.66.1.8:8008
  • scripts/verify_bid_mapping.py:16http://100.66.1.8:2455

二、数据负债

🔴 D1: PostgreSQL 数据库基本为空壳

70 张表中仅 6 张有数据,核心业务表全部为 0 行:

空 table 预期行数 价值损失
sys_books 302 万 图书检索不可用
sys_book_contents / sys_book_chunks 数十万 内容搜索不可用
documents 数千 文档检索不可用
textbook_nodes / textbook_blocks 3,200+ 教材浏览不可用
kg_entities / kg_relations 数千 知识图谱不可用
books / book_chapters 数百 教材搜索不可用

这是最大的资产浪费 — 系统有完善的检索架构,但没有数据可检索。

🔴 D2: 6.3 GB 古籍数据仅导入 1.1%

  • 源库 guoxue.db263,767 条,仅导入 3,000 条(wx200 表的 2.8%)
  • 109 个 wx 表完全未导入

🔴 D3: SQLite 数据库零备份

数据库 大小 备份
Sys_books.db 2.4 GB ❌ 无
guoxue.db 6.3 GB ❌ 无
wxlb.db 98 MB ❌ 无
kxzd.db 18 MB ❌ 无
textbooks.db 496 MB ❌ 无
data.db 296 MB ❌ 无

备份脚本 scripts/backup.sh 仅备份 PostgreSQL,SQLite 数据全裸奔

🟠 D4: SQLite ↔ PostgreSQL 数据重复

数据 SQLite PostgreSQL 同步状态
图书编目 Sys_books.db (302万) sys_books (0) ❌ 未同步
教材 textbooks.db (9册) textbook_nodes (0) ❌ 未同步
古籍 guoxue.db (26万) guji_documents (3千) ❌ 部分同步

🟡 D5: 数据处理重复

  • data/processed/textbooks/data/processed/textbooks_v2/ 包含相同教材的两次处理结果
  • data/textbooks_duplicate_backup/ 包含手动复制的备份文件
  • data/context/ 有 25 个会话文件无清理策略

三、代码负债

🔴 C1: 伪造的安全审计结果

backend/services/optimization/auditor.py 的 3 个安全检查函数返回伪造数据

# 第112行: API密钥检查 → 返回 fabricated 结果
# 第124行: SQL注入检查 → 返回 fabricated 结果  
# 第136行: 依赖漏洞检查 → 返回 fabricated 结果

风险: 用户以为安全检查已执行,实际什么都没做。

🔴 C2: 损坏的导入 — AI_HOOKS_AVAILABLE 永远为 True

backend/core/__init__.py 第17-22行:

try:
    pass                          # ← 没有实际导入
    AI_HOOKS_AVAILABLE = True     # ← 永远为 True
except ImportError:
    AI_HOOKS_AVAILABLE = False

后续代码引用未导入的 AIActionWrapperRulesChecker 等符号,将触发 NameError

🟠 C3: lingminopt.py 重复实现

同一模块存在两个不同版本:

文件 行数 用途
services/evolution/lingminopt.py ~825 进化系统版本
services/optimization/lingminopt.py ~437 优化系统版本

services/optimization/ 整个模块自声明为 "experimental and incomplete, not recommended for production"。

🟠 C4: 大量 TODO/FIXME 未完成

文件 内容
api/v1/analytics.py:426 管理员接口缺少权限检查
services/optimization/lingminopt.py:304 论坛反馈分析返回空列表
services/annotation/ocr_annotator.py:255 模型微调未实现
services/annotation/transcription_annotator.py:217 模型微调未实现

🟠 C5: 过度捕获异常(100 处 except Exception

区域 数量
services/ 60
api/v1/ 13
core/ 8
其他 19

大量异常被静默吞掉,如: - knowledge_graph/builder.py:498 — 关联创建失败被静默忽略 - evolution/lingminopt.py:587 — 改进计算错误被静默忽略

🟠 C6: 重复代码

模式 出现次数 文件
to_dict() 13+ 各处独立实现
_pool() DB连接助手 3 api/v1/sysbooks.py, guoxue.py, pipeline.py
get_ai_service() 2 ai_service.py, ai_service_enhanced.py
get_lingminopt_framework() 2 两个 lingminopt.py

🟠 C7: God Files(>500 行)

文件 行数 问题
textbook_processing/autonomous_processor.py 942 3个类+CLI+测试代码混在一起
services/evolution/lingminopt.py 825 数据类+优化器+编排器+CLI
auth/jwt.py 796 Token载荷+黑名单+管理器+编解码
services/audio/audio_service.py 785 上传+转写+导入+分段+SRT解析
api/v1/evolution.py 599 10+端点+独立工具函数

🟡 C8: 废弃文件

文件 说明
services/generation/video_generator.py.backup 未实现的视频生成器
services/generation/audio_generator.py.backup 未实现的音频生成器
auth/rbac.py.backup.20260401_114324 旧RBAC模块
data/textbooks/real_file.txt 仅含 "content" 的测试文件
data/textbooks_duplicate_backup/ 手动备份副本

🟡 C9: 未使用变量(15处 noqa: F841)

多处变量赋值后从未使用,包括一个逻辑 Bug:

# huggingface_collector.py:212 — 两个分支返回相同值
_hf_type = "models" if "models" in model.get("_id", "") else "models"

四、基础设施负债

🔴 I1: Prometheus 告警全部失效

问题 原因
告警规则未加载 prometheus.yml 第13行 rule_files 被注释
Alertmanager 未部署 docker-compose.yml 中无该服务
Node Exporter 未部署 5条系统指标告警永远无法触发
告警邮箱为占位符 admin@example.com 等假地址

20 条告警规则 = 完全无效

🟠 I2: Nginx 静态文件路由错误

配置 实际 问题
alias /usr/share/nginx/html/frontend-v2/ ./frontend/frontend-v2/ 目录不存在
alias /usr/share/nginx/html/frontend/ ./frontend/frontend/ 目录不存在

前端页面可能无法正确加载。

🟡 I3: Docker Compose 版本过时

  • version: "3.8" 已被 Docker Compose V2 废弃
  • BGE-M3 embedding 服务启动需要 180 秒,可能掩盖启动失败

🟡 I4: .env.example 配置不一致

项目 .env.example 代码实际
JWT 算法 HS256 RS256
BGE_API_KEY "已弃用" 仍在示例文件中

五、测试负债

🔴 T1: 52% API 模块无测试

21 个 API 模块中 11 个无直接测试

无测试模块 影响
documents.py 核心 CRUD 无覆盖
search.py 检索功能无覆盖
books.py 教材搜索无覆盖
learning.py 学习功能无覆盖
annotation.py 标注功能无覆盖
external.py 外部数据无覆盖
optimization.py 优化功能无覆盖
intelligence.py 情报功能无覆盖
lifecycle.py 生命周期无覆盖
textbook_processing.py 教材处理无覆盖
generation.py 仅框架测试

第三部分:盘活方案

第一阶段:紧急清债(1-2天)

🔒 安全修复(最高优先级)

编号 行动 具体操作
FIX-S1 移除 JWT 私钥 git rm jwt_*.pem → 加入 .gitignore → 重新生成密钥对 → 通知所有协作者
FIX-S2 清除硬编码密码 所有脚本改用环境变量 os.getenv("DATABASE_URL")from backend.config import get_config
FIX-S3 清除敏感数据 删除 data/config.json 中的 JWT secret、ima_cookies*.jsonima_page_logged_in.html
FIX-S4 加入 .gitignore 添加 *.pem, *.key, *.crt, data/config.json, data/context/, data/textbooks/ima_*

🧹 清理废弃文件

# 删除备份文件
rm backend/services/generation/*.backup
rm backend/auth/rbac.py.backup.*
rm -rf data/textbooks_duplicate_backup/
rm data/textbooks/real_file.txt

# 删除敏感会话数据
rm data/textbooks/ima_cookies*.json
rm data/textbooks/ima_page_logged_in.html
rm data/textbooks/network_requests.json

🩹 关键代码修复

编号 行动 文件
FIX-C1 修复 core/__init__.py 中的 try: pass 导入 backend/core/__init__.py:17-22
FIX-C2 移除 auditor.py 中的伪造安全检查,改为明确报错 backend/services/optimization/auditor.py
FIX-C3 删除或合并重复的 lingminopt.py 保留 evolution/ 版本,删除 optimization/ 版本

第二阶段:数据导入(3-5天)

这是盘活资产的最关键步骤 — 系统有完善的检索架构,但缺少数据。

📊 导入执行顺序

步骤1: 导入 302 万图书编目          ← scripts/import_sys_books.py
步骤2: 导入 26 万古籍数据           ← scripts/import_guji_data.py
步骤3: 导入 9 册核心教材             ← backend/services/textbook_importer.py
步骤4: 内容提取(sys_books 文本)     ← services/content_extraction/extractor.py
步骤5: 批量生成向量嵌入              ← scripts/regenerate_embeddings.py
步骤6: 构建知识图谱                  ← services/knowledge_graph/builder.py

预估数据量与时间

步骤 目标行数 预估耗时 依赖
1. sys_books 导入 302 万 ~30 分钟 PG 可用
2. 古籍导入 26 万 ~60 分钟 PG 可用
3. 教材导入 ~3,200 章节 ~10 分钟 BGE 服务可用
4. 内容提取 数万文件 ~数小时(I/O 密集) 文件系统可访问
5. 向量化 数十万 chunks ~数小时 BGE-M3 服务可用
6. 知识图谱 数千实体/关系 ~30 分钟 步骤1完成后

建立数据备份

# 为所有 SQLite 数据库建立备份
scripts/backup_sqlite.sh   # 新建脚本
# 备份到 /backup/ 或云存储
# 加入 cron 每日自动备份

第三阶段:代码治理(5-7天)

🏗️ 架构清理

行动 具体操作
合并重复模块 删除 services/optimization/lingminopt.py,统一到 evolution/ 版本
抽取公共工具 to_dict() → 提取到 common/serialization.py_pool() → 提取到 common/db_helpers.py
修复异常处理 100处 except Exception → 替换为具体异常类型
删除实验性模块 services/optimization/ 整体标记为废弃或删除
修复告警系统 取消 prometheus.ymlrule_files 注释 → 部署 Alertmanager → 部署 Node Exporter

📐 大文件拆分

文件 行数 拆分建议
autonomous_processor.py 942 分为 toc_extractor.py + text_segmenter.py + quality_assessor.py
lingminopt.py 825 分为 models.py + optimizer.py + orchestrator.py
jwt.py 796 分为 token.py + blacklist.py + manager.py
audio_service.py 785 分为 upload.py + transcription.py + import_service.py

🧪 测试补齐

优先为以下无测试的核心模块添加测试:

优先级 模块 原因
P0 documents.py 核心 CRUD
P0 search.py 核心检索
P1 books.py 教材搜索
P1 learning.py 学习功能
P2 annotation.py 标注功能
P2 external.py 外部数据

第四阶段:能力升级(持续)

🚀 盘活后的系统价值提升

方向 当前 目标 路径
可检索内容 ~3,000 条古籍 302万+26万+3200 ≈ 329万条 完成第二阶段导入
向量覆盖率 0% >80% 完成 embedding 批量生成
知识图谱 数千实体+关系 完成KG构建
告警能力 0 条有效 20 条有效 修复 Prometheus 配置
测试覆盖 ~48% 模块有测试 >80% 模块有测试 完成第三阶段测试
安全态势 密钥泄露+硬编码密码 零硬编码密钥 完成第一阶段修复

📈 资产利用率提升路线

当前状态:    ██████░░░░░░░░░░░░░░  30% 资产利用率
                                        ↑ 架构完整但数据空

第一阶段后:  ████████░░░░░░░░░░░░  40%  (安全清债)
第二阶段后:  ████████████████░░░░  80%  (数据导入) ← 最大收益点
第三阶段后:  ██████████████████░░  90%  (代码治理)
第四阶段后:  ████████████████████  95%+ (持续优化)

附录:负债汇总表

编号 等级 类别 描述 修复成本
S1 🔴 安全 JWT 私钥在 Git 中 低 (1h)
S2 🔴 安全 16+脚本硬编码密码 中 (4h)
S3 🔴 安全 JWT Secret 硬编码 低 (1h)
S4 🟠 安全 Cookie/会话数据泄露 低 (1h)
D1 🔴 数据 PG 核心表全空 高 (3-5天)
D2 🔴 数据 26万古籍仅导入1.1% 中 (1天)
D3 🔴 数据 SQLite 零备份 中 (1天)
D4 🟠 数据 数据双重存储 低 (评估)
C1 🔴 代码 伪造安全审计 低 (2h)
C2 🔴 代码 损坏的 import 低 (30min)
C3 🟠 代码 重复 lingminopt 模块 中 (4h)
C4 🟠 代码 TODO 未完成项 中 (1天)
C5 🟠 代码 100处过度捕获异常 高 (3天)
C6 🟠 代码 重复代码模式 中 (2天)
C7 🟠 代码 9个过大文件 高 (3天)
C8 🟡 代码 废弃文件 低 (1h)
I1 🔴 基础设施 告警系统全部失效 中 (1天)
I2 🟠 基础设施 Nginx 路由错误 低 (2h)
T1 🔴 测试 52% API 无测试 高 (5天)

负债总计: 19 项(🔴 严重 7 项 / 🟠 高 7 项 / 🟡 中 5 项)


核心结论: 系统的架构资产极为丰富(混合检索、十领域路由、二级缓存、JWT认证、API网关、监控体系均为生产级实现),但最大的资产浪费在于数据未导入 — PostgreSQL 70张表中64张为空。完成第二阶段数据导入后,系统可检索内容将从 3,000 条跃升至 329 万条,资产利用率从 30% 提升至 80%。