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:
@@ -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-chief(Opus)入口,链路:合并英文 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. 加载 skills(mckinsey-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
|
||||
manifest:projects/<slug>/manifest.json
|
||||
输出目录:projects/<slug>/phase4/
|
||||
```
|
||||
|
||||
等待返回。
|
||||
|
||||
## Step 5: 更新 manifest 并汇报
|
||||
|
||||
更新 `manifest.phase4.status = "completed"`。
|
||||
|
||||
向用户汇报:
|
||||
```
|
||||
报告生成完成!
|
||||
|
||||
PDF:projects/<slug>/phase4/final.pdf
|
||||
DOCX:projects/<slug>/phase4/final.docx
|
||||
参考文献:projects/<slug>/phase4/citations.md
|
||||
|
||||
统计:
|
||||
总字数:X 字
|
||||
页数(估算):约 X 页
|
||||
信源:X 条
|
||||
生成时间:<datetime>
|
||||
```
|
||||
每次重试都更新 manifest.phase4 的 retry_count 字段。
|
||||
|
||||
Reference in New Issue
Block a user