|
|
@@ -0,0 +1,223 @@
|
|
|
+# Roadmap
|
|
|
+
|
|
|
+## North star
|
|
|
+
|
|
|
+**ResearchAgent Desktop** — 一个本地运行的专业 AI 工作台,让教授、博士、医学研究人员把私有论文 / 笔记 / 指南导入后,用专业智能体完成论文审稿、文献综述、基金写作、病例报告等可追溯任务。
|
|
|
+
|
|
|
+战略路径([`docs/requirements-change-personal-desktop.md`](docs/requirements-change-personal-desktop.md)):
|
|
|
+
|
|
|
+```
|
|
|
+desktop → 单机科研助手 + agent pack 生态 (M0-M3, 4 个月)
|
|
|
+ ↓ 同一份代码,改一行 config
|
|
|
+lab → 课题组/科室团队版 (1 tenant, N user) (M5+, 商业验证后)
|
|
|
+ ↓ 同一份代码,改一行 config
|
|
|
+paas → 云端/私有化 (N tenant) (v2+, 已有完整能力)
|
|
|
+```
|
|
|
+
|
|
|
+## 现状(截至 2026-06-07)
|
|
|
+
|
|
|
+- `v1.0.0-rc2` 已发布,CI 全绿,132 测试通过 Python 3.10/3.11/3.12
|
|
|
+- audit 84 finding 关闭 28 个(critical 7/7、high 22/33)
|
|
|
+- 仓库 private,PaaS 叙事完整
|
|
|
+- CR rev.2 + 12 个开放问题决策已 commit
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## Now (本周 — 2026-06-07 至 2026-06-14)
|
|
|
+
|
|
|
+**主题**: M0 产品收敛 + 解锁 Apple Developer / Windows EV 长流程
|
|
|
+
|
|
|
+| 任务 | Owner | 验收 | 状态 |
|
|
|
+|---|---|---|---|
|
|
|
+| 答 CR §13.1 + §13.2 共 12 个开放问题,记录到 CR doc | Kenny | CR rev.2-decisions commit ✓ | ✅ 完成 |
|
|
|
+| 起草 `ROADMAP.md` | Kenny | 本文档 ✓ | ✅ 完成 |
|
|
|
+| 申请 Apple Developer 账号 ($99/年) | Kenny | 收到 Apple ID 启用确认邮件 | 🔲 待办 |
|
|
|
+| 启动 Windows EV 代码签名证书申请(需 ≥3 个月) | Kenny | DigiCert/Sectigo 申请单提交 | 🔲 待办 |
|
|
|
+| 决定第一批 alpha 用户名单(3-5 位教授/博士) | Kenny | 名单 + 试用承诺 | 🔲 待办 |
|
|
|
+| spike: `deployment_mode` flag 200 LOC 估算 | Kenny | 1 个 PR 跑通 desktop / lab / paas mode 切换,132 test 全绿 | 🔲 待办 |
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## Next (1.5 个月内 — M1, 至 2026-07-21)
|
|
|
+
|
|
|
+**主题**: Desktop runtime + 单 mode 改造
|
|
|
+
|
|
|
+按 CR §十一 M1 + §10.2 的实现细节展开:
|
|
|
+
|
|
|
+### Phase B — Desktop runtime(≈1 周)
|
|
|
+
|
|
|
+- [ ] `agentpaas/src/agentpaas/config.py` 加 `deployment_mode: Literal["desktop", "lab", "paas"]`
|
|
|
+- [ ] `agentpaas/src/agentpaas/api/v1/setup.py` 加 `mode=desktop` 自动 bootstrap 路径
|
|
|
+ - 首次启动: 创建 `tenant_id="local-{uuid}"`, `tenants.name="{hostname}/{user}"` (Q11), admin API key 写入 `~/.agentpaas/config.json`
|
|
|
+ - 后续启动: 直接读 config,跳过 wizard
|
|
|
+- [ ] `agentpaas/src/agentpaas/api/app.py` mode-aware 路由 mount
|
|
|
+ - `mode=desktop`: `/tenants/*` `/billing/*` `/admin/*` 路由仍 mount 但 middleware 强制 404 (Q9)
|
|
|
+ - `mode=lab|paas`: 完整暴露
|
|
|
+- [ ] mode-transition smoke test(Q10): 三档全跑通 + tenant scope assert
|
|
|
+- [ ] Network bind 默认值: desktop `127.0.0.1` / lab `127.0.0.1`(Q12 默认安全)/ paas `0.0.0.0`
|
|
|
+
|
|
|
+### Phase C — Webui Desktop 工作台改造(≈1-2 周)
|
|
|
+
|
|
|
+- [ ] 顶栏 mode chip(Q8): `🖥️ Desktop` / `👥 Lab · {tenant}` / `☁️ PaaS · {tenant}`
|
|
|
+- [ ] 文案重命名(无逻辑改动)
|
|
|
+ - `Dashboard` → 今日工作 / 最近报告 / 知识库状态
|
|
|
+ - `Knowledge` → 本地资料库
|
|
|
+ - `Providers` → 模型与隐私
|
|
|
+ - `Chat` → 专业任务工作台
|
|
|
+- [ ] 首次启动向导:数据目录 `~/LambdAgentDesktop/`(FR-002)+ provider 选择(Q4: Claude Code 默认)
|
|
|
+- [ ] SR-002 隐私警告 dialog: 调用云端模型前列出 "将发送 / 不发送" 清单
|
|
|
+- [ ] mode=desktop 时隐藏 webui 侧栏的 admin / billing / tenants 入口
|
|
|
+
|
|
|
+### 关键依赖与风险
|
|
|
+
|
|
|
+- Apple Developer 账号必须本月内 active(M3 才能 notarize macOS 包)
|
|
|
+- Windows EV 证书排队期间,Phase B+C 完全可以并行
|
|
|
+- `319 处 tenant_id 引用` 完全不动,Q10 smoke test 是这条假设的最终验证
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## Then (3 个月内 — M2 至 2026-09-07)
|
|
|
+
|
|
|
+**主题**: AgentPack format + 3 个内置 pack + PDF 引用追踪
|
|
|
+
|
|
|
+### Phase D — AgentPack format(≈2-3 周)
|
|
|
+
|
|
|
+- [ ] `docs/AGENTPACK_SPEC.md` 起草: manifest.yml schema + permission model
|
|
|
+ - 必填: `id` `name` `version` `domain` `audience` `entrypoint` `permissions` `model.recommended`
|
|
|
+ - permission 字段: `read_knowledge` / `write_workspace` / `network` / `shell` / `read_filesystem`(CR §SR-003)
|
|
|
+- [ ] 后端端点: `POST /agentpack/install` `GET /agentpack/list` `DELETE /agentpack/{id}`
|
|
|
+ - 安装源(Q6): local zip / GitHub Releases URL(`gh release download` 模式)
|
|
|
+ - 解压目标: `~/LambdAgentDesktop/agentpacks/{id}/{version}/`
|
|
|
+ - 装前权限摘要弹窗(CR FR-007)
|
|
|
+- [ ] permission 运行时 enforcement: lambdagent 内核里读 manifest, 不允许的工具直接 reject
|
|
|
+
|
|
|
+### Phase E — PDF 引用追踪(≈2-3 周)
|
|
|
+
|
|
|
+- [ ] 升级 `lambdagent/builtin_tools/qa_tools.py` 的 PyPDF2 路径到 `pdfplumber`(page-number-aware)
|
|
|
+- [ ] 引入 page-number-preserving chunker: 每 chunk 携带 `{file, page, char_offset, len}`
|
|
|
+- [ ] `lambdagent.rag.RAGTool` 输出格式扩展: `[Source N | filename.pdf p.12]` 而非现在的 `[Source N]`
|
|
|
+- [ ] Obsidian vault 导入(Q7): 把 vault 路径当 root_dir,markdown 文件遍历 + 双向链 `[[wiki]]` 解析
|
|
|
+
|
|
|
+### Phase F — 3 个内置 agent pack(≈4-6 周,并行 D/E)
|
|
|
+
|
|
|
+- [ ] `research.literature-mapper` — 输入 PDF 集 + 研究问题 → 文献地图 + 方法谱系 + BibTeX
|
|
|
+ - 基于 `agentexample/research67` 改造
|
|
|
+- [ ] `research.top-journal-reviewer` — 输入论文 → 顶刊审稿意见 + 接收概率 + 修改清单
|
|
|
+ - 基于 `agentexample/physics67/agents/reviewer.yml` 改造
|
|
|
+- [ ] `research.grant-planner` — 输入方向 + 已有材料 → 立项依据 + 创新点 + 技术路线 + 风险
|
|
|
+ - 基于 `agentexample/research67` 改造
|
|
|
+- [ ] agentexample 整体升级为 agentpack 来源(CR §10.4 映射表)
|
|
|
+
|
|
|
+### 同期任务
|
|
|
+
|
|
|
+- [ ] alpha 用户访谈(3-5 位),录三个真实 use case 视频
|
|
|
+- [ ] 内部 dogfood: 让 Kenny 自己用 ResearchAgent Desktop 完成一篇论文审稿,记录痛点
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## M3 (4 个月内 — 至 2026-10-07)
|
|
|
+
|
|
|
+**主题**: macOS Beta 可下载 + 10-20 位真实用户内测
|
|
|
+
|
|
|
+### Phase G — macOS Installer(≈3-6 周)
|
|
|
+
|
|
|
+- [ ] PyInstaller spike: 嵌入 Python 3.12 + uvicorn + 全部依赖 + webui-dist 静态文件
|
|
|
+- [ ] 启动器: 双击 .app → 后台启 uvicorn → 自动 `open http://127.0.0.1:8000`
|
|
|
+- [ ] notarization 走通: Apple Developer ID + xcrun altool / notarytool
|
|
|
+- [ ] .dmg 安装包: 拖到 Applications 即装
|
|
|
+- [ ] 自动更新: 检测 GitHub Releases latest,提示用户
|
|
|
+
|
|
|
+### 用户验证(CR §十二 成功指标)
|
|
|
+
|
|
|
+| 指标 | M3 目标 |
|
|
|
+|---|---|
|
|
|
+| 首次安装到完成第一个任务 | < 10 分钟 |
|
|
|
+| PDF 导入成功率 | > 90% |
|
|
|
+| 审稿报告生成成功率 | > 80% |
|
|
|
+| 报告包含引用比例 | > 80% |
|
|
|
+| 真实试用用户 | 10-20 人 |
|
|
|
+| 一周后再次使用 | > 40% |
|
|
|
+
|
|
|
+### Release 动作
|
|
|
+
|
|
|
+- [ ] tag `v1.1.0-beta1`
|
|
|
+- [ ] GitHub Release(prerelease)含 .dmg / .zip
|
|
|
+- [ ] 写 `docs/USER_GUIDE.md` 面向非技术用户(教授友好语言)
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## Later (5-7 个月 — M4 + M5)
|
|
|
+
|
|
|
+### M4 — Windows Beta(≈4-6 周)
|
|
|
+
|
|
|
+- [ ] Windows EV 证书到位 → PyInstaller + signtool
|
|
|
+- [ ] .msi / .exe 安装包,无 SmartScreen 警告
|
|
|
+- [ ] Microsoft Store 评估(独立工作流)
|
|
|
+- [ ] 与 macOS Beta 同步功能矩阵,跑同样的成功率指标
|
|
|
+
|
|
|
+### M5 — License + Pro 版(≈3-4 周)
|
|
|
+
|
|
|
+- [ ] License key 验证(推荐用 Paddle / Lemonsqueezy 第三方,不自建支付)
|
|
|
+- [ ] Free / Pro 功能门控
|
|
|
+ - Free: 1 个 agent pack, 知识库 100 文件, Markdown 报告
|
|
|
+ - Pro: 全部 agent pack, 无限制知识库, 批量审稿, PDF/DOCX 导出
|
|
|
+- [ ] 定价试验: 49 RMB / 月 vs 199 RMB / 月 vs $9 / $29 USD(CR §十二)
|
|
|
+- [ ] 首批 5-10 位 Pro 付费用户跟踪
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## Beyond (v1.2+)
|
|
|
+
|
|
|
+不在 v1.x scope, 但已经在 CR 里 mark 为路径终点的:
|
|
|
+
|
|
|
+- **Lab 版正式商用** — `deployment_mode=lab` UI/营销已就绪,等 Pro 用户里出现 "我们课题组想团购" 信号触发
|
|
|
+- **Zotero 集成** — Q7 推迟到这里
|
|
|
+- **医学场景重启** — Q5 推迟到这里,配合医院法务一起立项 ResearchAgent Medical
|
|
|
+- **Agent Pack Registry 自建** — 等 GitHub Releases 路径覆盖不够时再做
|
|
|
+- **私有化部署 / paas mode 商业化** — 等 Lab 版有 ≥5 个课题组实际跑通后
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## Roadmap 里没有的事情(不做清单)
|
|
|
+
|
|
|
+明确不做(与 CR §4.3 + §5.4 一致):
|
|
|
+
|
|
|
+- 多租户云端 SaaS 公开发布(v2 之前不做)
|
|
|
+- 医疗诊断 / 处方 / 治疗决策(永远不做,CR FR-013)
|
|
|
+- App Store / Microsoft Store 首发(M5+ 看情况)
|
|
|
+- 团队协作 + 组织级权限(v1.x 不做)
|
|
|
+- Agent Pack marketplace 交易系统(v1.x 不做)
|
|
|
+- 面向普通大众的聊天助手(不做,定位偏离)
|
|
|
+- 通用 Agent 编排 SDK 作为主产品(lambdagent 仍开源但不再是产品门面)
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## Open risks(持续跟踪)
|
|
|
+
|
|
|
+| 风险 | 概率 | 影响 | 缓解 |
|
|
|
+|---|---|---|---|
|
|
|
+| Apple Developer 账号审核 > 2 周 | 中 | M3 阻塞 | 立刻申请,准备备用账号 |
|
|
|
+| Windows EV 证书 > 3 个月到货 | 高 | M4 阻塞但不阻塞 M3 | 提前 M0 当天申请 |
|
|
|
+| PDF 引用追踪准确率 < 80% | 中 | M3 验收指标失守 | Phase E 期间用 5 篇 SOTA 论文跑 ground truth |
|
|
|
+| Alpha 用户找不齐 3-5 位 | 中 | M3 反馈不足 | M0 期间通过个人网络锁定 |
|
|
|
+| `deployment_mode` flag 改动 break 现有 132 test | 低 | M1 阻塞 | spike 阶段就跑全套 test 验证 |
|
|
|
+| 医学场景外部压力(用户主动要) | 中 | 偏离 roadmap | 坚持 Q5 决策,给出 "不做" rationale |
|
|
|
+| BUSL ≤10 user 与 Lab 多设备认定冲突 | 低 | 法律风险 | Lab 版上线前请律师 review 一次 BUSL 文本 |
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## How this roadmap maps to existing audit work
|
|
|
+
|
|
|
+[`docs/AUDIT_2026-06-05.md`](docs/AUDIT_2026-06-05.md) 的 84 个 finding 中:
|
|
|
+
|
|
|
+- **28 已关闭**(截至 rc2)— 5 critical + 22 high + 1 medium + 1 low
|
|
|
+- **56 待办**,按 mode 影响分类:
|
|
|
+ - **Desktop 模式下仍需要修**(10 个): #11 #13 并发 race, #22 #23 webui 稳定性, #17 pickle RCE, #16 qaagent67lambda 硬编码路径
|
|
|
+ - **只在 lab/paas 模式生效**(46 个): tenant scoping 加固类、多用户 admin 类、RBAC 细化类、SPEC 漂移类。这些在 M1 完成后自动复用,**不需要重新修**。
|
|
|
+
|
|
|
+**Desktop 优先级 + 多租户保留** 这条战略选择,让 audit 修过的工作成为 lab/paas 升级时的 free win,不需要为 desktop 单独再修一遍。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+最后更新: 2026-06-07
|
|
|
+本 roadmap 与 [`docs/requirements-change-personal-desktop.md`](docs/requirements-change-personal-desktop.md) 同步。需求决策记录见 CR §十三。
|