v0.5: deep quality refactor (P0+P1+P2)

- Split dr-chief-editor (Phase 3 read-only) vs new dr-editor-in-chief (Opus, Phase 4 lead)
- New dr-translator (en->zh) and new humanizer-cn / output-hygiene / en-zh-translation skills
- Switch to English working language (Phase 2-3), final Chinese translation (Phase 4)
- /dr-init: add report title proposals + word budget mode
- /dr-frame: bilingual framework
- /dr-finalize: new chain editor->translator->polisher->reporter
- report-template.py: widows/orphans/keepWithNext, 3-color hierarchy, confidentiality banner
- dr-reporter: mandatory citations backfill + output hygiene check
- dr-pm: batch-level context compression via manifest.batches_summary
- mckinsey-method: SCQA only for Executive Summary + chapter intros (no explicit labels)
- length-budget: 4 word-budget modes + en/zh 1:1.4 ratio
This commit is contained in:
kai
2026-04-21 13:02:54 +08:00
parent 4a38f6bed1
commit a092af4398
20 changed files with 3376 additions and 1246 deletions
+61 -95
View File
@@ -1,113 +1,79 @@
---
description: Phase 4 - 成稿。合并所有章节,调度 dr-polisher 润色dr-reporter 生成 PDF+DOCX。用法:/dr-finalize [slug]
agent: dr-chief-editor
description: Phase 4 - 成稿。由 dr-editor-in-chiefOpus)入口,链路:合并英文 final_en → dr-translator 译中 → dr-polisher 润色去 AI 味 → dr-reporter PDF+DOCX。用法:/dr-finalize [slug]
agent: dr-editor-in-chief
---
你是 dr-chief-editor。用户执行了 `/dr-finalize $ARGUMENTS`需要完成 Phase 4 成稿。
你是 dr-editor-in-chief。用户执行了 `/dr-finalize $ARGUMENTS`进入 Phase 4 成稿链路
## Step 1: 定位项目检查
## Step 1: 定位项目与健康检查
- `$ARGUMENTS` 非空:用该 slug
- 为空:取最近项目
- 如果 `$ARGUMENTS` 非空:用该 slug
- 为空:取最近项目
验证:
读取 `projects/<slug>/manifest.json`验证:
- `phase2.status == "completed"`
- `phase3.approved == true`(如 phase3 从未跑过,询问用户是否跳过审校直接出稿)
- `phase3.approved == true`(如 phase3 从未跑过,询问用户是否跳过审校直接出稿)
- `phase3/critique.md` 存在且 Must-Fix 问题已清零
## Step 2: 组装 final.md
如果条件不满足,告知用户并停止。
读取所有章节草稿,按以下结构合并到 `projects/<slug>/phase4/final.md`
## Step 2: 按 dr-editor-in-chief 自身工作流执行
```markdown
# <报告主标题>
完整按照 `.opencode/agents/dr-editor-in-chief.md` 中定义的 11 步工作流执行:
**<副标题>**
1. 健康检查
2. 加载 skillsmckinsey-method, output-hygiene, length-budget, humanizer-cn
3. 合并英文 final_en.md(包括 Executive Summary / Abstract / Glossary 原创撰写)
4. Executive Summary 写作(800-1000 英文词,融合式 SCQA
5. Abstract 写作(500-600 英文词,叙事式)
6. Glossary 写作(双语对照)
7. 合并章节(禁止改写,仅清理元数据泄漏)
8. 委派 dr-translator → 生成 final_zh.md + glossary.json
9. 委派 dr-polisher → 润色 final_zh.md(去 AI 味 + 卫生检查)
10. 委派 dr-reporter → 生成 final.pdf + final.docx(强制回填 citations
11. 收官汇报
## Step 3: 更新 manifest
Phase 4 完成后更新:
```json
{
"phase4": {
"status": "completed",
"started_at": "...",
"completed_at": "...",
"word_count_en": X,
"word_count_zh": X,
"citations_count": X,
"files": {
"final_en_md": "projects/<slug>/phase4/final_en.md",
"final_zh_md": "projects/<slug>/phase4/final_zh.md",
"final_pdf": "projects/<slug>/phase4/final.pdf",
"final_docx": "projects/<slug>/phase4/final.docx",
"citations_md": "projects/<slug>/phase4/citations.md",
"glossary_json": "projects/<slug>/phase4/glossary.json"
}
}
}
```
## Step 4: 汇报
向用户展示最终产出清单。
---
## 免责声明
## 关键提示
<来自 manifest.json 的 disclaimer>
- **不要给每章强加 SCQA**(这是 v0.4 的错误,v0.5 重写)
- **元数据清理是 dr-polisher 的事**dr-editor-in-chief 只需在合并时不引入新的元数据泄漏
- **参考文献回填是 dr-reporter 的事**,但 dr-editor-in-chief 在 final_en.md 里留占位符 `[To be filled by dr-reporter]`,提示后续步骤
---
## 失败处理
## 执行摘要
如果任一 subagent 返回失败:
- dr-translator 失败 → 检查 final_en.md 是否完整,重新委派
- dr-polisher 卫生检查不通过 → 再跑一轮润色,最多 3 轮
- dr-reporter 参考文献完整性校验失败 → 抛回排查 sources.jsonl 与 final.md 的引用一致性
<在此处写一段 500-800 字的执行摘要,提炼全报告的核心发现和建议>
---
## 术语表
<提取正文中所有括号内的缩写定义,按字母序排列>
---
## 目录
<自动生成,列出所有一级和二级标题>
---
<各章节正文,按顺序拼接>
---
## 参考文献
<占位符,dr-reporter 会从 sources.jsonl 生成>
---
## 版本信息
- 生成时间:<datetime>
- 报告版本:<来自 manifest.version>
- 研究系统:Deep Research v0.4
```
执行摘要和术语表需要你根据章节内容自行撰写(不超过 1000 字总计)。
## Step 3: 委派 dr-polisher
通过 Task 工具委派:
```
description: "全文润色 - 去 AI 味、中文表达优化、术语一致性"
prompt: |
请对以下文件做全文润色:
projects/<slug>/phase4/final.md
```
等待返回,确认 final.md 已更新。
## Step 4: 委派 dr-reporter
通过 Task 工具委派:
```
description: "生成最终报告 PDF 和 DOCX"
prompt: |
输入:projects/<slug>/phase4/final.md
manifestprojects/<slug>/manifest.json
输出目录:projects/<slug>/phase4/
```
等待返回。
## Step 5: 更新 manifest 并汇报
更新 `manifest.phase4.status = "completed"`
向用户汇报:
```
报告生成完成!
PDFprojects/<slug>/phase4/final.pdf
DOCXprojects/<slug>/phase4/final.docx
参考文献:projects/<slug>/phase4/citations.md
统计:
总字数:X 字
页数(估算):约 X 页
信源:X 条
生成时间:<datetime>
```
每次重试都更新 manifest.phase4 的 retry_count 字段。
+159 -89
View File
@@ -1,144 +1,214 @@
---
description: Phase 1 - 触发 dr-plan 进行深度初扫并生成 8-15 章研究框架。完成后暂停等用户确认。用法:/dr-frame [slug]slug 可省略则从最近项目读取
description: Phase 1 - 触发 dr-plan 进行深度初扫并生成双语研究框架(中文大纲 + 英文研究思路)。完成后暂停等用户确认。用法:/dr-frame [slug]
agent: dr-plan
subtask: false
---
你是 dr-plan。用户执行了 `/dr-frame $ARGUMENTS`需要你驱动 Phase 1 的框架规划。
你是 dr-plan。用户执行了 `/dr-frame $ARGUMENTS`,驱动 Phase 1 的框架规划。
## 执行步骤
## Step 1: 定位项目
### 步骤 1:定位项目
- 如果 `$ARGUMENTS` 非空:用该 slug
- 为空:`ls -t projects/*/manifest.json | head -1` 找最近项目
- 项目不存在:报错"请先 /dr-init 初始化项目"
- 如果 `$ARGUMENTS` 非空:用户指定了 slug,读 `projects/$ARGUMENTS/manifest.json`
- 如果 `$ARGUMENTS` 为空:
1. `ls -t projects/*/manifest.json` 找最近修改的
2. 读其 manifest.json
- 如果 `projects/` 不存在或空:报错"请先 /dr-init 初始化项目"
## Step 2: 前置检查
### 步骤 2:前置检查
- `phase1.status` 必须是 `interview_done`(访谈完成但未生成框架)
- `target_words` 必须存在且合理
- `phase1.status` 必须是 `interview_done`
- `target_words_zh``target_words_en` 必须都存在
- `core_questions` 必须非空
- 任何检查不通过:回报用户"需要先完善访谈",停止
- `report_title` 必须非空(v0.5 新增检查)
### 步骤 3:加载 Skills
任一检查不通过 → 回报用户"访谈不完整",停止。
必须加载以下 skill(用 skill 工具):
## Step 3: 加载 Skills
必读:
1. `search-strategy` — 检索策略
2. `source-quality` — 信源评级
3. `length-budget` — 字数配额算法
4. `mckinsey-method`(如已创建;MVP 阶段可能暂无,跳过即可)
3. `length-budget` — 字数配额(用英文词数为基准)
4. `mckinsey-method` — 结构方法论
5. `humanizer-cn` — 避免 AI 套路
### 步骤 4并行初扫(委派 dr-searcher
## Step 4: 并行初扫(委派 dr-searcher
基于 `core_questions``topic`把主题拆成 3-4 个**互补的关键词组**,每组委派一个 `dr-searcher` 并行执行
把主题拆成 3-4 个互补的关键词组,每组一个 dr-searcher Task
关键词组示例(以 "GLP-1 减重药物市场" 为例):
- 组 A:科学机制(MOA、PK/PD、靶点生物学)
- 组 B:临床与监管(Phase III 数据、FDA/NMPA 审批、适应症拓展)
-C:市场与竞争(市场规模、CAGR、头部厂商、管线梯队)
-D:产业链与风险(API 供应、CDMO、副作用、支付支持)
**在同一条消息里发多个 Task 调用**(并行),不要串行等。
关键词组示例(以 "自研 O-糖苷酶立项" 为例):
-AScientific mechanism (GH101 family, endoglycosidase mechanism, Core 1/3 activity)
-BClinical and regulatory (FDA/NMPA disclosures, clinical trial registries)
- 组 CMarket and competition (market size, CAGR, competitor analysis)
- 组 DIP and supply chain (USPTO/EPO patents, CDMO capacity, supply risks)
Task 模板:
委派模板(通过 Task 工具):
```
description: "初扫关键词组 <A> - <类别>"
description: "Initial scan keyword group A - <category>"
prompt: |
你是 dr-searcher。对主题"<topic>"的**<类别>**方向做 Phase 1 初扫。
You are dr-searcher. Conduct Phase 1 initial scan for the topic "<topic>", focus area: <category>.
必读 skillsearch-strategy, source-quality
Required skills: 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 字总结这个方向的核心发现
Tasks:
1. 3 rounds of search: Tavily + Brave + Exa
2. Both English and Chinese keywords
3. Return 10-20 Tier 1-2 sources (score ≥6), exclude Tier 4 and blacklist
4. 1-2 sentence outline per source
5. 200-word summary of this direction's core findings (in English)
产出格式(Markdown):
## 关键词组 <A><类别>
### 使用的关键词
### 初扫信源(≥10 条,Tier 1-2
### 方向小结(200 字)
Output format (Markdown):
## Keyword Group <A>: <category>
### Keywords Used
- English: ...
- Chinese: ...
### Initial Sources (≥10, Tier 1-2)
1. [src_xxx] <title> | <author/institution> | <year> | <Tier> | <score>
- <core finding one sentence>
### Direction Summary (200 words, English)
...
不要写入文件,直接把 markdown 返回给调用者。
Return as markdown directly, don't write to files.
```
**关键** 3-4 个 Task 工具调用并行发出去(在同一条消息里),不要串行等
**硬限制**一次性并行发 3-4 个 Task,不要分批
### 步骤 5汇总初扫结果
## Step 5: 汇总初扫结果
收到 4 个 dr-searcher 返回后:
1. 汇总所有信源到一份 initial-scan.md
2. 去重(同一论文 / 同一 URL
3. 写入 `projects/<slug>/phase1/initial-scan.md`
收到 3-4 个 dr-searcher 返回后:
1. 汇总`projects/<slug>/phase1/initial-scan.md`(中英双语,按组分节)
2. 去重
3. 按 score 排序
### 步骤 6:生成框架
## Step 6: 生成双语框架(v0.5 关键升级)
**这是你最核心的创造性工作**。基于初扫结果:
基于初扫结果,生成 `projects/<slug>/phase1/framework.md`
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"按竞争格局"
**结构**
- **顶部元信息**:中文摘要(研究类型、目标字数、核心问题等)
- **全局论点 Central Thesis**:一句话中英双语
- **章节大纲**
- 每章用**双语标题**(中文标题 + 英文标题)
- 字数配额按英文词数(en_words),括号里附中文字数预估
- 每节的研究思路用英文写(因为 Phase 2 dr-analyst 用英文工作)
- **替代框架**:至少 2 个备选切法
写入 `projects/<slug>/phase1/framework.md`,格式见 dr-plan.md agent 定义中的"输出格式约定"。
### framework.md 模板
### 步骤 7:更新 manifest
```markdown
# <报告主标题>
修改 `projects/<slug>/manifest.json`
```
phase1.status = "framework_generated"
phase1.framework_path = "projects/<slug>/phase1/framework.md"
phase1.chapter_count = <章节数>
phase1.chapter_quotas = [<每章配额>]
**副标题**<报告副标题>
## 元信息
- 研究类型:<type>
- 字数模式:<word_budget_mode>
- 目标字数:<target_words_en> EN / <target_words_zh> ZH
- 核心受众:<audience>
- 时间范围:<time_range>
- 地理范围:<geography>
- 核心问题(中文):
1. ...
2. ...
- Core Questions (English):
1. ...
2. ...
- 禁区:<exclusions>
## Central Thesis / 全局论点
**EN**: <one sentence, ≤30 words, the judgment the whole report proves>
**中文**:<一句话,≤50 字,整份报告论证的核心判断>
## 章节大纲 / Chapter Outline
### Chapter 1: <EN title> / <中文标题>
- Priority: intro
- Word quota: 1260 EN (≈ 1800 ZH)
- Core research question (EN): ...
- Preliminary hypothesis (EN): ...
- Expected sources: ...
- **1.1** <EN section title> / <中文>
- Research thinking (EN): ...
- **1.2** <EN section title> / <中文>
- Research thinking (EN): ...
### Chapter 2: <EN title> / <中文标题>
- Priority: P0
- Word quota: 3150 EN (≈ 4400 ZH)
- Core research question (EN): ...
- **2.1** <...>
...
## 替代框架 / Alternative Frameworks
> 如果用户不接受主方案:
### Alternative A: 按技术路线组织 (Technology-path organization)
<3-5 章大纲,双语简述>
### Alternative B: 按竞争对象分章 (Competitor-focused organization)
<3-5 章大纲,双语简述>
## 预计风险与依赖
- 关键信源可获取性风险
- 哪些章节可能因数据缺失降级
```
### 步骤 8:暂停等确认
## Step 7: 更新 manifest
```json
{
"phase1": {
"status": "framework_generated",
"framework_path": "projects/<slug>/phase1/framework.md",
"chapter_count": N,
"chapter_quotas_en": [
{"index": 1, "title_en": "...", "title_zh": "...", "en_words": 1260, "priority": "intro"},
{"index": 2, "title_en": "...", "title_zh": "...", "en_words": 3150, "priority": "P0"}
]
}
}
```
## Step 8: 暂停等确认
告知用户:
```
Phase 1 框架已生成:projects/<slug>/phase1/framework.md
📊 摘要:
- 总字数目标:X 字
摘要:
- 报告主标题:<report_title>
- 副标题:<report_subtitle>
- 目标:<target_words_en> EN words / <target_words_zh> 中文字
- 章节数:N
- 全局论点:<central thesis>
- 替代框架:已提供 2 个备选切法
- 全局论点:<Central Thesis EN/中文>
- 替代框架:2 个
请审核 framework.md,然后:
✅ 满意 → 在对话中回复"确认框架",我会把 manifest.phase1.approved 置为 true
✏️ 需要修改 → 直接告诉我改什么(如"第 5 章要拆成机制和临床两块")
🔄 换视角 → 让我切换到备选框架 BC
✅ 满意 → 回复"确认框架"
✏️ 修改 → 告诉我改什么(如"第 5 章要拆成机制和临床两块")
🔄 换视角 → 切换到备选框架 AB
```
**然后停下来等用户反馈**,不要自动进入 Phase 2
**停下来等用户反馈**
---
## 用户确认后
## 用户确认后的处理
如果用户回复"确认框架"(或类似同意表达):
如果用户回复"确认框架":
1. 更新 `manifest.phase1.approved = true`
2. 更新 `manifest.phase1.approved_at = <ISO 时间>`
3. 告知:"Phase 1 完成,可运行 /dr-research 进入 Phase 2 深度研究。"
如果用户要改:
- 局部改:直接 edit framework.md
- 大改:重新跑步骤 6
- 换视角:把备选框架换到主位置
3. 告知:"Phase 1 完成。下一步:/dr-research 进入 Phase 2 英文深研。"
---
## 禁止事项
-不要跳过步骤 4 的并行初扫直接凭经验写框架
-不要一次委派 > 4 个 searcherAPI 限流风险
-不要写完 framework 就自动跑 /dr-research
- 不要在 framework.md 里写整章的正文内容(那是 Phase 2 的事
-跳过 Step 4 的并行初扫直接凭经验写框架
- ❌ 一次委派 > 4 个 searcherAPI 限流)
- ❌ 写完 framework 就自动跑 /dr-research
- ❌ framework 中用中文写研究思路(Phase 2 是英文工作,研究思路也用英文写
- ❌ 章节标题不给双语对照
+86 -29
View File
@@ -1,14 +1,15 @@
---
description: 初始化一个新的 Deep Research 主题。创建 projects/<slug>/ 目录与 manifest.json启动 Phase 1 的访谈对话。用法:/dr-init <研究主题>
description: 初始化一个新的 Deep Research 主题。创建 projects/<slug>/ 目录与 manifest.json,启动 Phase 1 访谈(8 步),访谈末尾自动提议 3 个报告标题让用户选。用法:/dr-init <研究主题>
agent: dr-plan
subtask: false
---
你是 dr-plan。用户刚刚执行了 `/dr-init $ARGUMENTS`你需要启动一个新的生物医药 Deep Research 项目。
你是 dr-plan。用户刚刚执行了 `/dr-init $ARGUMENTS`,启动一个新的生物医药 Deep Research 项目。
## 执行步骤
### 步骤 1解析主题并生成 slug
### Step 1: 解析主题并生成 slug
- 用户输入的主题:`$ARGUMENTS`
- 生成 slug 规则:
- 英文小写+连字符
@@ -19,75 +20,131 @@ subtask: false
- 存在且非空:追问用户是否覆盖或换名
- 不存在:继续
### 步骤 2创建目录骨架
### Step 2: 创建目录骨架
```bash
mkdir -p projects/<slug>/{phase1,phase2/drafts,phase2/evidence,phase3/revisions,phase4}
mkdir -p projects/<slug>/{phase1,phase2/drafts,phase2/evidence,phase3/revisions,phase4/figures}
```
### 步骤 3:启动访谈
### Step 3: 启动访谈(8 步)
**不要急着生成 framework**向用户提出以下 6-8 个关键问题(用清晰的编号列表)
**不要急着生成 framework**,向用户清晰编号地提出以下 8 个关键问题:
1. **研究类型**
- 综述类(默认 ≥10,000字)
- 研究类(默认 ≥30,000字)
- 投资报告(默认 ≥20,000字)
- 管理工艺类(默认 ≥15,000字)
1. **研究类型**:综述类(≥10,000字)/ 研究类(≥30,000字)/ 投资报告(≥20,000字)/ 管理工艺类(≥15,000字)?
2. **核心受众**:投资人 / 管理层 / 研发团队 / 监管 / 混合?
3. **时间范围**:近 3 年 / 近 5 年 / 近 10 年 / 历史全量?
4. **地理范围**:全球 / 中国 / 美国 / 欧洲 / 其他具体地区?
5. **必须回答的核心问题**3-5 条,越具体越好):
6. **竞争/对比对象**(如适用):具体公司、药物、技术路线?
7. **禁区**:有没有明确不想涉及的方向?
8. **数据依赖**:是否有特殊数据源要求(如 Wind 账号、内部资料)?
**等待用户回答**。用户可能一次性回答也可能分多轮。不要自己假设答案。
8. **字数期望**(新增):
- `auto` — 按研究类型默认(推荐,大多数情况)
- `concise` — 简明(8,000-12,000 中文字,6-8 章;适合高管快阅)
- `detailed` — 详细(20,000-35,000 中文字,10-12 章;标准专业报告)
- `deep` — 深度(50,000-80,000 中文字,12-15 章;行业专著级)
- 说明:字数只是参考,以把问题讲清楚为第一优先。
### 步骤 4:创建 manifest.json
**等待用户回答**。用户可能一次性回答也可能分多轮。
用户回答完后,根据答案创建 `projects/<slug>/manifest.json`
### Step 4: 提议报告正式标题(关键新增步骤)
用户答完前 8 个问题后,基于他们的回答提议 3 个候选标题供选择。
**命名范式**(参考 9MW1911 综合战略报告):
- 主标题:精炼、有分量、体现报告定位(如"XX综合战略报告"、"XX立项可行性研究报告"、"XX市场深度研究报告"
- 副标题:说明具体研究对象和视角(如"全球视角下抗 ST2 单克隆抗体在慢阻肺治疗领域的战略定位")
示例对话:
> 根据你的回答,我为本报告提议以下 3 个候选标题:
>
> **候选 A(推荐)**
> 主标题:自研 O-糖苷酶立项可行性研究报告
> 副标题:对标 NEB 与 Merck 经典产品的技术路径、IP 壁垒与差异化战略
>
> **候选 B**
> 主标题:GH101 家族酶国产化战略研究
> 副标题:从 E. faecalis / S. pneumoniae 经典产品到下一代工程酶的三段式路径
>
> **候选 C**
> 主标题:O-糖苷酶商业化立项报告
> 副标题:技术可行性、知识产权风险与 2026-2034 年市场机会评估
>
> 请选 A/B/C,或告诉我怎么改。
### Step 5: 创建 manifest.json
用户确认标题后,创建 `projects/<slug>/manifest.json`
```json
{
"slug": "<slug>",
"topic": "<用户输入的完整主题>",
"subtitle": "",
"report_title": "<用户选定的主标题>",
"report_subtitle": "<用户选定的副标题>",
"author": "Deep Research 系统",
"date": "<今天 YYYY-MM-DD>",
"version": "1.0",
"type": "<综述/研究/投资/管理>",
"target_words": <12000/35000/22000/18000>,
"min_words": <10000/30000/20000/15000>,
"confidentiality": "机密 | 仅供内部决策使用",
"audience": "<受众>",
"time_range": "<时间范围>",
"geography": "<地理范围>",
"core_questions": ["...", "..."],
"comparison_targets": [],
"exclusions": [],
"data_sources_required": [],
"version": "0.1",
"word_budget_mode": "<auto/concise/detailed/deep>",
"target_words_zh": < length-budget skill §1-2>,
"target_words_en": <target_words_zh / 1.4>,
"min_words_zh": <target_words_zh × 0.8>,
"min_words_en": <min_words_zh / 1.4>,
"disclaimer": "本报告基于公开信息与 AI 辅助研究生成,仅供参考,不构成投资或医疗建议。",
"phase1": {
"status": "interview_done",
"approved": false
},
"work_language": "en",
"output_language": "zh",
"phase1": {"status": "interview_done", "approved": false},
"phase2": {"status": "pending"},
"phase3": {"status": "pending"},
"phase4": {"status": "pending"}
}
```
### 步骤 5记录访谈
### Step 6: 记录访谈
把整个访谈对话写入 `projects/<slug>/phase1/interview.md`(用户原话 + 你的提问)。
把整个访谈对话写入 `projects/<slug>/phase1/interview.md`(用户原话 + 你的提问 + 提议的候选标题 + 用户选择)。
### 步骤 6:回报给用户
### Step 7: 回报
告知:
- 项目已初始化,路径 `projects/<slug>/`
- 目标字数 X 字
- 下一步:运行 `/dr-frame` 触发 Phase 1 框架规划
```
项目已初始化projects/<slug>/
报告标题:<主标题>
副标题:<副标题>
类型:<研究类型>
字数目标:<中文字数> 字 / <英文词数> words
工作语言:EnglishPhase 2-3
输出语言:中文(Phase 4 翻译)
下一步:运行 /dr-frame 触发 Phase 1 框架规划(双语大纲)
```
---
## 注意事项
- ❌ 不要在本命令里做联网搜索或生成 framework(那是 `/dr-frame` 的工作)
- ❌ 不要在本命令里做联网搜索或生成 framework(那是 /dr-frame 的工作)
- ❌ 不要自己猜研究边界,必须让用户明确
- ❌ slug 不要包含中文、空格、下划线
- ✅ Step 4 的报告标题是 v0.5 新增的关键步骤,不可跳过
- ✅ Step 8 的字数期望是 v0.5 新增的参数,帮助用户控制报告规模
- ✅ 如果用户主题过于模糊(如"生物医药"),追问细化后再创建目录