MiroThinker

面向复杂检索、证据整理与预测问题的可部署深度研究智能体。

Star 数
★ 8.4k
最近更新
7 个月前
License
Apache-2.0
主语言
Python

30 秒速览

运行形态
命令行工具
可在哪里用
通用 · 跨平台OpenAI API · Claude API
费用
软件免费,模型调用费用自付
上手难度
高 · 需要较重的基础设施
开始前需要
Python 3.10+uv 包管理器E2B API 密钥Serper API 密钥Jina API 密钥摘要 LLM 端点Shell / 命令行网络访问本地文件系统MCP Server
典型场景
研究分析师需要在多个网页和资料中查找证据、执行小段代码并形成带来源回答时,可用 1.7 的单智能体配置。
不适合
  • 没有多张 GPU 或模型服务器、只能依赖云端 API 的个人用户
  • 希望开箱即用、不愿配置 Serper、Jina、E2B 等多个第三方密钥的团队
  • 需要稳定 HTTP 服务接口而非命令行与 YAML 工作流的集成方

这个 Agent 能做什么,适合哪些场景?

MiroThinker 是一个开源深度研究智能体项目,核心运行入口位于 apps/miroflow-agent,并以工具调用驱动多步研究任务。其最新 1.7 系列提供 30B 和 235B 两种模型,均支持 256K 上下文;推荐配置将单智能体限制为 200 或 300 轮,并保留最近 5 条工具结果。默认最小工具组合覆盖 Google 搜索、网页抓取与摘要、以及 E2B 沙箱中的代码执行和文件操作。项目还提供 GAIA、BrowseComp、HLE、FutureX 等基准的多次运行脚本、进度检查脚本和轨迹采集脚本。采用它意味着需要自行部署或连接模型服务,并准备多项第三方 API 凭据。

用户在 apps/miroflow-agent 中运行 main.py,并通过 llm、agent 和 llm.base_url 指定模型与智能体配置。以 mirothinker_1.7_keep5_max200 为例,主智能体调用 search_and_scrape_webpage 的 google_search、jina_scrape_llm_summary 的 scrape_and_extract_info,以及 tool-python 的 create_sandbox、run_command、run_python_code、文件上传下载等能力;它据此搜索网页、提取内容、按需运行代码并输出带来源的回答。配置中的 keep_tool_result: 5 仅保留最近 5 个工具响应,同时保留完整的思考与动作序列。评测可通过 scripts/run_evaluate_multiple_runs_*.sh 执行,并由 benchmarks/check_progress/ 下的脚本检查日志进度。

  1. 研究分析师需要在多个网页和资料中查找证据、执行小段代码并形成带来源回答时,可用 1.7 的单智能体配置。
  2. 需要复现实验结果的研究团队可运行 GAIA、BrowseComp、HLE、XBench-DeepSearch 或 FutureX 的多次评测脚本。
  3. 拥有自托管 MiroThinker 模型服务的团队,可用 SGLang 启动服务后把本地端点传给 llm.base_url。
  4. 希望比较研究工作流表现的工程团队,可在同一框架中以 Claude 3.7 或 GPT-5 配置运行首个任务。
  5. 需要为 SFT 或 DPO 准备智能体交互数据的开发者,可在 apps/collect-trace 中运行对应的轨迹采集脚本。

如何安装或部署这个 Agent?

前置条件是 Python 3.10+、uv,以及最小配置所需的 SERPER_API_KEY、JINA_API_KEY、E2B_API_KEY 和 SUMMARY_LLM_BASE_URL、SUMMARY_LLM_MODEL_NAME、SUMMARY_LLM_API_KEY。执行:

git clone https://github.com/MiroMindAI/MiroThinker
cd MiroThinker/apps/miroflow-agent
uv sync
cp .env.example .env

然后在 .env 中填写上述凭据。若要运行基准评测,还需 OPENAI_API_KEY;GAIA 多模态预处理与 LLM-as-a-Judge 使用该密钥。

如何使用这个 Agent?

先启动模型服务。例如服务 MiroThinker-1.7-mini:

NUM_GPUS=4
PORT=61002
AGENT_PATH=miromind-ai/MiroThinker-1.7-mini
python3 -m sglang.launch_server --model-path $AGENT_PATH --tp $NUM_GPUS --dp 1 --host 0.0.0.0 --port $PORT --trust-remote-code

随后在 apps/miroflow-agent 运行:

uv run python main.py llm=qwen-3 agent=mirothinker_1.7_keep5_max200 llm.base_url=http://localhost:61002/v1

默认问题位于 main.py 第 32 行的 task_description,可替换为自己的问题。BrowseComp 与 BrowseComp-ZH 评测应改用 mirothinker_1.7_keep5_max300;其他列出的 1.7 基准使用 max200 配置。

这个 Agent 有哪些优点和局限?

优点
  • 1.7 提供 256K 上下文与最多 300 次工具交互,适合需要长链检索和多步操作的任务。
  • 最小配置明确组合了 Serper 搜索、Jina 抓取摘要和 E2B 代码/文件沙箱,研究流程所需的外部操作边界清晰。
  • 提供覆盖多个研究基准的运行、进度检查和污染防护说明,便于做可重复的评测。
  • 可通过配置在同一框架中运行自托管 MiroThinker、Claude 3.7 或 GPT-5。
