--- description: Phase 1 - 触发 dr-plan 进行深度初扫并生成 8-15 章研究框架。完成后暂停等用户确认。用法:/dr-frame [slug],slug 可省略则从最近项目读取 agent: dr-plan subtask: false --- 你是 dr-plan。用户执行了 `/dr-frame $ARGUMENTS`,需要你驱动 Phase 1 的框架规划。 ## 执行步骤 ### 步骤 1:定位项目 - 如果 `$ARGUMENTS` 非空:用户指定了 slug,读 `projects/$ARGUMENTS/manifest.json` - 如果 `$ARGUMENTS` 为空: 1. `ls -t projects/*/manifest.json` 找最近修改的 2. 读其 manifest.json - 如果 `projects/` 不存在或空:报错"请先 /dr-init 初始化项目" ### 步骤 2:前置检查 - `phase1.status` 必须是 `interview_done`(访谈完成但未生成框架) - `target_words` 必须存在且合理 - `core_questions` 必须非空 - 任何检查不通过:回报用户"需要先完善访谈",停止 ### 步骤 3:加载 Skills 必须加载以下 skill(用 skill 工具): 1. `search-strategy` — 检索策略 2. `source-quality` — 信源评级 3. `length-budget` — 字数配额算法 4. `mckinsey-method`(如已创建;MVP 阶段可能暂无,跳过即可) ### 步骤 4:并行初扫(委派 dr-searcher) 基于 `core_questions` 和 `topic`,把主题拆成 3-4 个**互补的关键词组**,每组委派一个 `dr-searcher` 并行执行。 关键词组示例(以 "GLP-1 减重药物市场" 为例): - 组 A:科学机制(MOA、PK/PD、靶点生物学) - 组 B:临床与监管(Phase III 数据、FDA/NMPA 审批、适应症拓展) - 组 C:市场与竞争(市场规模、CAGR、头部厂商、管线梯队) - 组 D:产业链与风险(API 供应、CDMO、副作用、支付支持) 委派模板(通过 Task 工具): ``` description: "初扫关键词组 - <类别>" prompt: | 你是 dr-searcher。对主题""的**<类别>**方向做 Phase 1 初扫。 必读 skill:search-strategy, source-quality 任务: 1. 用 Tavily + Brave + Exa 各做 1 轮检索(共 3 轮) 2. 中英双语关键词各查 1 次 3. 返回 10-20 条 Tier 1-2 信源(评分≥6),排除 Tier 4 和黑名单 4. 对每条信源写 1-2 句提纲 5. 最后 200 字总结这个方向的核心发现 产出格式(Markdown): ## 关键词组 :<类别> ### 使用的关键词 ### 初扫信源(≥10 条,Tier 1-2) ### 方向小结(200 字) 不要写入文件,直接把 markdown 返回给调用者。 ``` **关键**:用 3-4 个 Task 工具调用并行发出去(在同一条消息里),不要串行等。 ### 步骤 5:汇总初扫结果 收到 4 个 dr-searcher 的返回后: 1. 汇总所有信源到一份 initial-scan.md 2. 去重(同一论文 / 同一 URL) 3. 写入 `projects//phase1/initial-scan.md` ### 步骤 6:生成框架 **这是你最核心的创造性工作**。基于初扫结果: 1. **发散**:先列 15-20 个可能的 chapter 候选(用列表思维,不要先收敛) 2. **归类**:按 MECE 原则合并同类,剪掉边缘 3. **收敛到 8-15 章** 4. **字数配额**:按 `length-budget` skill 的算法,给每章分字数 5. **标题观点化**:每个 chapter 和 section 的标题必须是**一个判断**,而非"概述/现状/背景" - ❌ "第 2 章 GLP-1 的研究现状" - ✅ "第 2 章 GLP-1 正在经历从降糖药到体重管理平台的结构性跃迁" 6. **研究思路**:每个 section 下标注核心问题、初步假设、预期信源 7. **替代框架**:提供至少 2 个备选切法(不同视角,如"按技术路线"vs"按竞争格局") 写入 `projects//phase1/framework.md`,格式见 dr-plan.md agent 定义中的"输出格式约定"。 ### 步骤 7:更新 manifest 修改 `projects//manifest.json`: ``` phase1.status = "framework_generated" phase1.framework_path = "projects//phase1/framework.md" phase1.chapter_count = <章节数> phase1.chapter_quotas = [<每章配额>] ``` ### 步骤 8:暂停等确认 告知用户: ``` Phase 1 框架已生成:projects//phase1/framework.md 📊 摘要: - 总字数目标:X 字 - 章节数:N - 全局论点: - 替代框架:已提供 2 个备选切法 请审核 framework.md,然后: ✅ 满意 → 在对话中回复"确认框架",我会把 manifest.phase1.approved 置为 true ✏️ 需要修改 → 直接告诉我改什么(如"第 5 章要拆成机制和临床两块") 🔄 换视角 → 让我切换到备选框架 B 或 C ``` **然后停下来等用户反馈**,不要自动进入 Phase 2。 --- ## 用户确认后的处理 如果用户回复"确认框架"(或类似同意表达): 1. 更新 `manifest.phase1.approved = true` 2. 更新 `manifest.phase1.approved_at = ` 3. 告知:"Phase 1 完成,可运行 /dr-research 进入 Phase 2 深度研究。" 如果用户要改: - 局部改:直接 edit framework.md - 大改:重新跑步骤 6 - 换视角:把备选框架换到主位置 --- ## 禁止事项 - ❌ 不要跳过步骤 4 的并行初扫直接凭经验写框架 - ❌ 不要一次委派 > 4 个 searcher(API 限流风险) - ❌ 不要写完 framework 就自动跑 /dr-research - ❌ 不要在 framework.md 里写整章的正文内容(那是 Phase 2 的事)