- 创建 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 依赖
- 更新 STATUS.md 和 README.md 记录完成状态
205 lines
5.6 KiB
Markdown
205 lines
5.6 KiB
Markdown
# InsightFlow - Audio to Knowledge Graph Platform
|
||
|
||
InsightFlow 是一个音频转知识图谱平台,支持将音频、文档转换为结构化的知识图谱,并提供强大的分析和推理能力。
|
||
|
||
## 功能特性
|
||
|
||
### Phase 1-3: 基础功能 ✅
|
||
- 音频上传与转录(阿里云听悟 ASR)
|
||
- 实体提取与关系抽取
|
||
- 知识图谱可视化(D3.js)
|
||
- 多文件图谱融合
|
||
- PDF/DOCX 文档导入
|
||
- 实体对齐与别名管理
|
||
- 项目知识库面板
|
||
|
||
### Phase 4: Agent 助手与知识溯源 ✅
|
||
- AI 助手对话(RAG 问答)
|
||
- 实体操作指令执行
|
||
- 知识溯源(关系来源追踪)
|
||
- 实体悬停卡片
|
||
- 置信度提示
|
||
|
||
### Phase 5: 高级功能 ✅
|
||
- **知识推理** - 因果/对比/时序/关联推理
|
||
- **时间线视图** - 实体演变追踪
|
||
- **实体属性扩展** - 自定义属性模板
|
||
- **Neo4j 图数据库** - 复杂图查询、最短路径、社区发现
|
||
- **导出功能** - SVG/PNG/Excel/CSV/PDF/JSON
|
||
|
||
### Phase 6: API 开放平台 ✅
|
||
- **API Key 管理** - 创建、撤销、权限控制
|
||
- **Swagger/OpenAPI 文档** - 在线 API 文档
|
||
- **限流控制** - 滑动窗口限流、调用统计
|
||
- **调用日志** - 详细调用记录和分析
|
||
|
||
## 技术栈
|
||
|
||
- **后端**: FastAPI + SQLite
|
||
- **前端**: 原生 HTML/JS + D3.js
|
||
- **ASR**: 阿里云听悟
|
||
- **LLM**: Kimi API
|
||
- **图数据库**: Neo4j
|
||
- **文档处理**: PyPDF2, python-docx
|
||
|
||
## 快速开始
|
||
|
||
### 本地开发
|
||
|
||
```bash
|
||
# 克隆仓库
|
||
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 \
|
||
-p 18000:8000 \
|
||
-v /opt/data:/app/data \
|
||
-e KIMI_API_KEY=your_key \
|
||
-e ALIYUN_ACCESS_KEY_ID=your_key \
|
||
-e ALIYUN_ACCESS_KEY_SECRET=your_secret \
|
||
-e INSIGHTFLOW_MASTER_KEY=your_master_key \
|
||
insightflow:latest
|
||
```
|
||
|
||
### Docker Compose 部署(推荐)
|
||
|
||
```bash
|
||
# 启动所有服务(含 Neo4j)
|
||
docker-compose up -d
|
||
```
|
||
|
||
## 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"
|
||
```
|
||
|
||
## API 文档
|
||
|
||
- Swagger UI: http://122.51.127.111:18000/docs
|
||
- ReDoc: http://122.51.127.111:18000/redoc
|
||
|
||
## 部署信息
|
||
|
||
- **服务器**: 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
|
||
|
||
## 开发状态
|
||
|
||
详见 [STATUS.md](STATUS.md)
|
||
|
||
## 项目文档
|
||
|
||
- [PRD v2.0](docs/PRD-v2.0.md) - 产品需求规格说明书
|
||
- [STATUS.md](STATUS.md) - 详细开发状态跟踪
|
||
|
||
## 许可证
|
||
|
||
MIT
|
||
|
||
---
|
||
|
||
## Phase 7: 智能化与生态扩展 - 规划中 🚧
|
||
|
||
基于现有功能和用户反馈,Phase 7 聚焦**智能化增强**和**生态扩展**:
|
||
|
||
### 1. 智能工作流自动化 🤖
|
||
**优先级: P0**
|
||
- 定时任务自动分析新上传的音频/文档
|
||
- 自动实体对齐和关系发现
|
||
- 智能提醒(如发现新关联、实体冲突)
|
||
- Webhook 集成(支持飞书、钉钉、Slack 通知)
|
||
|
||
### 2. 多模态支持 🎬
|
||
**优先级: P0**
|
||
- 视频文件导入(提取音频 + 关键帧 OCR)
|
||
- 图片内容识别(白板、PPT、手写笔记)
|
||
- 多模态实体关联(同一实体在音频、图片、文档中的提及)
|
||
|
||
### 3. 协作与共享 👥
|
||
**优先级: P1**
|
||
- 项目分享(只读/可编辑链接)
|
||
- 评论和批注(在实体、关系、转录文本上添加评论)
|
||
- 变更历史(谁修改了什么,何时修改)
|
||
- 团队空间(多用户项目协作)
|
||
|
||
### 4. 智能报告生成 📊
|
||
**优先级: P1**
|
||
- 一键生成项目总结报告(PDF/Word)
|
||
- 实体关系网络分析报告
|
||
- 会议纪要和行动项提取
|
||
- 自定义报告模板
|
||
|
||
### 5. 插件与集成 🔌
|
||
**优先级: P2**
|
||
- Chrome 插件(网页内容一键导入)
|
||
- 飞书/钉钉机器人(群内直接分析音频)
|
||
- Zapier/Make 集成(连接 5000+ 应用)
|
||
- WebDAV 同步(与坚果云等网盘联动)
|
||
|
||
### 6. 高级搜索与发现 🔍
|
||
**优先级: P2**
|
||
- 全文搜索(跨所有转录文本)
|
||
- 语义搜索(基于 embedding 的相似度搜索)
|
||
- 实体关系路径发现(A 和 B 之间如何关联)
|
||
- 知识缺口识别(项目中缺失的关键信息)
|
||
|
||
### 7. 数据安全与合规 🔒
|
||
**优先级: P1**
|
||
- 端到端加密(敏感项目数据加密存储)
|
||
- 数据脱敏(自动识别并脱敏敏感信息)
|
||
- 审计日志(完整操作记录)
|
||
- GDPR/数据合规支持
|
||
|
||
### 8. 性能优化与扩展 ⚡
|
||
**优先级: P2**
|
||
- Redis 缓存层(热点数据缓存)
|
||
- 数据库分片(支持大规模项目)
|
||
- CDN 加速(静态资源全球加速)
|
||
- 异步任务队列(Celery + Redis)
|
||
|
||
---
|
||
|
||
## Phase 7 开发进度
|
||
|
||
| 任务 | 状态 | 完成时间 |
|
||
|------|------|----------|
|
||
| 1. 智能工作流自动化 | ✅ 已完成 | 2026-02-23 |
|
||
| 2. 多模态支持 | ✅ 已完成 | 2026-02-23 |
|
||
| 7. 插件与集成 | ✅ 已完成 | 2026-02-23 |
|
||
| 3. 数据安全与合规 | ✅ 已完成 | 2026-02-23 |
|
||
| 4. 协作与共享 | 📋 待开发 | - |
|
||
| 5. 智能报告生成 | 📋 待开发 | - |
|
||
| 6. 高级搜索与发现 | 📋 待开发 | - |
|
||
| 8. 性能优化与扩展 | 📋 待开发 | - |
|
||
|
||
**建议开发顺序**: 1 → 2 → 7 → 3 → 4 → 5 → 6 → 8
|
||
|
||
**预计 Phase 7 完成时间**: 4-6 周
|