911e89145139bd71b3f4615b25b18f600e0de90a
- 任务1: 多租户SaaS架构 (tenant_manager.py) - 任务2: 订阅与计费系统 (subscription_manager.py) - 任务3: 企业级功能 (enterprise_manager.py) - 更新 schema.sql 添加所有相关表 - 更新 main.py 添加所有API端点 - 更新 README.md 进度表
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
快速开始
本地开发
# 克隆仓库
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 部署
# 构建镜像
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 部署(推荐)
# 启动所有服务(含 Neo4j)
docker-compose up -d
API 认证
从 Phase 6 开始,API 需要认证才能访问:
# 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
项目文档
许可证
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. 协作与共享 | ✅ 已完成 | 2026-02-24 |
| 5. 智能报告生成 | ✅ 已完成 | 2026-02-24 |
| 6. 高级搜索与发现 | ✅ 已完成 | 2026-02-24 |
| 8. 性能优化与扩展 | ✅ 已完成 | 2026-02-24 |
Phase 7 全部完成! 🎉
实际完成时间: 2 周
Phase 8 开发进度
| 任务 | 状态 | 完成时间 |
|---|---|---|
| 1. 多租户 SaaS 架构 | ✅ 已完成 | 2026-02-25 |
| 2. 订阅与计费系统 | ✅ 已完成 | 2026-02-25 |
| 3. 企业级功能 | ⏳ 待开始 | - |
| 4. AI 能力增强 | ⏳ 待开始 | - |
| 5. 运营与增长工具 | ⏳ 待开始 | - |
| 6. 开发者生态 | ⏳ 待开始 | - |
| 7. 全球化与本地化 | ⏳ 待开始 | - |
| 8. 运维与监控 | ⏳ 待开始 | - |
Phase 8 任务 1 完成内容
多租户 SaaS 架构 ✅
- ✅ 创建 tenant_manager.py - 多租户管理模块
- TenantManager: 租户管理主类
- Tenant: 租户数据模型(支持 Free/Pro/Enterprise 层级)
- TenantDomain: 自定义域名管理(DNS/文件验证)
- TenantBranding: 品牌白标配置(Logo、主题色、CSS)
- TenantMember: 租户成员管理(Owner/Admin/Member/Viewer 角色)
- TenantContext: 租户上下文管理器
- 租户隔离(数据、配置、资源完全隔离)
- 资源限制和用量统计
- ✅ 更新 schema.sql - 添加租户相关数据库表
- tenants: 租户主表
- tenant_domains: 租户域名绑定表
- tenant_branding: 租户品牌配置表
- tenant_members: 租户成员表
- tenant_permissions: 租户权限定义表
- tenant_usage: 租户资源使用统计表
- ✅ 更新 main.py - 添加租户相关 API 端点
- POST/GET /api/v1/tenants - 租户管理
- POST/GET /api/v1/tenants/{id}/domains - 域名管理
- POST /api/v1/tenants/{id}/domains/{id}/verify - 域名验证
- GET/PUT /api/v1/tenants/{id}/branding - 品牌配置
- GET /api/v1/tenants/{id}/branding.css - 品牌 CSS(公开)
- POST/GET /api/v1/tenants/{id}/members - 成员管理
- GET /api/v1/tenants/{id}/usage - 使用统计
- GET /api/v1/tenants/{id}/limits/{type} - 资源限制检查
- GET /api/v1/resolve-tenant - 域名解析租户
Phase 8 任务 2 完成内容
订阅与计费系统 ✅
- ✅ 创建 subscription_manager.py - 订阅与计费管理模块
- SubscriptionManager: 订阅管理主类
- SubscriptionPlan: 订阅计划数据模型(Free/Pro/Enterprise)
- Subscription: 订阅数据模型(支持试用、周期计费)
- UsageRecord: 用量记录(转录时长、存储空间、API 调用)
- Payment: 支付记录(支持多支付提供商)
- Invoice: 发票管理
- Refund: 退款处理
- BillingHistory: 账单历史
- 按量计费计算(转录 0.5元/分钟、存储 10元/GB/月等)
- 支付提供商集成(Stripe、支付宝、微信支付占位实现)
- ✅ 更新 schema.sql - 添加订阅相关数据库表
- subscription_plans: 订阅计划表
- subscriptions: 订阅表
- usage_records: 用量记录表
- payments: 支付记录表
- invoices: 发票表
- refunds: 退款表
- billing_history: 账单历史表
- ✅ 更新 main.py - 添加订阅相关 API 端点
- GET /api/v1/subscription-plans - 订阅计划列表
- GET /api/v1/subscription-plans/{id} - 订阅计划详情
- POST /api/v1/tenants/{id}/subscription - 创建订阅
- GET /api/v1/tenants/{id}/subscription - 获取当前订阅
- PUT /api/v1/tenants/{id}/subscription/change-plan - 更改计划
- POST /api/v1/tenants/{id}/subscription/cancel - 取消订阅
- POST /api/v1/tenants/{id}/usage - 记录用量
- GET /api/v1/tenants/{id}/usage - 用量汇总
- GET /api/v1/tenants/{id}/payments - 支付记录列表
- GET /api/v1/tenants/{id}/payments/{id} - 支付记录详情
- GET /api/v1/tenants/{id}/invoices - 发票列表
- GET /api/v1/tenants/{id}/invoices/{id} - 发票详情
- POST /api/v1/tenants/{id}/refunds - 申请退款
- GET /api/v1/tenants/{id}/refunds - 退款记录列表
- POST /api/v1/tenants/{id}/refunds/{id}/process - 处理退款
- GET /api/v1/tenants/{id}/billing-history - 账单历史
- POST /api/v1/tenants/{id}/checkout/stripe - Stripe 支付
- POST /api/v1/tenants/{id}/checkout/alipay - 支付宝支付
- POST /api/v1/tenants/{id}/checkout/wechat - 微信支付
- POST /webhooks/stripe - Stripe Webhook
- POST /webhooks/alipay - 支付宝 Webhook
- POST /webhooks/wechat - 微信支付 Webhook
预计 Phase 8 完成时间: 6-8 周
Phase 8: 商业化与规模化 - 进行中 🚧
基于 Phase 1-7 的完整功能,Phase 8 聚焦商业化落地和规模化运营:
1. 多租户 SaaS 架构 🏢
优先级: P0 | 状态: ✅ 已完成
- ✅ 租户隔离(数据、配置、资源完全隔离)
- ✅ 自定义域名绑定(CNAME 支持)
- ✅ 品牌白标(Logo、主题色、自定义 CSS)
- ✅ 租户级权限管理(超级管理员、管理员、成员)
2. 订阅与计费系统 💳
优先级: P0 | 状态: ✅ 已完成
- ✅ 多层级订阅计划(Free/Pro/Enterprise)
- ✅ 按量计费(转录时长、存储空间、API 调用次数)
- ✅ 支付集成(Stripe、支付宝、微信支付)
- ✅ 发票管理、退款处理、账单历史
3. 企业级功能 🏭
优先级: P1 | 状态: ✅ 已完成
- ✅ SSO/SAML 单点登录(企业微信、钉钉、飞书、Okta)
- ✅ SCIM 用户目录同步
- ✅ 审计日志导出(SOC2/ISO27001 合规)
- ✅ 数据保留策略(自动归档、数据删除)
Phase 8 任务 3 完成内容
企业级功能 ✅
- ✅ 创建 enterprise_manager.py - 企业级功能管理模块
- SSOConfig: SSO/SAML 配置数据模型(支持企业微信、钉钉、飞书、Okta、Azure AD、Google、自定义 SAML)
- SCIMConfig/SCIMUser: SCIM 用户目录同步配置和用户数据模型
- AuditLogExport: 审计日志导出记录(支持 SOC2/ISO27001/GDPR/HIPAA/PCI DSS 合规)
- DataRetentionPolicy/DataRetentionJob: 数据保留策略和任务管理
- SAMLAuthRequest/SAMLAuthResponse: SAML 认证请求和响应管理
- SSO 配置管理(创建、更新、删除、列表、元数据生成)
- SCIM 用户同步(配置管理、手动同步、用户列表)
- 审计日志导出(创建导出任务、处理、下载、合规标准支持)
- 数据保留策略(创建、执行、归档/删除/匿名化、任务追踪)
- ✅ 更新 schema.sql - 添加企业级功能相关数据库表
- sso_configs: SSO 配置表(SAML/OAuth 配置、属性映射、域名限制)
- saml_auth_requests: SAML 认证请求表
- saml_auth_responses: SAML 认证响应表
- scim_configs: SCIM 配置表
- scim_users: SCIM 用户表
- audit_log_exports: 审计日志导出表
- data_retention_policies: 数据保留策略表
- data_retention_jobs: 数据保留任务表
- 相关索引优化
- ✅ 更新 main.py - 添加企业级功能相关 API 端点(25个端点)
- POST/GET /api/v1/tenants/{id}/sso-configs - SSO 配置管理
- GET/PUT/DELETE /api/v1/tenants/{id}/sso-configs/{id} - SSO 配置详情/更新/删除
- GET /api/v1/tenants/{id}/sso-configs/{id}/metadata - 获取 SAML 元数据
- POST/GET /api/v1/tenants/{id}/scim-configs - SCIM 配置管理
- PUT /api/v1/tenants/{id}/scim-configs/{id} - 更新 SCIM 配置
- POST /api/v1/tenants/{id}/scim-configs/{id}/sync - 执行 SCIM 同步
- GET /api/v1/tenants/{id}/scim-users - 列出 SCIM 用户
- POST /api/v1/tenants/{id}/audit-exports - 创建审计日志导出
- GET /api/v1/tenants/{id}/audit-exports - 列出审计日志导出
- GET /api/v1/tenants/{id}/audit-exports/{id} - 获取导出详情
- POST /api/v1/tenants/{id}/audit-exports/{id}/download - 下载导出文件
- POST /api/v1/tenants/{id}/retention-policies - 创建数据保留策略
- GET /api/v1/tenants/{id}/retention-policies - 列出保留策略
- GET /api/v1/tenants/{id}/retention-policies/{id} - 获取策略详情
- PUT /api/v1/tenants/{id}/retention-policies/{id} - 更新保留策略
- DELETE /api/v1/tenants/{id}/retention-policies/{id} - 删除保留策略
- POST /api/v1/tenants/{id}/retention-policies/{id}/execute - 执行保留策略
- GET /api/v1/tenants/{id}/retention-policies/{id}/jobs - 列出保留任务
4. 运营与增长工具 📈
优先级: P1
- 用户行为分析(Mixpanel/Amplitude 集成)
- A/B 测试框架
- 邮件营销自动化(欢迎序列、流失挽回)
- 推荐系统(邀请返利、团队升级激励)
5. 开发者生态 🛠️
优先级: P2
- SDK 发布(Python/JavaScript/Go)
- 模板市场(行业模板、预训练模型)
- 插件市场(第三方插件审核与分发)
- 开发者文档与示例代码
6. 全球化与本地化 🌍
优先级: P2
- 多语言支持(i18n,至少 10 种语言)
- 区域数据中心(北美、欧洲、亚太)
- 本地化支付(各国主流支付方式)
- 时区与日历本地化
7. AI 能力增强 🤖
优先级: P1
- 自定义模型训练(领域特定实体识别)
- 多模态大模型集成(GPT-4V、Claude 3)
- 智能摘要与问答(基于知识图谱的 RAG)
- 预测性分析(趋势预测、异常检测)
8. 运维与监控 🔧
优先级: P2
- 实时告警系统(PagerDuty/Opsgenie 集成)
- 容量规划与自动扩缩容
- 灾备与故障转移(多活架构)
- 成本优化(资源利用率监控)
Phase 8 开发进度
| 任务 | 状态 | 完成时间 |
|---|---|---|
| 1. 多租户 SaaS 架构 | ✅ 已完成 | 2026-02-25 |
| 2. 订阅与计费系统 | ✅ 已完成 | 2026-02-25 |
| 3. 企业级功能 | ⏳ 待开始 | - |
| 4. AI 能力增强 | ⏳ 待开始 | - |
| 5. 运营与增长工具 | ⏳ 待开始 | - |
| 6. 开发者生态 | ⏳ 待开始 | - |
| 7. 全球化与本地化 | ⏳ 待开始 | - |
| 8. 运维与监控 | ⏳ 待开始 | - |
Phase 8 任务 1 完成内容
多租户 SaaS 架构 ✅
- ✅ 创建 tenant_manager.py - 多租户管理模块
- TenantManager: 租户管理主类
- Tenant: 租户数据模型(支持 Free/Pro/Enterprise 层级)
- TenantDomain: 自定义域名管理(DNS/文件验证)
- TenantBranding: 品牌白标配置(Logo、主题色、CSS)
- TenantMember: 租户成员管理(Owner/Admin/Member/Viewer 角色)
- TenantContext: 租户上下文管理器
- 租户隔离(数据、配置、资源完全隔离)
- 资源限制和用量统计
- ✅ 更新 schema.sql - 添加租户相关数据库表
- tenants: 租户主表
- tenant_domains: 租户域名绑定表
- tenant_branding: 租户品牌配置表
- tenant_members: 租户成员表
- tenant_permissions: 租户权限定义表
- tenant_usage: 租户资源使用统计表
- ✅ 更新 main.py - 添加租户相关 API 端点
- POST/GET /api/v1/tenants - 租户管理
- POST/GET /api/v1/tenants/{id}/domains - 域名管理
- POST /api/v1/tenants/{id}/domains/{id}/verify - 域名验证
- GET/PUT /api/v1/tenants/{id}/branding - 品牌配置
- GET /api/v1/tenants/{id}/branding.css - 品牌 CSS(公开)
- POST/GET /api/v1/tenants/{id}/members - 成员管理
- GET /api/v1/tenants/{id}/usage - 使用统计
- GET /api/v1/tenants/{id}/limits/{type} - 资源限制检查
- GET /api/v1/resolve-tenant - 域名解析租户
Phase 8 任务 2 完成内容
订阅与计费系统 ✅
- ✅ 创建 subscription_manager.py - 订阅与计费管理模块
- SubscriptionPlan: 订阅计划模型(Free/Pro/Enterprise)
- Subscription: 订阅记录(支持试用、周期计费)
- UsageRecord: 用量记录(转录时长、存储空间、API 调用)
- Payment: 支付记录(支持 Stripe/支付宝/微信支付)
- Invoice: 发票管理
- Refund: 退款处理
- BillingHistory: 账单历史
- ✅ 更新 schema.sql - 添加订阅相关数据库表
- subscription_plans: 订阅计划表
- subscriptions: 订阅表
- usage_records: 用量记录表
- payments: 支付记录表
- invoices: 发票表
- refunds: 退款表
- billing_history: 账单历史表
- ✅ 更新 main.py - 添加订阅相关 API 端点(26个端点)
- GET /api/v1/subscription-plans - 获取订阅计划列表
- POST/GET /api/v1/tenants/{id}/subscriptions - 订阅管理
- POST /api/v1/tenants/{id}/subscriptions/{id}/cancel - 取消订阅
- POST /api/v1/tenants/{id}/subscriptions/{id}/change-plan - 变更计划
- GET /api/v1/tenants/{id}/usage - 用量统计
- POST /api/v1/tenants/{id}/usage/record - 记录用量
- POST /api/v1/tenants/{id}/payments - 创建支付
- GET /api/v1/tenants/{id}/payments - 支付历史
- POST/GET /api/v1/tenants/{id}/invoices - 发票管理
- POST/GET /api/v1/tenants/{id}/refunds - 退款管理
- POST /api/v1/tenants/{id}/refunds/{id}/process - 处理退款
- GET /api/v1/tenants/{id}/billing-history - 账单历史
- POST /api/v1/payments/stripe/create - Stripe 支付
- POST /api/v1/payments/alipay/create - 支付宝支付
- POST /api/v1/payments/wechat/create - 微信支付
- POST /webhooks/stripe - Stripe Webhook
- POST /webhooks/alipay - 支付宝 Webhook
- POST /webhooks/wechat - 微信支付 Webhook
预计 Phase 8 完成时间: 6-8 周
建议开发顺序: 1 → 2 → 3 → 7 → 4 → 5 → 6 → 8
预计 Phase 8 完成时间: 6-8 周
Description
Languages
Python
91.3%
HTML
6.7%
JavaScript
1.8%