Phase 7 Task 4: 协作与共享模块

- 创建 collaboration_manager.py 协作管理模块
  - CollaborationManager: 协作管理主类
  - 项目分享链接管理 - 支持只读/评论/编辑/管理员权限
  - 评论和批注系统 - 支持实体、关系、转录文本评论
  - 变更历史追踪 - 记录所有数据操作变更
  - 团队成员管理 - 支持多角色权限控制

- 更新 schema.sql 添加协作相关数据库表
  - project_shares: 项目分享表
  - comments: 评论表
  - change_history: 变更历史表
  - team_members: 团队成员表

- 更新 main.py 添加协作相关 API 端点
  - 项目分享相关端点
  - 评论和批注相关端点
  - 变更历史相关端点
  - 团队成员管理端点

- 更新 README.md 和 STATUS.md
This commit is contained in:
OpenClaw Bot
2026-02-24 00:13:09 +08:00
parent d040cb7657
commit c557cc52c4
5 changed files with 1978 additions and 312 deletions

305
README.md
View File

@@ -1,48 +1,69 @@
# InsightFlow - Audio to Knowledge Graph Platform
## Phase 3: Memory & Growth - Completed ✅
InsightFlow 是一个音频转知识图谱平台,支持将音频、文档转换为结构化的知识图谱,并提供强大的分析和推理能力。
### 新增功能
## 功能特性
#### 1. 多文件图谱融合
- 支持上传多个音频文件到同一项目
- 系统自动对齐实体,合并图谱
- 实体提及跨文件追踪
- 文件选择器切换不同转录内容
### Phase 1-3: 基础功能
- 音频上传与转录(阿里云听悟 ASR
- 实体提取与关系抽取
- 知识图谱可视化D3.js
- 文件图谱融合
- PDF/DOCX 文档导入
- 实体对齐与别名管理
- 项目知识库面板
#### 2. 实体对齐算法优化
- 新增 `entity_aligner.py` 模块
- 支持使用 Kimi API embedding 进行语义相似度匹配
- 余弦相似度计算
- 自动别名建议
- 批量实体对齐 API
### Phase 4: Agent 助手与知识溯源
- AI 助手对话RAG 问答)
- 实体操作指令执行
- 知识溯源(关系来源追踪)
- 实体悬停卡片
- 置信度提示
#### 3. PDF/DOCX 文档导入
- 新增 `document_processor.py` 模块
- 支持 PDF、DOCX、TXT、MD 格式
- 文档文本提取并参与实体提取
- 文档类型标记(音频/文档)
### Phase 5: 高级功能
- **知识推理** - 因果/对比/时序/关联推理
- **时间线视图** - 实体演变追踪
- **实体属性扩展** - 自定义属性模板
- **Neo4j 图数据库** - 复杂图查询、最短路径、社区发现
- **导出功能** - SVG/PNG/Excel/CSV/PDF/JSON
#### 4. 项目知识库面板
- 全新的知识库视图
- 统计面板:实体数、关系数、文件数、术语数
- 实体网格展示(带提及统计
- 关系列表展示
- 术语表管理(添加/删除)
- 文件列表展示
### Phase 6: API 开放平台
- **API Key 管理** - 创建、撤销、权限控制
- **Swagger/OpenAPI 文档** - 在线 API 文档
- **限流控制** - 滑动窗口限流、调用统计
- **调用日志** - 详细调用记录和分析
### 技术栈
- 后端: FastAPI + SQLite
- 前端: 原生 HTML/JS + D3.js
- ASR: 阿里云听悟
- LLM: Kimi API
- 文档处理: PyPDF2, python-docx
## 技术栈
### 部署
- **后端**: FastAPI + SQLite
- **前端**: 原生 HTML/JS + D3.js
- **ASR**: 阿里云听悟
- **LLM**: Kimi API
- **图数据库**: Neo4j
- **文档处理**: PyPDF2, python-docx
## 快速开始
### 本地开发
```bash
# 构建 Docker 镜像
docker build -t insightflow:phase3 .
# 克隆仓库
git clone https://git.sivdead.cn/claw/insightflow
cd insightflow
# 安装依赖
cd backend
pip install -r requirements.txt
# 运行开发服务器
python -m uvicorn main:app --reload --host 0.0.0.0 --port 8000
```
### Docker 部署
```bash
# 构建镜像
docker build -t insightflow:latest .
# 运行容器
docker run -d \
@@ -51,133 +72,127 @@ docker run -d \
-e KIMI_API_KEY=your_key \
-e ALIYUN_ACCESS_KEY_ID=your_key \
-e ALIYUN_ACCESS_KEY_SECRET=your_secret \
insightflow:phase3
-e INSIGHTFLOW_MASTER_KEY=your_master_key \
insightflow:latest
```
### API 文档
### Docker Compose 部署(推荐)
#### 新增 API
**文档上传**
```
POST /api/v1/projects/{project_id}/upload-document
Content-Type: multipart/form-data
file: <文件>
```bash
# 启动所有服务(含 Neo4j
docker-compose up -d
```
**知识库查询**
```
GET /api/v1/projects/{project_id}/knowledge-base
## API 认证
从 Phase 6 开始API 需要认证才能访问:
```bash
# 1. 创建 API Key需要 Master Key
curl -X POST http://localhost:18000/api/v1/api-keys \
-H "X-API-Key: your_master_key" \
-H "Content-Type: application/json" \
-d '{"name": "My App", "permissions": ["read", "write"]}'
# 2. 使用 API Key 访问受保护端点
curl http://localhost:18000/api/v1/projects \
-H "X-API-Key: ak_live_xxxxx"
```
**术语表管理**
```
POST /api/v1/projects/{project_id}/glossary
GET /api/v1/projects/{project_id}/glossary
DELETE /api/v1/glossary/{term_id}
```
## API 文档
**实体对齐**
```
POST /api/v1/projects/{project_id}/align-entities?threshold=0.85
```
- Swagger UI: http://122.51.127.111:18000/docs
- ReDoc: http://122.51.127.111:18000/redoc
### 数据库 Schema 更新
- `transcripts` 表新增 `type` 字段audio/document
- `entities` 表新增 `embedding` 字段
- 新增索引优化查询性能
## 部署信息
---
- **服务器**: 122.51.127.111:18000
- **Neo4j**: 122.51.127.111:7474 (HTTP), 122.51.127.111:7687 (Bolt)
- **Git 仓库**: https://git.sivdead.cn/claw/insightflow
## Phase 4: Agent 助手与知识溯源 - 已完成 ✅
## 开发状态
### 已完成功能
1. **Agent 助手后端 API**
- 对话指令解析接口 `/agent/command`
- RAG 问答接口 `/agent/query`
- 实体操作指令执行
2. **Agent 助手前端面板**
- 可折叠聊天面板
- 消息历史展示
- 指令快捷按钮
3. **知识溯源功能**
- 关系来源追踪 `/relations/{id}/provenance`
- 提及位置高亮
- 跨文档关联显示
4. **术语卡片**
- 悬停卡片 UI
- 实体详情展示
- 快捷编辑入口
5. **置信度系统**
- LLM 返回置信度
- 低置信度标记
- 人工确认流程
6. **Neo4j 集成** - 待开发 ⏳
- 图谱数据同步
- 复杂图查询支持
## Phase 5: 高级功能 - 已完成 ✅
### 已完成功能 ✅
1. **知识推理与问答增强**
- 后端推理引擎 `knowledge_reasoner.py`
- 因果/对比/时序/关联推理
- 智能项目总结 API
- 实体关联路径发现
- 前端推理面板 UI
2. **时间线视图**
- 项目时间线 API
- 实体演变追踪
- 时间线可视化面板
3. **实体属性扩展**
- 数据库层: `entity_attributes`, `attribute_templates`, `attribute_history`
- 后端 API: 属性模板管理、实体属性 CRUD、属性历史查询
- 支持属性类型: text, number, date, select, multiselect, boolean
- 属性筛选搜索 API
### 待开发任务 📋
无 - Phase 5 已完成
## Phase 6: 企业级功能 - 规划中 📋
1. **API 开放平台**
- RESTful API 文档
- API Key 管理
- 调用统计和限流
2. **数据安全增强**
- 端到端加密
- 数据脱敏
- 审计日志
3. **性能优化**
- 数据库分片
- 缓存层Redis
- CDN 加速
## 暂不开发功能 ⏸️
- **协作功能** - 多用户支持、项目权限管理、评论批注(当前版本暂不实现)
---
详见 [STATUS.md](STATUS.md)
## 项目文档
- [PRD v2.0](docs/PRD-v2.0.md) - 产品需求规格说明书
- [STATUS.md](STATUS.md) - 详细开发状态跟踪
## 部署信息
## 许可证
- **服务器**: 122.51.127.111:18000
- **项目路径**: /opt/projects/insightflow
- **Git 仓库**: https://git.sivdead.cn/claw/insightflow
MIT
---
## Phase 7: 智能化与生态扩展 - 进行中 🚧
### Phase 7 任务清单
| 任务 | 状态 | 完成时间 |
|------|------|----------|
| 1. 智能工作流自动化 | ✅ 已完成 | 2026-02-23 |
| 2. 多模态支持 | ✅ 已完成 | 2026-02-23 |
| 3. 数据安全与合规 | ✅ 已完成 | 2026-02-23 |
| 4. 协作与共享 | ✅ 已完成 | 2026-02-24 |
| 5. 智能报告生成 | 📋 待开发 | - |
| 6. 高级搜索与发现 | 📋 待开发 | - |
| 7. 插件与集成 | ✅ 已完成 | 2026-02-23 |
| 8. 性能优化与扩展 | 📋 待开发 | - |
### 已完成功能 ✅
1. **智能工作流自动化**
- 工作流管理模块 `workflow_manager.py`
- 定时任务调度APScheduler
- Webhook 通知器(飞书/钉钉/Slack
- 自动分析新上传文件
- 自动实体对齐和关系发现
2. **多模态支持**
- 视频处理模块(音频提取 + 关键帧 + OCR
- 图片处理模块OCR + 图片描述)
- 跨模态实体关联
- 多模态实体画像
- 多模态时间线生成
3. **数据安全与合规**
- 安全模块 `security_manager.py`
- 审计日志系统
- 端到端加密AES-256-GCM
- 数据脱敏(手机号、邮箱、身份证)
- 数据访问策略
- 访问审批流程
4. **协作与共享**
- 协作管理模块 `collaboration_manager.py`
- 项目分享链接(只读/评论/编辑/管理员权限)
- 评论和批注系统(实体/关系/转录文本)
- 变更历史追踪
- 团队成员管理(多角色权限控制)
7. **插件与集成**
- 插件管理模块 `plugin_manager.py`
- Chrome 扩展支持
- 飞书/钉钉机器人
- Zapier/Make Webhook 集成
- WebDAV 同步
### 待开发任务 📋
5. **智能报告生成** - 待开发
- 一键生成 PDF/Word 报告
- 会议纪要提取
- 自定义报告模板
6. **高级搜索与发现** - 待开发
- 全文搜索
- 语义搜索
- 实体关系路径发现
- 知识缺口识别
8. **性能优化与扩展** - 待开发
- Redis 缓存层
- 数据库分片
- CDN 加速
- 异步任务队列Celery