Phase 4: Agent Assistant + Provenance + Entity Cards + Confidence Indicators

- Add llm_client.py for Kimi API integration with RAG and streaming support
- Add Agent API endpoints: query, command, suggest
- Add Provenance API for relation source tracking
- Add Entity details API with mentions and relations
- Add Entity evolution analysis API
- Update workbench.html with Agent panel, entity cards, provenance modal
- Update app.js with Agent chat, entity hover cards, relation provenance
- Add low-confidence entity highlighting
- Update STATUS.md with Phase 4 progress
This commit is contained in:
OpenClaw Bot
2026-02-19 09:58:39 +08:00
parent 087a8d9c4d
commit 1f4fe5a33e
9 changed files with 1523 additions and 881 deletions

178
STATUS.md
View File

@@ -1,134 +1,100 @@
# InsightFlow 开发状态
**最后更新**: 2026-02-18
**最后更新**: 2026-02-19
## 当前阶段
Phase 3: 记忆与生长 - **已完成 ✅**
Phase 4: Agent 助手与知识溯源 - **开发中 🚧**
## 已完成
### Phase 1: 骨架与单体分析 (MVP)
### Phase 1-3 (已完成)
- FastAPI 项目框架搭建
- SQLite 数据库设计
- 阿里云听悟 ASR 集成
- OSS 上传模块
- 实体提取与对齐逻辑
- 关系提取
- 项目 CRUD API
- 音频上传与分析 API
- D3.js 知识图谱可视化
- 实体列表展示
- 转录文本中实体高亮显示
- 图谱与文本联动
#### 后端 (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 表数据写入
### 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 问答
- 实体卡片悬停显示
- 关系点击溯源
- 低置信度实体标黄
#### 前端 (frontend/)
-项目管理页面 (index.html)
-知识工作台页面 (workbench.html)
-D3.js 知识图谱可视化
- ✅ 音频上传 UI
- ✅ 实体列表展示
- ✅ 转录文本中实体高亮显示
- ✅ 图谱与文本联动(点击实体双向高亮)
### Phase 4 - 知识溯源 (已完成 ✅)
-点击关系连线显示来源文档
-实体详情显示所有提及位置
-证据文本展示
### Phase 2: 交互与纠错工作台
### Phase 4 - 术语卡片悬停 (已完成)
- ✅ 鼠标悬停实体显示卡片
- ✅ 卡片包含:名称、定义、提及次数、关系数
#### 后端 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})
### Phase 4 - 置信度提示 (已完成 ✅)
-LLM 提取返回置信度分数
-低置信度实体在文本中标黄
#### 前端交互功能
- ✅ 实体编辑器模态框(名称、类型、定义、别名)
- ✅ 右键菜单(编辑实体、合并实体、标记为实体)
- ✅ 实体合并功能
- ✅ 关系管理(添加、删除)
- ✅ 转录文本编辑模式
- ✅ 划词创建实体
- ✅ 文本与图谱双向联动
## 待完成
#### 数据库更新
- ✅ 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 表
- ✅ 新增索引优化查询性能
### Phase 4 - Neo4j 集成 (可选)
- [ ] 将图谱数据同步到 Neo4j
- [ ] 支持复杂图查询
## 技术债务
- 听悟 SDK fallback 到 mock 需要更好的错误处理
- 实体相似度匹配目前只是简单字符串包含,需要 embedding 方案
- 前端需要状态管理(目前使用全局变量)
- 需要添加 API 文档 (OpenAPI/Swagger)
- Embedding 缓存需要持久化
- 实体对齐算法需要更多测试
## 部署信息
- 服务器: 122.51.127.111
- 项目路径: /opt/projects/insightflow
- 端口: 18000
- Docker 镜像: insightflow:phase3
- 最后部署: 2026-02-19 06:05 AM
## 下一步 (Phase 4)
## 最近更新
- 知识推理与问答
- 实体属性扩展
- 时间线视图
- 导出功能PDF/图片)
### 2026-02-19
- 完成 Phase 4 Agent 助手功能
- 实现知识溯源功能
- 添加术语卡片悬停
- 实现置信度提示
- 更新前端 UI 和交互