- 创建 collaboration_manager.py 协作管理模块 - CollaborationManager: 协作管理主类 - 项目分享链接管理 - 支持只读/评论/编辑/管理员权限 - 评论和批注系统 - 支持实体、关系、转录文本评论 - 变更历史追踪 - 记录所有数据操作变更 - 团队成员管理 - 支持多角色权限控制 - 更新 schema.sql 添加协作相关数据库表 - project_shares: 项目分享表 - comments: 评论表 - change_history: 变更历史表 - team_members: 团队成员表 - 更新 main.py 添加协作相关 API 端点 - 项目分享相关端点 - 评论和批注相关端点 - 变更历史相关端点 - 团队成员管理端点 - 更新 README.md 和 STATUS.md
405 lines
17 KiB
Markdown
405 lines
17 KiB
Markdown
# InsightFlow 开发状态
|
||
|
||
**最后更新**: 2026-02-24 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-6 (已完成 ✅)
|
||
- FastAPI 项目框架搭建
|
||
- SQLite 数据库设计
|
||
- 阿里云听悟 ASR 集成
|
||
- OSS 上传模块
|
||
- 实体提取与对齐逻辑
|
||
- 关系提取
|
||
- 项目 CRUD API
|
||
- 音频上传与分析 API
|
||
- D3.js 知识图谱可视化
|
||
- 实体列表展示
|
||
- 转录文本中实体高亮显示
|
||
- 图谱与文本联动
|
||
- Agent 助手
|
||
- 知识溯源
|
||
- 知识推理与问答增强
|
||
- 实体属性扩展
|
||
- 时间线视图
|
||
- Neo4j 图数据库集成
|
||
- 导出功能
|
||
- API 开放平台
|
||
|
||
### Phase 7 - 任务 1: 工作流自动化 (已完成 ✅)
|
||
- ✅ 创建 workflow_manager.py - 工作流管理模块
|
||
- WorkflowManager: 主管理类
|
||
- WorkflowTask: 工作流任务定义
|
||
- WebhookNotifier: Webhook 通知器(支持飞书、钉钉、Slack)
|
||
- 定时任务调度(APScheduler)
|
||
- 自动分析新上传文件的工作流
|
||
- 自动实体对齐和关系发现
|
||
- 工作流配置管理
|
||
- ✅ 更新 schema.sql - 添加工作流相关数据库表
|
||
- workflows: 工作流配置表
|
||
- workflow_tasks: 任务执行记录表
|
||
- webhook_configs: Webhook 配置表
|
||
- workflow_logs: 工作流执行日志
|
||
- ✅ 更新 main.py - 添加工作流相关 API 端点
|
||
- GET/POST /api/v1/workflows - 工作流管理
|
||
- GET/POST /api/v1/webhooks - Webhook 配置
|
||
- GET /api/v1/workflows/{id}/logs - 执行日志
|
||
- POST /api/v1/workflows/{id}/trigger - 手动触发
|
||
- GET /api/v1/workflows/{id}/stats - 执行统计
|
||
- POST /api/v1/webhooks/{id}/test - 测试 Webhook
|
||
- ✅ 更新 requirements.txt - 添加 APScheduler 依赖
|
||
|
||
### Phase 7 - 任务 2: 多模态支持 (已完成 ✅)
|
||
- ✅ 创建 multimodal_processor.py - 多模态处理模块
|
||
- VideoProcessor: 视频处理器(提取音频 + 关键帧 + OCR)
|
||
- ImageProcessor: 图片处理器(OCR + 图片描述)
|
||
- MultimodalEntityExtractor: 多模态实体提取器
|
||
- 支持 PaddleOCR/EasyOCR/Tesseract 多种 OCR 引擎
|
||
- 支持 ffmpeg 视频处理
|
||
- ✅ 创建 multimodal_entity_linker.py - 多模态实体关联模块
|
||
- MultimodalEntityLinker: 跨模态实体关联器
|
||
- 支持 embedding 相似度计算
|
||
- 多模态实体画像生成
|
||
- 跨模态关系发现
|
||
- 多模态时间线生成
|
||
- ✅ 更新 schema.sql - 添加多模态相关数据库表
|
||
- videos: 视频表
|
||
- video_frames: 视频关键帧表
|
||
- images: 图片表
|
||
- multimodal_mentions: 多模态实体提及表
|
||
- multimodal_entity_links: 多模态实体关联表
|
||
- ✅ 更新 main.py - 添加多模态相关 API 端点
|
||
- POST /api/v1/projects/{id}/upload-video - 上传视频
|
||
- POST /api/v1/projects/{id}/upload-image - 上传图片
|
||
- GET /api/v1/projects/{id}/videos - 视频列表
|
||
- GET /api/v1/projects/{id}/images - 图片列表
|
||
- GET /api/v1/videos/{id} - 视频详情
|
||
- GET /api/v1/images/{id} - 图片详情
|
||
- POST /api/v1/projects/{id}/multimodal/link-entities - 跨模态实体关联
|
||
- GET /api/v1/entities/{id}/multimodal-profile - 实体多模态画像
|
||
- GET /api/v1/projects/{id}/multimodal-timeline - 多模态时间线
|
||
- GET /api/v1/entities/{id}/cross-modal-relations - 跨模态关系
|
||
- ✅ 更新 requirements.txt - 添加多模态依赖
|
||
- opencv-python: 视频处理
|
||
- pillow: 图片处理
|
||
- paddleocr/paddlepaddle: OCR 引擎
|
||
- ffmpeg-python: ffmpeg 封装
|
||
- sentence-transformers: 跨模态对齐
|
||
|
||
### Phase 7 - 任务 7: 插件与集成 (已完成 ✅)
|
||
- ✅ 创建 plugin_manager.py - 插件管理模块
|
||
- PluginManager: 插件管理主类
|
||
- ChromeExtensionHandler: Chrome 扩展 API 处理
|
||
- 令牌创建、验证、撤销
|
||
- 网页内容导入
|
||
- BotHandler: 飞书/钉钉机器人处理
|
||
- 会话管理
|
||
- 消息接收和发送
|
||
- 音频文件处理
|
||
- WebhookIntegration: Zapier/Make Webhook 集成
|
||
- 端点创建和管理
|
||
- 事件触发
|
||
- 认证支持
|
||
- WebDAVSync: WebDAV 同步管理
|
||
- 同步配置管理
|
||
- 连接测试
|
||
- 项目数据同步
|
||
- ✅ 更新 schema.sql - 添加插件相关数据库表
|
||
- plugins: 插件配置表
|
||
- plugin_configs: 插件详细配置表
|
||
- bot_sessions: 机器人会话表
|
||
- webhook_endpoints: Webhook 端点表
|
||
- webdav_syncs: WebDAV 同步配置表
|
||
- chrome_extension_tokens: Chrome 扩展令牌表
|
||
- ✅ 更新 main.py - 添加插件相关 API 端点
|
||
- GET/POST /api/v1/plugins - 插件管理
|
||
- POST /api/v1/plugins/chrome/tokens - 创建 Chrome 扩展令牌
|
||
- GET /api/v1/plugins/chrome/tokens - 列出自令牌
|
||
- DELETE /api/v1/plugins/chrome/tokens/{id} - 撤销令牌
|
||
- POST /api/v1/plugins/chrome/import - 导入网页内容
|
||
- POST /api/v1/plugins/bot/feishu/sessions - 创建飞书会话
|
||
- POST /api/v1/plugins/bot/dingtalk/sessions - 创建钉钉会话
|
||
- GET /api/v1/plugins/bot/{type}/sessions - 列出会话
|
||
- POST /api/v1/plugins/bot/{type}/webhook - 接收机器人消息
|
||
- POST /api/v1/plugins/bot/{type}/sessions/{id}/send - 发送消息
|
||
- POST /api/v1/plugins/integrations/zapier - 创建 Zapier 端点
|
||
- POST /api/v1/plugins/integrations/make - 创建 Make 端点
|
||
- GET /api/v1/plugins/integrations/{type} - 列出集成端点
|
||
- POST /api/v1/plugins/integrations/{id}/test - 测试端点
|
||
- POST /api/v1/plugins/integrations/{id}/trigger - 手动触发
|
||
- POST /api/v1/plugins/webdav - 创建 WebDAV 同步
|
||
- GET /api/v1/plugins/webdav - 列出同步配置
|
||
- POST /api/v1/plugins/webdav/{id}/test - 测试连接
|
||
- POST /api/v1/plugins/webdav/{id}/sync - 执行同步
|
||
- ✅ 更新 requirements.txt - 添加插件依赖
|
||
- webdav4: WebDAV 客户端
|
||
- urllib3: URL 处理
|
||
- ✅ 创建 Chrome 扩展基础代码
|
||
- manifest.json: 扩展配置
|
||
- background.js: 后台脚本(右键菜单、同步)
|
||
- content.js: 内容脚本(页面提取)
|
||
- content.css: 内容样式
|
||
- popup.html/js: 弹出窗口
|
||
- options.html/js: 设置页面
|
||
- README.md: 扩展说明文档
|
||
|
||
### Phase 7 - 任务 3: 数据安全与合规 (已完成 ✅)
|
||
- ✅ 创建 security_manager.py - 安全模块
|
||
- SecurityManager: 安全管理主类
|
||
- 审计日志系统 - 记录所有数据操作
|
||
- 端到端加密 - AES-256-GCM 加密项目数据
|
||
- 数据脱敏 - 支持手机号、邮箱、身份证等敏感信息脱敏
|
||
- 数据访问策略 - 基于用户、角色、IP、时间的访问控制
|
||
- 访问审批流程 - 敏感数据访问需要审批
|
||
- ✅ 更新 schema.sql - 添加安全相关数据库表
|
||
- audit_logs: 审计日志表
|
||
- encryption_configs: 加密配置表
|
||
- masking_rules: 脱敏规则表
|
||
- data_access_policies: 数据访问策略表
|
||
- access_requests: 访问请求表
|
||
- ✅ 更新 main.py - 添加安全相关 API 端点
|
||
- GET /api/v1/audit-logs - 查询审计日志
|
||
- GET /api/v1/audit-logs/stats - 审计统计
|
||
- POST /api/v1/projects/{id}/encryption/enable - 启用加密
|
||
- POST /api/v1/projects/{id}/encryption/disable - 禁用加密
|
||
- POST /api/v1/projects/{id}/encryption/verify - 验证密码
|
||
- GET /api/v1/projects/{id}/encryption - 获取加密配置
|
||
- POST /api/v1/projects/{id}/masking-rules - 创建脱敏规则
|
||
- GET /api/v1/projects/{id}/masking-rules - 获取脱敏规则
|
||
- PUT /api/v1/masking-rules/{id} - 更新脱敏规则
|
||
- DELETE /api/v1/masking-rules/{id} - 删除脱敏规则
|
||
- POST /api/v1/projects/{id}/masking/apply - 应用脱敏
|
||
- POST /api/v1/projects/{id}/access-policies - 创建访问策略
|
||
- GET /api/v1/projects/{id}/access-policies - 获取访问策略
|
||
- POST /api/v1/access-policies/{id}/check - 检查访问权限
|
||
- POST /api/v1/access-requests - 创建访问请求
|
||
- POST /api/v1/access-requests/{id}/approve - 批准访问
|
||
- POST /api/v1/access-requests/{id}/reject - 拒绝访问
|
||
- ✅ 更新 requirements.txt - 添加 cryptography 依赖
|
||
|
||
### Phase 7 - 任务 4: 协作与共享 (已完成 ✅)
|
||
- ✅ 创建 collaboration_manager.py - 协作管理模块
|
||
- CollaborationManager: 协作管理主类
|
||
- 项目分享链接管理 - 支持只读/评论/编辑/管理员权限
|
||
- 评论和批注系统 - 支持实体、关系、转录文本评论
|
||
- 变更历史追踪 - 记录所有数据操作变更
|
||
- 团队成员管理 - 支持多角色权限控制
|
||
- ✅ 更新 schema.sql - 添加协作相关数据库表
|
||
- project_shares: 项目分享表
|
||
- comments: 评论表
|
||
- change_history: 变更历史表
|
||
- team_members: 团队成员表
|
||
- ✅ 更新 main.py - 添加协作相关 API 端点
|
||
- POST /api/v1/projects/{id}/shares - 创建分享链接
|
||
- GET /api/v1/projects/{id}/shares - 列出分享链接
|
||
- POST /api/v1/shares/verify - 验证分享链接
|
||
- GET /api/v1/shares/{token}/access - 访问共享项目
|
||
- DELETE /api/v1/shares/{id} - 撤销分享链接
|
||
- POST /api/v1/projects/{id}/comments - 添加评论
|
||
- GET /api/v1/{type}/{id}/comments - 获取评论列表
|
||
- GET /api/v1/projects/{id}/comments - 获取项目所有评论
|
||
- PUT /api/v1/comments/{id} - 更新评论
|
||
- POST /api/v1/comments/{id}/resolve - 解决评论
|
||
- DELETE /api/v1/comments/{id} - 删除评论
|
||
- GET /api/v1/projects/{id}/history - 获取变更历史
|
||
- GET /api/v1/projects/{id}/history/stats - 获取变更统计
|
||
- GET /api/v1/{type}/{id}/versions - 获取实体版本历史
|
||
- POST /api/v1/history/{id}/revert - 回滚变更
|
||
- POST /api/v1/projects/{id}/members - 邀请团队成员
|
||
- GET /api/v1/projects/{id}/members - 列出团队成员
|
||
- PUT /api/v1/members/{id}/role - 更新成员角色
|
||
- DELETE /api/v1/members/{id} - 移除团队成员
|
||
- GET /api/v1/projects/{id}/permissions - 检查用户权限
|
||
|
||
## 待完成
|
||
|
||
Phase 7 任务 5: 智能报告生成
|
||
|
||
## 技术债务
|
||
|
||
- 听悟 SDK fallback 到 mock 需要更好的错误处理
|
||
- 实体相似度匹配目前只是简单字符串包含,需要 embedding 方案
|
||
- 前端需要状态管理(目前使用全局变量)
|
||
- ~~需要添加 API 文档 (OpenAPI/Swagger)~~ ✅ 已完成
|
||
- 多模态 LLM 图片描述功能待实现(需要集成多模态模型 API)
|
||
|
||
## 部署信息
|
||
|
||
- 服务器: 122.51.127.111
|
||
- 项目路径: /opt/projects/insightflow
|
||
- 端口: 18000
|
||
|
||
## 最近更新
|
||
|
||
### 2026-02-24 (凌晨)
|
||
- 完成 Phase 7 任务 4: 协作与共享
|
||
- 创建 collaboration_manager.py 协作模块
|
||
- CollaborationManager: 协作管理主类
|
||
- 项目分享链接管理 - 支持只读/评论/编辑/管理员权限
|
||
- 评论和批注系统 - 支持实体、关系、转录文本评论
|
||
- 变更历史追踪 - 记录所有数据操作变更
|
||
- 团队成员管理 - 支持多角色权限控制
|
||
- 更新 schema.sql 添加协作相关数据库表
|
||
- project_shares: 项目分享表
|
||
- comments: 评论表
|
||
- change_history: 变更历史表
|
||
- team_members: 团队成员表
|
||
- 更新 main.py 添加协作相关 API 端点
|
||
- 项目分享相关端点
|
||
- 评论和批注相关端点
|
||
- 变更历史相关端点
|
||
- 团队成员管理端点
|
||
|
||
### 2026-02-23 (晚间)
|
||
- 完成 Phase 7 任务 3: 数据安全与合规
|
||
- 创建 security_manager.py 安全模块
|
||
- SecurityManager: 安全管理主类
|
||
- 审计日志系统 - 记录所有数据操作
|
||
- 端到端加密 - AES-256-GCM 加密项目数据
|
||
- 数据脱敏 - 支持手机号、邮箱、身份证等敏感信息脱敏
|
||
- 数据访问策略 - 基于用户、角色、IP、时间的访问控制
|
||
- 访问审批流程 - 敏感数据访问需要审批
|
||
- 更新 schema.sql 添加安全相关数据库表
|
||
- audit_logs: 审计日志表
|
||
- encryption_configs: 加密配置表
|
||
- masking_rules: 脱敏规则表
|
||
- data_access_policies: 数据访问策略表
|
||
- access_requests: 访问请求表
|
||
- 更新 main.py 添加安全相关 API 端点
|
||
- 更新 requirements.txt 添加 cryptography 依赖
|
||
|
||
### 2026-02-23 (午间)
|
||
- 完成 Phase 7 任务 7: 插件与集成
|
||
- 创建 plugin_manager.py 模块
|
||
- PluginManager: 插件管理主类
|
||
- ChromeExtensionHandler: Chrome 插件处理
|
||
- BotHandler: 飞书/钉钉/Slack 机器人处理
|
||
- WebhookIntegration: Zapier/Make Webhook 集成
|
||
- WebDAVSync: WebDAV 同步管理
|
||
- 创建完整的 Chrome 扩展代码
|
||
- manifest.json, background.js, content.js
|
||
- popup.html/js, options.html/js
|
||
- 支持网页剪藏、选中文本保存、项目选择
|
||
- 更新 schema.sql 添加插件相关数据库表
|
||
- 更新 main.py 添加插件相关 API 端点
|
||
- 更新 requirements.txt 添加插件依赖
|
||
|
||
### 2026-02-23 (早间)
|
||
- 完成 Phase 7 任务 2: 多模态支持
|
||
- 创建 multimodal_processor.py 模块
|
||
- VideoProcessor: 视频处理(音频提取 + 关键帧 + OCR)
|
||
- ImageProcessor: 图片处理(OCR + 图片描述)
|
||
- MultimodalEntityExtractor: 多模态实体提取
|
||
- 创建 multimodal_entity_linker.py 模块
|
||
- MultimodalEntityLinker: 跨模态实体关联
|
||
- 支持 embedding 相似度计算
|
||
- 多模态实体画像和时间线
|
||
- 更新 schema.sql 添加多模态相关数据库表
|
||
- 更新 main.py 添加多模态相关 API 端点
|
||
- 更新 requirements.txt 添加多模态依赖
|
||
|
||
### 2026-02-23
|
||
- 完成 Phase 7 任务 1: 工作流自动化模块
|
||
- 创建 workflow_manager.py 模块
|
||
- WorkflowManager: 主管理类,支持定时任务调度
|
||
- WorkflowTask: 工作流任务定义
|
||
- WebhookNotifier: Webhook 通知器(支持飞书、钉钉、Slack)
|
||
- 工作流配置管理
|
||
- 更新 schema.sql 添加工作流相关数据库表
|
||
- 更新 main.py 添加工作流相关 API 端点
|
||
- 更新 requirements.txt 添加 APScheduler 依赖
|
||
|
||
### 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 管理端点
|
||
- 新增系统信息端点
|
||
|
||
### 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 开发清单
|