- Create workflow_manager.py with APScheduler integration - Add WebhookNotifier supporting Feishu/DingTalk/Slack - Update schema.sql with workflows, workflow_logs, webhook_configs tables - Add workflow API endpoints (CRUD, trigger, logs) - Add webhook API endpoints (CRUD, test) - Update requirements.txt with APScheduler dependency - Update STATUS.md with Phase 7 progress
14 KiB
14 KiB
InsightFlow 开发状态
最后更新: 2026-02-23 00:00
当前阶段
Phase 7: 智能化与生态扩展 - 进行中 🚧
部署状态
- 服务器: 122.51.127.111:18000 ✅ 运行中
- Neo4j: 122.51.127.111:7474 (HTTP), 122.51.127.111:7687 (Bolt) ✅ 运行中
- Git 版本: 待推送
已完成
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- 实体属性 CRUDGET /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 图数据库集成 (已完成 ✅)
- 创建 neo4j_manager.py - Neo4j 管理模块
- 数据同步到 Neo4j(实体、关系、项目)
- 批量同步支持
- 数据删除支持
- 复杂图查询
- 最短路径查询
- 所有路径查询
- 邻居节点查询
- 共同邻居查询
- 子图提取
- 图算法分析
- 度中心性分析
- 社区发现(连通分量)
- 图统计信息
- 后端 API 端点
GET /api/v1/neo4j/status- Neo4j 连接状态POST /api/v1/neo4j/sync- 同步项目到 Neo4jGET /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- 子图提取
- 部署 Neo4j 服务 (docker-compose)
- 前端图分析面板
- 图统计信息展示(节点数、边数、密度、连通分量)
- 度中心性排名展示
- 社区发现可视化(D3.js 力导向图)
- 最短路径查询和可视化
- 邻居节点查询和可视化
- Neo4j 连接状态指示
- 数据同步按钮
- 路径可视化优化
- 添加路径动画效果(流动虚线)
- 路径节点和边的特殊样式(起点终点高亮)
- 发光效果增强视觉层次
- 路径信息面板(显示路径长度、节点数统计)
- 社区可视化增强
- 社区发现结果的更好可视化(不同颜色区分社区)
- 社区统计信息(每个社区的节点数、密度)
- 点击社区可以聚焦显示该社区的子图
- 社区内节点连线显示内部关联
Phase 5 - 导出功能 (已完成 ✅)
- ✅ 创建 export_manager.py 导出管理模块
- ✅ 知识图谱导出 SVG/PNG (支持矢量图和图片格式)
- ✅ 实体数据导出 Excel/CSV (包含所有自定义属性)
- ✅ 关系数据导出 CSV
- ✅ 项目报告导出 PDF (包含统计、实体列表、关系列表)
- ✅ 转录文本导出 Markdown (带实体标注)
- ✅ 项目完整数据导出 JSON (备份/迁移用)
- ✅ 前端知识库面板添加导出入口
Phase 6 - API 开放平台 (已完成 ✅)
- ✅ 创建 api_key_manager.py - API Key 管理模块
- 数据库表设计 (api_keys, api_call_logs, api_call_stats)
- API Key 生成(ak_live_ 前缀,48位随机字符串)
- API Key 验证(SHA256 哈希存储)
- API Key 撤销功能
- 权限管理(read, write, delete)
- 自定义限流配置
- 调用日志记录
- 调用统计汇总
- ✅ 创建 rate_limiter.py - 限流模块
- 滑动窗口计数器实现
- 基于内存的限流存储
- 可配置的限流参数
- 限流头信息(X-RateLimit-*)
- ✅ 集成 Swagger/OpenAPI 文档
- FastAPI 元数据配置
- API 端点分类标签
- 请求/响应模型定义
- 认证说明文档
- ✅ 实现 API 限流中间件
- 基于 API Key 的限流
- IP 限流(未认证用户)
- Master Key 高限流配额
- 429 响应处理
- ✅ 实现 API Key 管理端点
POST /api/v1/api-keys- 创建 API KeyGET /api/v1/api-keys- 列出 API KeysGET /api/v1/api-keys/{id}- 获取 API Key 详情PATCH /api/v1/api-keys/{id}- 更新 API KeyDELETE /api/v1/api-keys/{id}- 撤销 API KeyGET /api/v1/api-keys/{id}/stats- 调用统计GET /api/v1/api-keys/{id}/logs- 调用日志GET /api/v1/rate-limit/status- 限流状态
- ✅ 系统信息端点
GET /api/v1/health- 健康检查GET /api/v1/status- 系统状态
- ✅ 为现有 API 端点添加认证依赖
- 所有数据操作端点需要 API Key 认证
- 公开端点(/health, /status, /docs)保持开放
- ✅ 前端 API Key 管理界面
- API Key 列表展示
- 创建 API Key
- 查看调用统计
- 撤销 API Key
- 统计卡片展示
Phase 7 - 智能工作流自动化 (进行中 🚧)
任务 1: 智能工作流自动化 ✅ 已完成
- ✅ 创建 workflow_manager.py - 工作流管理模块
- WorkflowManager: 主管理类,支持定时任务调度 (APScheduler)
- WorkflowTask: 工作流任务定义
- WebhookNotifier: Webhook 通知器,支持飞书/钉钉/Slack
- 自动分析新上传文件工作流
- 自动实体对齐工作流
- 自动关系发现工作流
- ✅ 更新 schema.sql - 添加工作流相关表
- workflows: 工作流配置表
- workflow_logs: 工作流执行日志表
- webhook_configs: Webhook 配置表
- ✅ 更新 main.py - 添加工作流 API 端点
POST /api/v1/workflows- 创建工作流GET /api/v1/workflows- 列出工作流GET /api/v1/workflows/{id}- 获取工作流详情PATCH /api/v1/workflows/{id}- 更新工作流DELETE /api/v1/workflows/{id}- 删除工作流POST /api/v1/workflows/{id}/trigger- 手动触发工作流GET /api/v1/workflows/{id}/logs- 获取执行日志POST /api/v1/webhooks- 创建 WebhookGET /api/v1/webhooks- 列出 WebhooksGET /api/v1/webhooks/{id}- 获取 Webhook 详情PATCH /api/v1/webhooks/{id}- 更新 WebhookDELETE /api/v1/webhooks/{id}- 删除 WebhookPOST /api/v1/webhooks/{id}/test- 测试 Webhook
- ✅ 更新 requirements.txt - 添加 APScheduler 依赖
任务 2: 多模态支持 🚧 待开发
- 视频文件导入(提取音频 + 关键帧 OCR)
- 图片内容识别(白板、PPT、手写笔记)
- 多模态实体关联
任务 3: 数据安全与合规 📋 待开发
- 端到端加密
- 数据脱敏
- 审计日志
任务 4: 协作与共享 📋 待开发
- 项目分享(只读/可编辑链接)
- 评论和批注
- 变更历史
任务 5: 智能报告生成 📋 待开发
- 一键生成项目总结报告(PDF/Word)
- 会议纪要和行动项提取
- 自定义报告模板
任务 6-8: 其他功能 📋 待开发
- 高级搜索与发现
- 插件与集成
- 性能优化与扩展
待完成
- Phase 7 任务 2-8
技术债务
- 听悟 SDK fallback 到 mock 需要更好的错误处理
- 实体相似度匹配目前只是简单字符串包含,需要 embedding 方案
- 前端需要状态管理(目前使用全局变量)
需要添加 API 文档 (OpenAPI/Swagger)✅ 已完成
部署信息
- 服务器: 122.51.127.111
- 项目路径: /opt/projects/insightflow
- 端口: 18000
最近更新
2026-02-23 (凌晨)
- 完成 Phase 7 任务 1: 智能工作流自动化
- 创建 workflow_manager.py 工作流管理模块
- 支持定时任务调度 (APScheduler)
- Webhook 通知系统(飞书/钉钉/Slack)
- 自动分析、实体对齐、关系发现工作流
- 更新 schema.sql 添加工作流相关表
- 更新 main.py 添加工作流 API 端点
- 更新 requirements.txt 添加 APScheduler 依赖
- 创建 workflow_manager.py 工作流管理模块
2026-02-21 (晚间)
- 完成 Phase 6: API 开放平台
- 为现有 API 端点添加认证依赖
- 前端 API Key 管理界面实现
- 测试和验证完成
- 代码提交并部署
2026-02-21 (午间)
- 开始 Phase 6: API 开放平台
- 创建 api_key_manager.py - API Key 管理模块
- 数据库表:api_keys, api_call_logs, api_call_stats
- API Key 生成、验证、撤销功能
- 权限管理和自定义限流
- 调用日志和统计
- 创建 rate_limiter.py - 限流模块
- 滑动窗口计数器
- 可配置限流参数
- 更新 main.py
- 集成 Swagger/OpenAPI 文档
- 添加 API Key 认证依赖
- 实现限流中间件
- 新增 API Key 管理端点
- 新增系统信息端点
- 创建 api_key_manager.py - API Key 管理模块
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- 实体属性 CRUDGET /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:
- 修复静态文件路由覆盖 API 路由的问题
- 修复模块导入路径问题
- 部署到服务器: 122.51.127.111:18000
- 更新 README 开发清单