134 lines
4.0 KiB
Markdown
134 lines
4.0 KiB
Markdown
# InsightFlow 开发状态
|
||
|
||
**最后更新**: 2026-02-18
|
||
|
||
## 当前阶段
|
||
|
||
Phase 3: 记忆与生长 - **已完成 ✅**
|
||
|
||
## 已完成
|
||
|
||
### Phase 1: 骨架与单体分析 (MVP) ✅
|
||
|
||
#### 后端 (backend/)
|
||
- ✅ FastAPI 项目框架搭建
|
||
- ✅ SQLite 数据库设计 (schema.sql)
|
||
- ✅ 数据库管理模块 (db_manager.py)
|
||
- ✅ 阿里云听悟 ASR 集成 (tingwu_client.py)
|
||
- ✅ OSS 上传模块 (oss_uploader.py)
|
||
- ✅ 实体提取与对齐逻辑
|
||
- ✅ 关系提取(LLM 同时提取实体和关系)
|
||
- ✅ 项目 CRUD API
|
||
- ✅ 音频上传与分析 API
|
||
- ✅ 实体列表 API
|
||
- ✅ 关系列表 API
|
||
- ✅ 转录列表 API
|
||
- ✅ 实体提及位置 API
|
||
- ✅ transcripts 表数据写入
|
||
- ✅ entity_mentions 表数据写入
|
||
- ✅ entity_relations 表数据写入
|
||
|
||
#### 前端 (frontend/)
|
||
- ✅ 项目管理页面 (index.html)
|
||
- ✅ 知识工作台页面 (workbench.html)
|
||
- ✅ D3.js 知识图谱可视化
|
||
- ✅ 音频上传 UI
|
||
- ✅ 实体列表展示
|
||
- ✅ 转录文本中实体高亮显示
|
||
- ✅ 图谱与文本联动(点击实体双向高亮)
|
||
|
||
### Phase 2: 交互与纠错工作台 ✅
|
||
|
||
#### 后端 API 新增
|
||
- ✅ 实体编辑 API (PUT /api/v1/entities/{id})
|
||
- ✅ 实体删除 API (DELETE /api/v1/entities/{id})
|
||
- ✅ 实体合并 API (POST /api/v1/entities/{id}/merge)
|
||
- ✅ 手动创建实体 API (POST /api/v1/projects/{id}/entities)
|
||
- ✅ 关系创建 API (POST /api/v1/projects/{id}/relations)
|
||
- ✅ 关系删除 API (DELETE /api/v1/relations/{id})
|
||
- ✅ 转录编辑 API (PUT /api/v1/transcripts/{id})
|
||
|
||
#### 前端交互功能
|
||
- ✅ 实体编辑器模态框(名称、类型、定义、别名)
|
||
- ✅ 右键菜单(编辑实体、合并实体、标记为实体)
|
||
- ✅ 实体合并功能
|
||
- ✅ 关系管理(添加、删除)
|
||
- ✅ 转录文本编辑模式
|
||
- ✅ 划词创建实体
|
||
- ✅ 文本与图谱双向联动
|
||
|
||
#### 数据库更新
|
||
- ✅ update_entity() - 更新实体信息
|
||
- ✅ delete_entity() - 删除实体及关联数据
|
||
- ✅ delete_relation() - 删除关系
|
||
- ✅ update_relation() - 更新关系
|
||
- ✅ update_transcript() - 更新转录文本
|
||
|
||
### Phase 3: 记忆与生长 ✅
|
||
|
||
#### 多文件图谱融合
|
||
- ✅ 支持上传多个音频文件到同一项目
|
||
- ✅ 系统自动对齐实体,合并图谱
|
||
- ✅ 实体提及跨文件追踪
|
||
- ✅ 文件选择器切换不同转录内容
|
||
- ✅ 转录列表 API 返回文件类型
|
||
|
||
#### 实体对齐算法优化
|
||
- ✅ 新增 `entity_aligner.py` 模块
|
||
- ✅ 使用 Kimi API embedding 进行语义相似度匹配
|
||
- ✅ 余弦相似度计算
|
||
- ✅ 自动别名建议
|
||
- ✅ 批量实体对齐 API
|
||
- ✅ 实体对齐回退机制(字符串匹配)
|
||
|
||
#### PDF/DOCX 文档导入
|
||
- ✅ 新增 `document_processor.py` 模块
|
||
- ✅ 支持 PDF、DOCX、TXT、MD 格式
|
||
- ✅ 文档文本提取并参与实体提取
|
||
- ✅ 文档上传 API (/api/v1/projects/{id}/upload-document)
|
||
- ✅ 文档类型标记(audio/document)
|
||
|
||
#### 项目知识库面板
|
||
- ✅ 全新的知识库视图
|
||
- ✅ 侧边栏导航切换(工作台/知识库)
|
||
- ✅ 统计面板:实体数、关系数、文件数、术语数
|
||
- ✅ 实体网格展示(带提及统计)
|
||
- ✅ 关系列表展示
|
||
- ✅ 术语表管理(添加/删除)
|
||
- ✅ 文件列表展示(区分音频/文档)
|
||
|
||
#### 术语表功能
|
||
- ✅ 术语表数据库表 (glossary)
|
||
- ✅ 添加术语 API
|
||
- ✅ 获取术语列表 API
|
||
- ✅ 删除术语 API
|
||
- ✅ 前端术语表管理界面
|
||
|
||
#### 数据库更新
|
||
- ✅ transcripts 表新增 `type` 字段
|
||
- ✅ entities 表新增 `embedding` 字段
|
||
- ✅ 新增 glossary 表
|
||
- ✅ 新增索引优化查询性能
|
||
|
||
## 技术债务
|
||
|
||
- 听悟 SDK fallback 到 mock 需要更好的错误处理
|
||
- 前端需要状态管理(目前使用全局变量)
|
||
- 需要添加 API 文档 (OpenAPI/Swagger)
|
||
- Embedding 缓存需要持久化
|
||
- 实体对齐算法需要更多测试
|
||
|
||
## 部署信息
|
||
|
||
- 服务器: 122.51.127.111
|
||
- 项目路径: /opt/projects/insightflow
|
||
- 端口: 18000
|
||
- Docker 镜像: insightflow:phase3
|
||
|
||
## 下一步 (Phase 4)
|
||
|
||
- 知识推理与问答
|
||
- 实体属性扩展
|
||
- 时间线视图
|
||
- 导出功能(PDF/图片)
|