# 任务清单 (2-task) > 粒度:每个任务 2-5 分钟 > 状态标记:[ ] 待办 / [~] 进行中 / [x] 完成 / [!] 阻塞 --- ## Phase 0:项目骨架 ### T0.1 项目目录结构 - [x] 创建 `frontend/` `backend/` `docs/daily/` `docs/decisions/` 目录 - [x] 创建 `.gitignore`(Python + Node + IDE + .env) - [x] 创建 `.env.example` - 验证:目录结构正确 ### T0.2 后端项目初始化 - [x] `backend/pyproject.toml`(FastAPI + SQLAlchemy + Alembic + Pydantic + pytest) - [x] `backend/app/__init__.py` - [x] `backend/app/main.py`(FastAPI app 实例 + 健康检查 `/health`) - [x] `backend/app/core/config.py`(环境变量配置) - [x] `backend/app/core/database.py`(SQLAlchemy engine + session) - [x] `backend/tests/__init__.py` - [x] `backend/tests/test_health.py`(4 个测试全部 GREEN) - 验证:`pytest tests/test_health.py -v` → 4 passed ### T0.3 前端项目初始化 - [x] `npx create-next-app@latest frontend`(TypeScript + TailwindCSS 4 + App Router) - [x] 安装 lucide-react + recharts + sonner + radix-ui + cva + clsx + tailwind-merge - [x] 配置 `globals.css`(oklch 色彩、系统字体、`--radius: 0.625rem`、打印样式) - [x] 创建三端布局:`(investor)` 路由组 + `founder/` + `admin/` 目录 - [x] 创建共享组件:`LoadingSpinner` / `EmptyState` / `HealthScoreBadge` - [x] 创建 `lib/utils.ts`(cn 函数)+ `lib/api.ts`(API 客户端) - 验证:`pnpm build` → 8 路由全部构建成功 ### T0.4 Docker Compose 开发环境 - [x] `docker-compose.yml`(PostgreSQL 16 + Redis 7 + Ollama) - [x] `backend/Dockerfile` - [x] `frontend/Dockerfile` - [x] `docker-compose.dev.yml`(开发覆盖:挂载源码 + hot reload) - 验证:`docker compose up -d` 全部 healthy ### T0.5 数据库迁移基座 - [x] `backend/alembic.ini` - [x] `backend/alembic/` 初始化 - [x] 首个 migration:创建 7 张核心表(tenants/users/companies/monthly_reports/health_scores/risk_events/audit_logs) - 验证:`alembic upgrade head` 成功,`\dt` 显示 8 张表 --- ## Phase 1:MVP 核心功能 ### T1.1 认证与权限 - [x] `backend/app/models/user.py`(User + Role + Tenant) - [x] `backend/app/routers/auth.py`(登录 / 注册 / refresh token) - [x] `backend/app/core/security.py`(JWT + 密码哈希) - [x] `backend/app/core/permissions.py`(角色级 + 字段级权限中间件) - [x] `backend/tests/test_auth.py`(11 tests GREEN) - [x] `frontend/src/app/login/page.tsx`(登录表单 + AuthProvider) - [x] `frontend/src/lib/auth-context.tsx`(token 管理 + 自动恢复) - 验证:登录 → 获取 token → 访问受保护 API ✅ ### T1.2 企业档案管理 - [x] `backend/app/models/company.py`(CompanyProfile) - [x] `backend/app/routers/companies.py`(CRUD + 筛选 + 分页) - [x] `backend/app/schemas/company.py`(Pydantic schema) - [x] `backend/tests/test_companies.py`(11 tests GREEN) - [x] `frontend/src/app/(investor)/companies/page.tsx`(列表 + 搜索 + 分页) - [x] `frontend/src/app/(investor)/companies/[id]/page.tsx`(详情页) - [x] `frontend/src/components/company/CompanyCard.tsx`(独立组件抽取) - 验证:创建企业 → 列表显示 → 详情页可访问 ✅ ### T1.3 月报管理 + AI 解析 - [x] `backend/app/models/report.py`(MonthlyReport) - [x] `backend/app/routers/reports.py`(CRUD + 提交) - [x] `backend/app/services/ai_parser.py`(千问 LLM 流式解析) - [x] `backend/app/schemas/report.py` - [x] `backend/tests/test_reports.py`(7 tests GREEN) - [x] `frontend/src/app/(founder)/reports/submit/page.tsx`(创始人提交月报) - [x] `frontend/src/app/(investor)/reports/page.tsx`(投资人查看月报) - [x] `frontend/src/app/(investor)/reports/[id]/page.tsx`(AI 解析页 SSE 流式) - 验证:CRUD + 提交 + AI 解析 ✅ ### T1.4 健康度评分 - [x] `backend/app/models/health_score.py`(HealthScore) - [x] `backend/app/services/health_calculator.py`(四维评分:财务/经营/AI商业化/AI成本) - [x] `backend/app/routers/dashboard.py`(聚合查询 + 评分列表) - [x] `backend/tests/test_dashboard.py`(4 tests GREEN)+ `test_health_calculator.py`(8 tests GREEN) - [x] `frontend/src/components/health/HealthGauge.tsx`(仪表盘组件) - [x] `frontend/src/components/health/HealthRadar.tsx`(雷达图组件) - [x] `frontend/src/components/health/HealthTrend.tsx`(趋势 sparkline) - 验证:自动算分 + 图表 ✅ ### T1.5 投资机构驾驶舱 - [x] `backend/app/routers/dashboard.py`(聚合数据接口) - [x] `backend/tests/test_dashboard.py`(4 tests GREEN) - [x] `frontend/src/app/(investor)/dashboard/page.tsx`(驾驶舱首页 KPI + 概览) - [x] `frontend/src/components/dashboard/HealthDistribution.tsx` - [x] `frontend/src/components/dashboard/RiskSummary.tsx` - [x] `frontend/src/components/dashboard/AIWeeklyBrief.tsx` - 验证:驾驶舱 + 高级组件 + AI 周报 ✅ ### T1.6 风险预警 - [x] `backend/app/models/risk.py`(RiskEvent) - [x] `backend/app/services/risk_engine.py`(指标越界检测引擎,6 条规则) - [x] `backend/app/routers/risks.py`(列表 / 更新 / 删除) - [x] `backend/tests/test_risks.py`(6 tests GREEN)+ `test_risk_engine.py`(8 tests GREEN) - [x] `frontend/src/app/(investor)/risks/page.tsx`(风险工作台) - [x] `frontend/src/components/risk/RiskCard.tsx` + `RiskTimeline.tsx` - 验证:CRUD + 状态流转 + 自动检测 ✅ ### T1.7 投后报告 - [x] `backend/app/routers/reports_export.py`(报告汇总 + JSON 导出) - [x] `backend/tests/test_report_export.py`(3 tests GREEN) - [x] `frontend/src/app/(investor)/reports/view/[id]/page.tsx`(前端报告查看页) - 验证:API 导出 + 前端报告页 ✅ ### T1.8 移动端适配 - [x] 投资人端响应式:< md Sidebar 折叠为顶部 Header(已有) - [x] 创始人端移动布局:卡片流 + 底部导航 - [x] AI Copilot 浮动对话窗口(底部抽屉式) - [x] 风险预警 toast 推送 - 验证:三端布局 + Copilot + toast ✅ --- ## 依赖关系 ``` T0.1 → T0.2 → T0.5 → T1.1 → T1.2 → T1.3 → T1.4 → T1.5 ↓ T1.6 → T1.7 T0.3 → T1.2(前端依赖) T0.4 → T0.5(DB 依赖 Docker) T1.8 依赖 T1.1-T1.7 全部完成 ``` ## 里程碑 | 里程碑 | 任务 | 预期 | |---|---|---| | M0:骨架可运行 | T0.1-T0.5 | 1 周 | | M1:认证 + 企业档案 | T1.1-T1.2 | 1 周 | | M2:月报 + 健康度 | T1.3-T1.4 | 2 周 | | M3:驾驶舱 + 风险 | T1.5-T1.6 | 1 周 | | M4:报告 + 移动端 | T1.7-T1.8 | 1 周 | --- ## Phase 2:深度功能 + 管理后台 > 目标:从 MVP 走向可用产品 — 企业详情工作台、Admin 后台、文件上传、创始人端完善、审计日志、Redis 缓存 ### T2.1 企业详情工作台(投资人端核心页面) - [ ] `frontend/src/app/(investor)/companies/[id]/workbench/page.tsx`(工作台主页) - [ ] `frontend/src/components/workbench/TabNav.tsx`(左侧 Tab 导航:概览/财务/经营/组织/AI+专项/风险/月报) - [ ] `frontend/src/components/workbench/FinancialTab.tsx`(财务面板:营收/现金流/跑道 图表) - [ ] `frontend/src/components/workbench/OperationalTab.tsx`(经营面板:关键指标趋势) - [ ] `frontend/src/components/workbench/OrgTab.tsx`(组织面板:团队规模/流失率) - [ ] `frontend/src/components/workbench/AITab.tsx`(AI+专项面板:商业化/成本效率) - [ ] `frontend/src/components/workbench/AISuggestionDrawer.tsx`(右侧 AI 建议抽屉) - [ ] `frontend/src/components/workbench/PostInvestTimeline.tsx`(底部投后管理时间线) - [ ] `backend/app/routers/companies.py` 补充 `GET /companies/{id}/detail`(聚合月报+评分+风险) - [ ] `backend/tests/test_company_detail.py`(聚合接口测试) - 验证:进入企业详情 → 多 Tab 切换 → 图表展示 → AI 建议抽屉 → 时间线 ### T2.2 Admin 管理后台 - [ ] `backend/app/routers/admin.py`(租户 CRUD + 用户管理 + 审计日志查询) - [ ] `backend/app/schemas/admin.py`(Admin 请求/响应 schema) - [ ] `backend/app/core/audit.py`(审计日志写入中间件 — 自动记录关键操作) - [ ] `backend/tests/test_admin.py`(Admin API 测试) - [ ] `frontend/src/app/admin/page.tsx`(重写:管理后台首页 — 系统概览卡片) - [ ] `frontend/src/app/admin/tenants/page.tsx`(租户管理列表) - [ ] `frontend/src/app/admin/users/page.tsx`(用户管理列表 + 角色分配) - [ ] `frontend/src/app/admin/audit-logs/page.tsx`(审计日志查看 + 筛选) - [ ] `frontend/src/lib/admin.ts`(Admin API 函数) - 验证:Admin 登录 → 查看租户列表 → 管理用户角色 → 查看审计日志 ### T2.3 月报文件上传 + PDF 导出 - [ ] `backend/app/services/file_parser.py`(Excel/PDF 文件解析 → 文本提取) - [ ] `backend/app/routers/reports.py` 补充 `POST /reports/upload`(文件上传 → 解析 → AI 分析) - [ ] `backend/app/services/pdf_generator.py`(weasyprint 生成 PDF 报告) - [ ] `backend/app/routers/reports_export.py` 补充 `GET /reports-export/{id}/pdf`(真实 PDF 导出) - [ ] `backend/tests/test_file_upload.py`(上传解析测试) - [ ] `frontend/src/app/(founder)/reports/submit/page.tsx` 增强(支持文件上传 + 拖拽) - [ ] `frontend/src/components/shared/FileUploader.tsx`(文件上传组件) - [ ] `frontend/src/app/(investor)/reports/view/[id]/page.tsx` 增强(PDF 导出按钮 → 真实 PDF) - 验证:上传 Excel → AI 解析 → 投资人查看 → 导出 PDF ### T2.4 创始人端完善 - [ ] `backend/app/routers/founder.py`(创始人专属 API:经营概览数据 + 自身健康度) - [ ] `frontend/src/app/founder/page.tsx` 重写(经营概览:大数字卡片 + 指标趋势图) - [ ] `frontend/src/components/founder/MetricCard.tsx`(大数字指标卡片:Runway/MRR/客户数/健康度) - [ ] `frontend/src/components/founder/MetricTrendChart.tsx`(指标趋势折线图) - [ ] `frontend/src/app/founder/reports/submit/page.tsx` 增强(AI 辅助填充:上传文件 → 自动建议值) - [ ] `frontend/src/app/founder/copilot/page.tsx`(独立 AI 副驾驶页面 + 快捷问题按钮) - [ ] `frontend/src/components/founder/QuickQuestions.tsx`(快捷问题:"投资人关心什么"/"融资建议"/"组织诊断") - [ ] `backend/tests/test_founder.py`(创始人 API 测试) - 验证:创始人登录 → 概览大数字 → 提交月报(AI 辅助)→ AI 副驾驶问答 ### T2.5 审计日志 + Redis 缓存 - [ ] `backend/app/core/audit.py`(审计日志装饰器/中间件 — 自动记录 CREATE/UPDATE/DELETE) - [ ] `backend/app/core/redis.py`(Redis 连接 + 缓存工具函数) - [ ] `backend/app/core/cache.py`(缓存装饰器 — 仪表盘/企业列表等热点接口) - [ ] `backend/app/routers/admin.py` 补充 `GET /admin/audit-logs`(审计日志查询 + 筛选) - [ ] `backend/tests/test_audit.py`(审计日志写入测试) - 验证:关键操作 → audit_logs 自动写入 → Admin 可查看 → Redis 缓存命中 ### T2.6 驾驶舱增强 - [ ] `frontend/src/app/(investor)/dashboard/page.tsx` 增强(集成 HealthDistribution + RiskSummary + AIWeeklyBrief) - [ ] `frontend/src/components/dashboard/PortfolioHeatmap.tsx`(企业 × 维度健康度热力图) - [ ] `frontend/src/components/dashboard/MultiCompanyTrend.tsx`(多企业健康度趋势对比 sparkline) - [ ] `backend/app/routers/dashboard.py` 补充 `GET /dashboard/heatmap`(热力图数据) - [ ] `backend/app/routers/dashboard.py` 补充 `GET /dashboard/trends`(多企业趋势数据) - 验证:驾驶舱 → 热力图 → 趋势对比 → AI 周报 → 风险概览 --- ## Phase 3:智能化 + 生态扩展 > 目标:从规则驱动走向 AI 深度赋能 — RAG 知识库、智能预警、多源数据接入、协作闭环、数据安全加固 ### T3.1 RAG 知识库 + 语义搜索 - [ ] `backend/app/services/embedding.py`(文本向量化 — 调用千问 embedding API) - [ ] `backend/app/models/knowledge.py`(KnowledgeChunk 模型 — 存储向量化的月报/报告片段) - [ ] `backend/alembic/versions/xxx_add_pgvector.py`(PgVector 扩展迁移) - [ ] `backend/app/services/rag.py`(RAG 检索服务 — 语义搜索 + 上下文注入) - [ ] `backend/app/routers/knowledge.py`(知识库 API:搜索/上传/管理) - [ ] `backend/tests/test_rag.py`(RAG 检索测试) - [ ] `frontend/src/components/shared/KnowledgeSearch.tsx`(语义搜索组件) - [ ] AI Copilot 增强:对话时自动 RAG 检索相关历史月报/报告,注入上下文 - 验证:搜索"跑道不足" → 返回所有相关月报片段 → Copilot 对话引用历史数据 ### T3.2 智能预警 + 预测分析 - [ ] `backend/app/services/predictor.py`(趋势预测 — 基于历史评分预测未来 3 月健康度) - [ ] `backend/app/services/anomaly_detector.py`(异常检测 — 统计方法识别指标突变) - [ ] `backend/app/services/risk_engine.py` 增强(弱信号关联 — 多指标交叉检测) - [ ] `backend/app/routers/dashboard.py` 补充 `GET /dashboard/forecasts`(预测数据) - [ ] `frontend/src/components/dashboard/ForecastChart.tsx`(预测趋势图 — 含置信区间) - [ ] `frontend/src/components/risk/WeakSignalPanel.tsx`(弱信号关联面板) - [ ] `backend/tests/test_predictor.py`(预测引擎测试) - 验证:健康度预测曲线 → 异常指标标红 → 弱信号关联风险自动生成 ### T3.3 多源数据接入 - [ ] `backend/app/services/data_connectors/`(数据连接器框架) - [ ] `backend/app/services/data_connectors/crunchbase.py`(Crunchbase API — 融资信息同步) - [ ] `backend/app/services/data_connectors/alphaess.py`(企业工商数据 — 天眼查/企查查 API) - [ ] `backend/app/services/data_connectors/github.py`(GitHub 活跃度 — 开源项目监控) - [ ] `backend/app/models/data_source.py`(DataSource 模型 — 记录外部数据源配置和同步状态) - [ ] `backend/app/routers/data_sources.py`(数据源管理 API — 配置/同步/查看) - [ ] `frontend/src/app/(investor)/companies/[id]/data-sources/page.tsx`(数据源配置页) - [ ] `frontend/src/components/company/DataSourceCard.tsx`(数据源卡片 — 状态/最后同步时间) - [ ] `backend/tests/test_data_connectors.py`(连接器测试 — mock 外部 API) - 验证:配置 Crunchbase API → 同步融资数据 → 企业详情页展示外部数据 ### T3.4 协作闭环 + 任务管理 - [ ] `backend/app/models/task.py`(Task 模型 — 投后任务/待办/跟进项) - [ ] `backend/app/models/comment.py`(Comment 模型 — 月报评论/风险评论) - [ ] `backend/app/routers/tasks.py`(任务 CRUD + 分配 + 状态流转) - [ ] `backend/app/routers/comments.py`(评论 CRUD — 月报/风险/企业维度) - [ ] `backend/app/services/notification.py`(通知服务 — 邮件/站内信/Webhook) - [ ] `backend/tests/test_tasks.py` + `backend/tests/test_comments.py` - [ ] `frontend/src/app/(investor)/tasks/page.tsx`(任务看板 — Kanban 视图) - [ ] `frontend/src/components/shared/CommentThread.tsx`(评论组件 — 月报/风险下方) - [ ] `frontend/src/components/shared/NotificationBell.tsx`(通知铃铛 — Header 右侧) - 验证:风险事件 → 创建跟进任务 → 分配给投资人 → 评论协作 → 完成闭环 ### T3.5 数据安全 + 合规加固 - [ ] `backend/app/core/security.py` 增强(JWT refresh token 轮转 + 黑名单) - [ ] `backend/app/core/rate_limit.py`(限流中间件 — 登录 5 次/min + 写接口按用户限流) - [ ] `backend/app/core/data_masking.py`(PII 脱敏 — 手机/邮箱/身份证 日志脱敏) - [ ] `backend/app/core/encryption.py`(敏感字段加密存储 — API Key/外部凭证) - [ ] `backend/app/routers/auth.py` 增强(2FA 支持 — TOTP) - [ ] `backend/tests/test_security.py`(安全测试 — 限流/脱敏/加密/2FA) - [ ] `frontend/src/app/(investor)/settings/page.tsx`(设置页 — 修改密码/2FA 配置/API Key 管理) - [ ] `frontend/src/components/shared/TwoFactorSetup.tsx`(2FA 设置组件 — QR 码) - 验证:登录限流 → 2FA 验证 → PII 脱敏日志 → 加密存储 → refresh token 轮转 ### T3.6 投后报告增强 + 定期推送 - [ ] `backend/app/services/report_generator.py`(AI 报告生成 — 季度/年度报告自动生成) - [ ] `backend/app/services/scheduler.py`(定时任务 — 月报提醒/报告生成/风险扫描) - [ ] `backend/app/services/email_sender.py`(邮件发送 — 报告推送/风险预警通知) - [ ] `backend/app/routers/reports_export.py` 增强(PDF 模板 — 封面/目录/图表/建议) - [ ] `backend/tests/test_report_generator.py` - [ ] `frontend/src/app/(investor)/reports/templates/page.tsx`(报告模板选择页) - [ ] `frontend/src/components/report/ReportPreview.tsx`(报告预览组件 — 浏览器打印优化) - 验证:选择企业 → 选择模板 → AI 生成报告 → 预览 → 导出 PDF → 邮件推送 --- ## Phase 2 依赖关系 ``` T2.1(企业详情工作台)→ T2.6(驾驶舱增强) T2.2(Admin 后台)→ T2.5(审计日志) T2.3(文件上传 + PDF)独立 T2.4(创始人端完善)独立 T2.5(审计 + Redis)→ T2.2 ``` ## Phase 3 依赖关系 ``` T3.1(RAG)→ T3.2(智能预警 — RAG 提供上下文) T3.3(多源数据)独立 T3.4(协作闭环)独立 T3.5(安全加固)独立 T3.6(报告增强)依赖 T3.1(RAG 引用历史数据) ``` ## Phase 2 里程碑 | 里程碑 | 任务 | 预期 | |---|---|---| | M5:企业工作台 | T2.1 + T2.6 | 2 周 | | M6:Admin + 审计 | T2.2 + T2.5 | 1.5 周 | | M7:文件上传 + PDF | T2.3 | 1 周 | | M8:创始人端 | T2.4 | 1 周 | ## Phase 3 里程碑 | 里程碑 | 任务 | 预期 | |---|---|---| | M9:RAG 知识库 | T3.1 | 2 周 | | M10:智能预警 | T3.2 | 2 周 | | M11:多源数据 | T3.3 | 1.5 周 | | M12:协作闭环 | T3.4 | 2 周 | | M13:安全加固 | T3.5 | 1 周 | | M14:报告增强 | T3.6 | 1.5 周 |