局限
  • 最小可用部署依赖 Serper、Jina、E2B 和摘要模型端点,需管理多套密钥、配额与网络可用性。
  • 运行 MiroThinker-1.7 需要自行提供模型服务;示例 SGLang 配置使用 4 张 GPU。
  • 基准评测额外依赖 OpenAI API;GAIA 多模态任务会用 GPT-4o 将媒体预处理为文本。
  • 公开的主流程以命令行和 YAML 配置驱动,未在材料中提供面向最终用户的稳定 HTTP 服务接口说明。

这个 Agent 与同类方案有什么区别?

项目提供了 Claude 3.7 与 GPT-5 作为同一 MiroFlow 工作流中的可选运行配置;MiroThinker 1.7 则以自托管模型服务配合其研究型工具配置运行。README 还将早期版本的基准结果与 OpenAI Deep Research、Gemini Deep Research、Kimi-Researcher 等公开结果并列,但未提供这些替代方案的可互换部署实现。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
MiroThinker 当前 27 · 缺口较多 命令行工具免费 + 模型费 ★ 8.4k 7 个月前 Python OpenAI API · Claude API
通义深度研究 49 · 缺口较多 命令行工具免费 + 模型费 ★ 20k 8 个月前 Python —
GPT Researcher 52 · 缺口较多 代码库 / SDK免费 + 模型费 ★ 31k 26 天前 Python Claude.ai · OpenAI API
Bright Data MCP 64 · 存在缺口 MCP 服务器免费版 + 付费版 ★ 2.7k 1 天前 JavaScript Claude Code · Claude.ai

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
27/ 100 五分制 1.4 / 5
信任安全 0/29
可靠稳定 3/14
适用触发 6/18
规范维护 10/18
有效结果 6/13
证据核验 2/8
查看各维度的扣分理由
信任安全0 / 29 · 0.0/5

证据显示仓库未提供权限管理、用户确认、数据流透明、敏感数据处理、依赖安全、外部影响、回滚或来源归属的说明。所有信任相关标准均未得到支持,因此评分为0。

可靠稳定3 / 14 · 1.1/5

自洽性:README中性能数字存在不一致(如描述中88.2与表格中74.0),且版本信息混乱,评分为1。依赖可用性:依赖外部HuggingFace资源,但未提供版本锁定或镜像,评分为1。失败消息:未提供错误处理或失败消息的文档,评分为0。

适用触发6 / 18 · 1.7/5

受众与场景:明确面向研究任务,提供多种模型规模,评分为2。能力边界:提及最大上下文和工具调用次数,但未明确限制,评分为1。触发精度:未定义触发机制,评分为0。环境适配:提供部署选项,但未详细说明环境要求,评分为1。

规范维护10 / 18 · 2.8/5

信息架构:README结构清晰,包含目录和章节,评分为2。安装说明:提供快速开始链接,但未提供详细安装步骤,评分为1。命名稳定性:模型命名有版本号,但存在不一致,评分为2。示例与FAQ:提供FAQ链接,但未提供具体内容,评分为2。已知限制:未明确列出限制,评分为1。许可证:Apache-2.0,评分为2。版本与变更日志:有新闻更新,但无正式变更日志,评分为2。维护责任:未明确维护者,评分为1。

有效结果6 / 13 · 2.3/5

输出可用性:未提供输出格式或示例,评分为1。边际价值:提供多种模型规模和基准测试,但未与现有方案对比,评分为2。成本效益:未提供成本信息,评分为1。

证据核验2 / 8 · 1.3/5

声明可追溯性:性能声明有基准测试链接,但未提供复现细节,评分为1。跨来源佐证:仅依赖自身报告,未提供独立验证,评分为1。事实与推断分离:未区分事实与推断,评分为0。

风险与缓解建议
  • 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
  • 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
  • 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
  • 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
  • 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
  • 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
  • 性能数字不一致,需核实。
  • 未提供安全与隐私相关文档。
  • 依赖外部资源,需注意可用性。
证据充分度:低 评估于 2026年8月9日 审查版本 1c4253f6774b
查看完整评分方法 →

常见问题

最小运行需要哪些外部服务?
需要 Serper 用于 Google 搜索、Jina 用于网页抓取和信息提取、E2B 用于代码和文件沙箱,以及一个摘要 LLM 端点。
能否只用 30B 模型?
可以。MiroThinker-1.7-mini 为 30B,README 的 SGLang 示例即使用该模型;完整 1.7 版本为 235B。
为什么有 max200 和 max300 两个 1.7 配置?
max200 是大多数任务和除 BrowseComp 系列外的列出基准的推荐配置;BrowseComp 与 BrowseComp-ZH 的复现说明要求 max300。
评测失败时先检查什么?
确认当前目录为 apps/miroflow-agent,执行过 uv sync,.env 中已填写所需变量,并检查 logs/ 目录和相应的 check_progress 脚本。
在 GitHub 查看 ↗ 安装 ↓

相关 Agents