255 lines
8.8 KiB
Markdown
255 lines
8.8 KiB
Markdown
# InsightFlow 开发状态
|
||
|
||
**最后更新**: 2026-02-20 12:10
|
||
|
||
## 当前阶段
|
||
|
||
Phase 5: 高级功能 - **进行中 🚧**
|
||
|
||
## 部署状态
|
||
|
||
- **服务器**: 122.51.127.111:18000
|
||
- **Neo4j**: 122.51.127.111:7474 (HTTP), 122.51.127.111:7687 (Bolt)
|
||
- **Git 版本**: 0286e96 - Phase 5: Add Neo4j graph analysis frontend panel
|
||
|
||
## 已完成
|
||
|
||
### Phase 1-3 (已完成 ✅)
|
||
- FastAPI 项目框架搭建
|
||
- SQLite 数据库设计
|
||
- 阿里云听悟 ASR 集成
|
||
- OSS 上传模块
|
||
- 实体提取与对齐逻辑
|
||
- 关系提取
|
||
- 项目 CRUD API
|
||
- 音频上传与分析 API
|
||
- D3.js 知识图谱可视化
|
||
- 实体列表展示
|
||
- 转录文本中实体高亮显示
|
||
- 图谱与文本联动
|
||
|
||
### Phase 4 - Agent 助手 (已完成 ✅)
|
||
- ✅ 创建 llm_client.py - Kimi API 客户端
|
||
- 支持流式/非流式聊天
|
||
- 带置信度的实体提取
|
||
- RAG 问答功能
|
||
- Agent 指令解析
|
||
- 实体演变分析
|
||
- ✅ 更新 db_manager.py - 新增方法
|
||
- `get_relation_with_details()` - 获取关系详情
|
||
- `get_entity_with_mentions()` - 获取实体及提及
|
||
- `search_entities()` - 搜索实体
|
||
- `update_entity()` - 更新实体
|
||
- `get_project_summary()` - 项目摘要
|
||
- `get_transcript_context()` - 转录上下文
|
||
- ✅ 更新 main.py - Agent API 端点
|
||
- `POST /api/v1/projects/{id}/agent/query` - RAG 问答
|
||
- `POST /api/v1/projects/{id}/agent/command` - 指令执行
|
||
- `GET /api/v1/projects/{id}/agent/suggest` - 智能建议
|
||
- `GET /api/v1/relations/{id}/provenance` - 关系溯源
|
||
- `GET /api/v1/entities/{id}/details` - 实体详情
|
||
- `GET /api/v1/entities/{id}/evolution` - 实体演变分析
|
||
- `GET /api/v1/projects/{id}/entities/search` - 实体搜索
|
||
- `PATCH /api/v1/entities/{id}` - 更新实体
|
||
- ✅ 更新 workbench.html - Agent 面板 UI
|
||
- 可折叠的 Agent 助手面板
|
||
- 聊天界面
|
||
- 实体悬停卡片
|
||
- 关系溯源弹窗
|
||
- ✅ 更新 app.js - 前端功能
|
||
- Agent 聊天功能
|
||
- 指令执行(合并实体、编辑定义)
|
||
- RAG 问答
|
||
- 实体卡片悬停显示
|
||
- 关系点击溯源
|
||
- 低置信度实体标黄
|
||
|
||
### Phase 4 - 知识溯源 (已完成 ✅)
|
||
- ✅ 点击关系连线显示来源文档
|
||
- ✅ 实体详情显示所有提及位置
|
||
- ✅ 证据文本展示
|
||
|
||
### Phase 4 - 术语卡片悬停 (已完成 ✅)
|
||
- ✅ 鼠标悬停实体显示卡片
|
||
- ✅ 卡片包含:名称、定义、提及次数、关系数
|
||
|
||
### Phase 4 - 置信度提示 (已完成 ✅)
|
||
- ✅ LLM 提取返回置信度分数
|
||
- ✅ 低置信度实体在文本中标黄
|
||
|
||
### Phase 5 - 知识推理与问答增强 (已完成 ✅)
|
||
- ✅ 创建 knowledge_reasoner.py - 知识推理引擎
|
||
- 因果推理:分析原因和影响
|
||
- 对比推理:比较实体间的异同
|
||
- 时序推理:分析时间线和演变
|
||
- 关联推理:发现隐含关联
|
||
- ✅ 新增 API 端点
|
||
- `POST /api/v1/projects/{id}/reasoning/query` - 增强问答
|
||
- `POST /api/v1/projects/{id}/reasoning/summary` - 智能总结
|
||
- `GET /api/v1/projects/{id}/reasoning/inference-path` - 关联路径
|
||
- ✅ 前端推理面板
|
||
- 推理类型选择
|
||
- 深度控制
|
||
- 结果展示(置信度、证据、知识缺口)
|
||
- 项目总结卡片(全面/高管/技术/风险)
|
||
|
||
### Phase 5 - 实体属性扩展 (已完成 ✅)
|
||
- ✅ 数据库层
|
||
- 新增 `entity_attributes` 表存储自定义属性
|
||
- 新增 `attribute_templates` 表管理属性模板
|
||
- 新增 `attribute_history` 表记录属性变更历史
|
||
- ✅ 后端 API
|
||
- `GET/POST /api/v1/projects/{id}/attribute-templates` - 属性模板管理
|
||
- `GET/POST/PUT/DELETE /api/v1/entities/{id}/attributes` - 实体属性 CRUD
|
||
- `GET /api/v1/entities/{id}/attributes/history` - 属性变更历史
|
||
- `GET /api/v1/projects/{id}/entities/search-by-attributes` - 属性筛选搜索
|
||
- ✅ 属性类型支持
|
||
- text: 文本
|
||
- number: 数字
|
||
- date: 日期
|
||
- select: 单选
|
||
- multiselect: 多选
|
||
- boolean: 布尔值
|
||
|
||
### Phase 5 - 时间线视图 (已完成 ✅)
|
||
- ✅ 后端 API: `/api/v1/projects/{id}/timeline`
|
||
- ✅ 前端时间线面板
|
||
- ✅ 实体提及和关系事件可视化
|
||
- ✅ 实体筛选功能
|
||
|
||
## 待完成
|
||
|
||
### Phase 5 - Neo4j 图数据库集成 (进行中 🚧)
|
||
- [x] 创建 neo4j_manager.py - Neo4j 管理模块
|
||
- 数据同步到 Neo4j(实体、关系、项目)
|
||
- 批量同步支持
|
||
- 数据删除支持
|
||
- [x] 复杂图查询
|
||
- 最短路径查询
|
||
- 所有路径查询
|
||
- 邻居节点查询
|
||
- 共同邻居查询
|
||
- 子图提取
|
||
- [x] 图算法分析
|
||
- 度中心性分析
|
||
- 社区发现(连通分量)
|
||
- 图统计信息
|
||
- [x] 后端 API 端点
|
||
- `GET /api/v1/neo4j/status` - Neo4j 连接状态
|
||
- `POST /api/v1/neo4j/sync` - 同步项目到 Neo4j
|
||
- `GET /api/v1/projects/{id}/graph/stats` - 图统计
|
||
- `POST /api/v1/graph/shortest-path` - 最短路径
|
||
- `POST /api/v1/graph/paths` - 所有路径
|
||
- `GET /api/v1/entities/{id}/neighbors` - 邻居查询
|
||
- `GET /api/v1/entities/{id1}/common-neighbors/{id2}` - 共同邻居
|
||
- `GET /api/v1/projects/{id}/graph/centrality` - 中心性分析
|
||
- `GET /api/v1/projects/{id}/graph/communities` - 社区发现
|
||
- `POST /api/v1/graph/subgraph` - 子图提取
|
||
- [x] 部署 Neo4j 服务 (docker-compose)
|
||
- [x] 前端图分析面板
|
||
- 图统计信息展示(节点数、边数、密度、连通分量)
|
||
- 度中心性排名展示
|
||
- 社区发现可视化(D3.js 力导向图)
|
||
- 最短路径查询和可视化
|
||
- 邻居节点查询和可视化
|
||
- Neo4j 连接状态指示
|
||
- 数据同步按钮
|
||
- [ ] 路径可视化优化
|
||
- [ ] 社区可视化增强
|
||
|
||
### Phase 4 - Neo4j 集成 (可选)
|
||
- [ ] 将图谱数据同步到 Neo4j
|
||
- [ ] 支持复杂图查询
|
||
|
||
### Phase 5 - 高级功能 (进行中 🚧)
|
||
- [x] 知识推理与问答增强 ✅ (2026-02-19 完成)
|
||
- [x] 实体属性扩展 ✅ (2026-02-20 完成)
|
||
- [x] 时间线视图 ✅ (2026-02-19 完成)
|
||
- [x] 导出功能 ✅ (2026-02-20 完成)
|
||
- 知识图谱导出 PNG/SVG
|
||
- 项目报告导出 PDF
|
||
- 实体数据导出 Excel/CSV
|
||
- 关系数据导出 CSV
|
||
- 转录文本导出 Markdown
|
||
- 项目完整数据导出 JSON
|
||
- [ ] 协作功能
|
||
- 多用户支持
|
||
- 项目权限管理
|
||
- 评论和批注
|
||
- 变更历史追踪
|
||
|
||
## 技术债务
|
||
|
||
- 听悟 SDK fallback 到 mock 需要更好的错误处理
|
||
- 实体相似度匹配目前只是简单字符串包含,需要 embedding 方案
|
||
- 前端需要状态管理(目前使用全局变量)
|
||
- 需要添加 API 文档 (OpenAPI/Swagger)
|
||
|
||
## 部署信息
|
||
|
||
- 服务器: 122.51.127.111
|
||
- 项目路径: /opt/projects/insightflow
|
||
- 端口: 18000
|
||
|
||
## 最近更新
|
||
|
||
### 2026-02-20 (晚间)
|
||
- 完成 Phase 5 前端图分析面板
|
||
- 新增侧边栏 "图分析" 按钮
|
||
- 图统计信息展示(节点数、边数、密度、连通分量)
|
||
- 度中心性分析排名展示
|
||
- 社区发现可视化(D3.js 力导向图)
|
||
- 最短路径查询和可视化
|
||
- 邻居节点查询和可视化
|
||
- Neo4j 连接状态指示
|
||
- 数据同步到 Neo4j 功能
|
||
- 提交代码到 git 仓库
|
||
- 部署到服务器: 122.51.127.111:18000
|
||
|
||
### 2026-02-20 (晚间)
|
||
- 完成 Phase 5 导出功能
|
||
- 新增 export_manager.py 导出管理模块
|
||
- 知识图谱导出 SVG/PNG (支持矢量图和图片格式)
|
||
- 实体数据导出 Excel/CSV (包含所有自定义属性)
|
||
- 关系数据导出 CSV
|
||
- 项目报告导出 PDF (包含统计、实体列表、关系列表)
|
||
- 转录文本导出 Markdown (带实体标注)
|
||
- 项目完整数据导出 JSON (备份/迁移用)
|
||
- 前端知识库面板添加导出入口
|
||
- 新增依赖: pandas, openpyxl, reportlab, cairosvg
|
||
|
||
### 2026-02-20
|
||
- 完成 Phase 5 实体属性扩展功能
|
||
- 数据库层:
|
||
- 新增 `entity_attributes` 表存储自定义属性
|
||
- 新增 `attribute_templates` 表管理属性模板
|
||
- 新增 `attribute_history` 表记录属性变更历史
|
||
- 后端 API:
|
||
- `GET/POST /api/v1/projects/{id}/attribute-templates` - 属性模板管理
|
||
- `GET/POST/PUT/DELETE /api/v1/entities/{id}/attributes` - 实体属性 CRUD
|
||
- `GET /api/v1/entities/{id}/attributes/history` - 属性变更历史
|
||
- `GET /api/v1/projects/{id}/entities/search-by-attributes` - 属性筛选搜索
|
||
- 支持的属性类型: text, number, date, select, multiselect, boolean
|
||
|
||
### 2026-02-19 (晚间)
|
||
- 完成 Phase 5 知识推理与问答增强功能
|
||
- 新增 knowledge_reasoner.py 推理引擎
|
||
- 支持四种推理类型:因果、对比、时序、关联
|
||
- 智能项目总结 API(全面/高管/技术/风险)
|
||
- 实体关联路径发现功能
|
||
- 前端推理面板 UI 完整实现
|
||
- 提交代码到 git 仓库
|
||
- 部署到服务器: 122.51.127.111:18000
|
||
|
||
### 2026-02-19
|
||
- 完成 Phase 5 时间线视图功能
|
||
- 后端 API: `/api/v1/projects/{id}/timeline`
|
||
- 前端时间线面板,支持按日期分组显示
|
||
- 实体提及和关系建立事件可视化
|
||
- 实体筛选功能
|
||
- 统计卡片展示
|
||
- 修复静态文件路由覆盖 API 路由的问题
|
||
- 修复模块导入路径问题
|
||
- 部署到服务器: 122.51.127.111:18000
|
||
- 更新 README 开发清单
|