Install
openclaw skills install claw-deep-researchClaw Deep Research — 自动迭代深度研究。Turn your AI agent into a real research assistant with multi-phase iterative search, contradiction mining, cross-verification, and structured reports. Zero extra API keys. 触发词:/deep、深度研究、深挖。
openclaw skills install claw-deep-research拒绝表面文章。用迭代搜索 + 递归深挖,像人类研究者一样层层深入,产出真正有深度的分析报告。
一个给 AI Agent 用的深度研究工作流。
灵感源自 dzhng/deep-research(17.8k ⭐)的广度×深度算法,并结合了 MiroMind/MiroThinker(GAIA 80.8%/BrowseComp 88.2 的 SOTA 深度研究模型)的架构思路——多轮多阶段迭代 + 交叉验证 + 矛盾驱动深挖。
与纯算法驱动的研究模型不同,本 Skill:
web_search + web_fetch任何正常运行且配置了 web_search 提供商的 OpenClaw 实例:
web_search — 已配置(MiniMax / Tavily / Brave / Perplexity / Google 均可)web_fetch — 可用(默认开启)不挑搜索提供商,不挑 LLM,不挑操作系统。
核心思想:不是"搜几次"的问题,而是"搜完之后怎么用"的问题。
MiroMind 的研究模型(MiroThinker-1.7,235B 参数)有三大核心特征:
我们虽然不能匹配模型级别的优化,但可以通过结构化的工作流来逼近同样的效果。
阶段1: 全景扫描 ──→ 阶段2: 矛盾识别 ──→ 阶段3: 定向深挖 ──→ 阶段4: 交叉验证 ──→ 阶段5: 综合报告
(3-5条宽搜索) (找矛盾/盲区) (6-10条精准搜索) (验证关键数据) (完整报告)
不同于传统的 breadth×depth 树形递归,这是流水线式多轮迭代——每轮结束后暂停、反思、规划下一轮,而非机械地递归。
提供两种执行模式,根据环境和用户偏好选择:
在当前会话中逐步执行各阶段,用户实时看到进展。
使用 sessions_spawn 创建专用的研究子 Agent,让研究在后台异步执行。
什么时候用:
执行流程:
当前会话 子 Agent(后台研究)
│ │
├─ sessions_spawn ───────→ │
│ 任务:完整研究流程 │
│ 上下文:研究计划 │
│ 标签:deep-research-xxx │
│ ├─ 阶段1:全景扫描
│ ├─ 阶段2:矛盾识别
│ ├─ 阶段3:定向深挖
│ ├─ 阶段4:交叉验证
│ ├─ 阶段5:综合报告
│ │
│ 子 Agent 自动返回结果 │
│←─────────────────────────┤
│ 收到报告,呈现给用户 │
│ │
子 Agent 的任务指令模板:
## 深度研究任务
研究主题:[用户问题]
研究深度:[深入/极致]
请严格按照 `claw-deep-research` 工作流执行:
1. 阶段1:全景扫描 — 先做3-5条宽搜索
2. 阶段2:矛盾识别 — 找矛盾点和盲区
3. 阶段3:定向深挖 — 针对矛盾精准搜索
4. 阶段4:交叉验证 — 关键数据多源验证
5. 阶段5:输出结构化报告
注意每轮搜索后必须暂停反思,不要机械重复。
完成后将完整报告返回。
子 Agent 执行的关键规则:
sessions_spawn 时 context 设为 "isolated"(独立上下文,不继承父会话的对话历史)label 为 deep-research-<话题英文缩写>,方便后续追踪subagents list 查看研究进度优点:
if 用户明确要求「先看结果」或「后台研究」:
按用户要求选择
elif 子 Agent 并发可用 AND 研究深度 >= "深入":
自动选择 模式B(子 Agent 执行)
通知用户:「🔬 研究将在后台进行,完成后通知你」
else:
选择 模式A(内联执行)
用户触发后,提取:
| 深度级别 | 总搜索次数 | 说明 |
|---|---|---|
| 标准 | ~5-8 次 | 1-2 轮,适合话题范围明确 |
| 深入 | ~12-20 次 | 3 轮(全景→深挖→验证),默认 |
| 极致 | ~25-40 次 | 4-5 轮,适合复杂跨界主题 |
输出: 研究计划(大纲 + 深度级别)
目标:快速覆盖话题的各个维度,建立全局认知地图。
web_search(query, count=5)web_fetch(url) 获取详细信息认知卡片(Research Cards) — 每条卡片包含:
- 方向:[命题/维度名称]
- 发现:关键信息(含具体实体、数字、日期)
- 来源:URL
- 置信度:高/中/低(数据质量评估)
- 矛盾点/异常:与该方向内其他发现不一致的地方
同时记录未覆盖维度和初步矛盾
外化研究状态 — 为防止长流程中上下文滚动丢失信息,将研究状态写为临时文件:
~/.openclaw/workspace/.deep-research-cache/[topic-hash]-learnings.json这是区别于普通"搜索+总结"的关键步骤。
在完成全景扫描后,不要立刻继续搜索。先对已有材料做三件事:
① 找矛盾(Contradiction Mining)
② 找盲区(Gap Detection)
③ 定优先级(Priority Ranking)
输出: 一张清晰的"剩余问题清单",每条标注优先级
基于阶段 2 的剩余问题清单,精准打击。
特点与阶段 1 不同:
为什么比简单的"递归减半"更好?
原版算法:breadth/2, depth-1,机械地降低宽度进入子层。 改进后:不按固定比例减半,而是根据实际发现的矛盾点数量和质量决定下一轮搜索数量和方向。
在报告初稿之前,对关键数据进行来源交叉验证。
验证规则:
验证工具:
web_search(query, count=3) 带上原文关键词+补充关键词搜索基于全部认知卡片,生成结构化报告:
# [主题] — 深度研究报告
## 摘要
300-500 字综述,涵盖所有关键发现和结论
## 研究范围与方法
- 搜索轮次、搜索量、覆盖维度说明
- 置信度说明(哪些数据经过交叉验证,哪些仅单一来源)
## 核心发现
### 子主题一(置信度:高)
发现 + 数据 + 分析 + 来源标注
### 子主题二(置信度:中)
发现 + 数据 + 分析 + 来源标注
...
## 矛盾与争议
呈现研究过程中发现的数据矛盾或观点分歧
## 综合洞察
跨维度的趋势判断、矛盾点分析、独特见解
## 局限性
- 研究范围的限制
- 未充分覆盖的维度
- 不确定性较高的结论
## 来源
- [标题](url)
- [标题](url)
...
报告产出格式: Markdown
如果用户对同一个话题再次发起深度研究,自动检查上次的研究成果:
memory_search 搜索当前话题相关的历史记录不再使用固定的 breadth 和 depth 数值,而是根据话题特征动态调整:
| 话题特征 | 阶段1扫描 | 阶段3深挖 | 总搜索量 |
|---|---|---|---|
| 窄话题:如「某公司季度营收」 | 3条(覆盖业绩/对比/原因) | 3-5条(验证关键数字) | ~8次 |
| 中等话题:如「新能源汽车竞争」 | 4条(技术/市场/政策/玩家) | 6-8条(深挖矛盾/争议) | ~15次 |
| 宽话题:如「Token出海生态」 | 5条(多维度覆盖) | 8-12条(多个矛盾点深挖) | ~20次 |
| 学术/争议性话题 | 4条(不同立场) | 10-15条(多角度验证) | ~20次 |
根据执行模式,呈现方式不同:
subagents list 查看活跃的研究任务总原则:聊天窗口只给摘要,完整报告存到文件。
对话场景(尤其是微信、Telegram 等 IM 渠道)的长文本阅读体验差,因此无论哪种执行模式,报告交付方式统一如下:
在聊天窗口中仅发送:
🔬 [主题] — 深度研究报告
📊 覆盖 N 个维度,搜索 M 次,获取 X 条认知
核心发现:
• 要点一
• 要点二
• 要点三
关键结论:一句话总结
📁 完整报告已保存至:[文件路径]
摘要要点:
完整报告写入本地文件。
保存规则(含降级):
~/Desktop/%USERPROFILE%\Desktop~/.openclaw/workspace//tmp/摘要末尾标注文件路径,用户知道去哪打开。
/deep <topic> /deep research <topic>| ❌ 反模式 | ✅ 正确做法 |
|---|---|
| 一次性搜很多方向但不反思 | 每轮结束必须做矛盾/盲区分析 |
| 忽略矛盾数据 | 矛盾是最有价值的研究方向 |
| 报告只列点没有分析 | 每个子主题必须有「洞察」段落 |
| 不验证关键数据 | 核心数字至少两个来源交叉验证 |
| 隐瞒不确定性 | 在报告中明确标注置信度 |
| 机械递归 breadth/2 | 根据实际发现的矛盾数量决定下一轮搜索量 |
| 遇到失败直接停掉整个流程 | 跳过失败分支,其他分支继续执行 |
| 觉得搜够了就开始写报告 | 完成所有阶段后再动笔 |
最终交付前自检: