Feynman—证据驱动的 AI 研究代理

文章目录

  • [Feynman --- 证据驱动的 AI 研究代理](#Feynman — 证据驱动的 AI 研究代理)
    • 一、项目介绍
    • 二、核心功能
      • [2.1 十大研究工作流](#2.1 十大研究工作流)
      • [2.2 四大子代理](#2.2 四大子代理)
      • [2.3 工具与集成](#2.3 工具与集成)
      • [2.4 模型支持](#2.4 模型支持)
    • 三、主要的运行逻辑
      • [3.1 Pi 运行时------Feynman 跑在什么上面](#3.1 Pi 运行时——Feynman 跑在什么上面)
      • [3.2 以 /deepresearch 为例------完整执行步骤](#3.2 以 /deepresearch 为例——完整执行步骤)
      • [3.3 其他工作流的执行逻辑](#3.3 其他工作流的执行逻辑)
    • 四、如何设计提示词
      • [4.1 第一层:系统提示词(.feynman/SYSTEM.md)](#4.1 第一层:系统提示词(.feynman/SYSTEM.md))
      • [4.2 第二层:子代理提示词(.feynman/agents/)](#4.2 第二层:子代理提示词(.feynman/agents/))
      • [4.3 第三层:工作流提示词模板(prompts/*.md)](#4.3 第三层:工作流提示词模板(prompts/*.md))
      • [4.4 技能提示词(skills/*/SKILL.md)](#4.4 技能提示词(skills/*/SKILL.md))
      • [4.5 提示词设计的整体哲学](#4.5 提示词设计的整体哲学)
    • [五、Feynman 能不能自己做实验?不只是查论文](#五、Feynman 能不能自己做实验?不只是查论文)
    • [六、三者对比:Feynman vs AutoResearchClaw vs ML-Intern](#六、三者对比:Feynman vs AutoResearchClaw vs ML-Intern)

Feynman --- 证据驱动的 AI 研究代理

一、项目介绍

Feynman 是一个开源的 AI 研究代理,你可以在终端里用它做学术研究------搜论文、读论文、写文献综述、做同行评审、审计论文和代码的匹配度、甚至自动跑实验循环。

它的核心信条是:证据优先于流畅性(Evidence over fluency) 。普通 AI 聊天机器人会给你一段看起来很顺滑的文字,但里面的数字、结论可能根本没出处。Feynman 不干这事------它产出的每一句话,都必须能追溯到某篇论文、某个官方文档、某个代码仓库,带 URL。如果找不到来源,它会老老实实标上 UNVERIFIED,而不是假装确定。

它不是从零造了个 AI 引擎 。Feynman 跑在 Pi 这个开源 AI 代理运行时上面。你可以把 Pi 理解成"AI 代理的操作系统"------它管代理循环(agent loop)、子代理调度、文件系统工具、会话持久化、终端 UI 渲染、模型路由这些底层能力。Feynman 在 Pi 上面加了一层学术研究专用东西:AlphaXiv 论文搜索工具、10 个研究工作流、4 个专职研究子代理。就像你在 Linux(Pi)上跑了一个研究专用应用(Feynman)。

Feynman 用 alphaXiv 做学术论文搜索和问答。alphaXiv 是一个面向 AI/ML 论文的搜索服务,能搜论文、读论文、对论文提问、读论文关联的 GitHub 代码。


二、核心功能

2.1 十大研究工作流

你可以在终端里直接用自然语言提问,也可以用斜杠命令触发专门的工作流:

命令 它到底干什么
/deepresearch <主题> 旗舰工作流。多代理并行搜论文+搜网页,读源材料,提取发现,综合成带引文的研究简报,最后验证引文。
/lit <主题> 文献综述。搜论文,梳理领域里大家共识是什么、争议在哪里、还有哪些没研究清楚的。
/review <文档> 模拟同行评审。像审稿人一样逐条检查方法论、证据支撑、可复现性,按严重程度分级(致命/重大/次要)。
/audit <论文名> 论文 vs 代码审计。拿论文里声称的东西和它 GitHub 代码里实际实现的对,找出不匹配。
/draft <主题> 写论文草稿。从已有研究产出写一篇结构化的学术草稿。
/autoresearch <想法> 自主实验循环。自动提假设→跑实验→分析结果→决定继续还是转向,适合调参、prompt 优化这类需要反复试的任务。
/compare <主题> 来源比较。多个来源对同一主题的说法放一起比,哪些一致哪些矛盾。
/replicate <论文> 复现实验。在本地或云 GPU 上复现论文的实验。
/watch <主题> 定期监控。定期搜这个主题的新进展。
/summarize <来源> 摘要。对长文档做分层摘要。

2.2 四大子代理

Feynman 有四个专职子代理,工作流自动调度它们,你不用手动调用:

Researcher(研究者) --- 搜集证据的人。

  • 它搜学术论文(通过 alphaXiv)和网页(通过 Exa/Perplexity/Gemini),读源材料,提取关键发现。
  • 搜索策略是"先宽后窄":先用短的宽泛查询找方向,评估后逐步缩小。
  • 多个 researcher 可以并行跑,各搜不同角度(比如一个搜奠基性论文,一个搜最新挑战性工作)。
  • 严格戒律:不伪造来源、不声称没检查过的东西存在、不外推没读过的内容、每个证据必须带 URL。

Reviewer(审稿人) --- 模拟严格但建设性的同行评审。

  • 从六个维度评估:声明 vs 证据、方法论、实验设计、可复现性、写作质量、完整性。
  • 每条反馈标严重度:Critical(致命,结论不可靠)、Major(重大,缺基线/消融)、Minor(改进建议)、Nit(格式)。
  • 对每个评估给置信度:明确错误高置信,合理争议低置信。

Writer(写作者) --- 把原始研究笔记变成结构化文档。

  • 只从已有的证据写作,不自己编,不做"审美清洗"把缺失证据光滑掉。
  • 不加引文(这活留给 Verifier),不加 Sources 节。

Verifier(验证者) --- 质量把关。

  • 把草稿里每个事实性声明锚定到具体来源,验证每个 URL 是否可达、是否真支持那个声明。
  • 找到误引(引了但原文说的不是那个意思)、夸大(声称比原文更强的结论)、无源声明直接删除。
  • 诚实标记:确认不了的标 UNVERIFIED,不假装验证过了。

2.3 工具与集成

工具 干什么
AlphaXiv 搜论文、读论文、对论文提问、写注释、读论文关联代码
Web 搜索 Perplexity / Exa / Gemini 三选一,搜网页
Docker 隔离容器跑实验,安全
Modal 无服务器 GPU,适合短时训练/推理
RunPod 持久 GPU Pod,SSH 访问,适合长时间实验
Session Search 在历史会话里搜之前的研究
Memory 跨会话记住你的偏好和修正
Charts / Mermaid 画图表和流程图
Zotero 文献管理

2.4 模型支持

Feynman 支持几乎所有主流 AI 模型:Anthropic Claude、OpenAI GPT、Google Gemini,以及 Z.AI/GLM、MiniMax、Kimi、xAI、Groq、Mistral、Cerebras 等。还支持 6 级 Thinking Level(推理深度),从 offxhigh


三、主要的运行逻辑

3.1 Pi 运行时------Feynman 跑在什么上面

Pi 是什么? Pi 是一个开源的 AI 代理运行时(你可以类比成 AI 代理的操作系统)。它提供:

  • 代理循环(agent loop):接收用户输入 → 调用 LLM → 解析工具调用 → 执行工具 → 把结果喂回 LLM → 重复,直到 LLM 给出最终回复。
  • 子代理调度:主代理可以 spawn 子代理,子代理独立跑在自己的上下文里,结果通过磁盘文件交接。
  • 文件系统工具:读写文件、搜索代码、执行命令行。
  • 会话持久化:聊天记录保存到磁盘,可以恢复。
  • 终端 TUI:漂亮的终端界面渲染。
  • 模型路由:多个模型提供商的统一接口,自动路由。
  • 扩展/技能/提示词模板加载:通过声明式配置加载自定义工具、工作流、技能。
  • 包管理:Pi 有自己的包生态(pi-subagents、pi-web-access 等),Feynman 用这些包获得能力。

"Feynman 跑在 Pi 上"是什么意思? 就是 Feynman 自己不写代理循环、不写 TUI、不写模型路由这些底层东西。它做的是:

  1. 在 Pi 启动时注入自己的系统提示词(告诉 AI "你是研究代理,要证据优先")
  2. 注册自己的工具(AlphaXiv 的 6 个工具)
  3. 注册自己的工作流提示词模板(10 个斜杠命令)
  4. 注册自己的子代理定义(researcher/reviewer/writer/verifier)
  5. 注册自己的技能包(20 个研究技能)
  6. 对 Pi 做一些 monkey-patch 微调行为

用户在终端输入 feynman,实际启动的是 Pi 的代理循环,只不过加载了 Feynman 的定制配置。你可以理解成:Pi 是引擎,Feynman 是装在引擎上的研究专用车身。

3.2 以 /deepresearch 为例------完整执行步骤

这是 Feynman 的旗舰工作流,最能体现它的运行逻辑:

复制代码
你输入: /deepresearch "transformer 的 scaling laws"

第 1 步:制定计划(Plan)

  • 主代理根据你的主题,生成一份研究计划:要回答哪些关键问题、用什么来源策略、搜几个角度、预估规模。
  • 计划写到 outputs/.plans/ 目录。
  • 暂停,等你确认。你可以修改计划再让它跑。这防止方向跑偏。

第 2 步:搜集证据(Gather)

  • 主代理根据计划,派出 researcher 子代理。
  • 如果主题比较宽,会并行派多个 researcher,各搜不同角度。
  • 每个 researcher 先搜 AlphaXiv 论文,再搜网页,先宽后窄。
  • 找到论文/文章后,读摘要评估相关性,挑最值得深读的读全文。
  • 提取关键声明、方法、结果、局限性,每项标来源。
  • 结果写到磁盘文件(<slug>-research-papers.md<slug>-research-web.md)。

第 3 步:综合写作(Draft)

  • 派出 writer 子代理,读 researcher 写的文件。
  • Writer 把零散的研究笔记组织成结构化文档:背景、关键发现、开放问题。
  • 只用已有的证据写,不自己编,不做"审美清洗"。
  • 草稿写到 outputs/.drafts/

第 4 步:引文验证(Cite)

  • 派出 verifier 子代理,读草稿。
  • 对每个事实性声明,找到研究文件中对应的来源,加行内引文。
  • 逐个验证 URL:能访问吗?内容还相关吗?有没有死链?
  • 无来源的声明直接删掉。
  • 构建 Sources 节(编号列表和行内引文一一对应)。
  • 输出到 <slug>-brief.md

第 5 步:同行评审(Review)

  • 派出 reviewer 子代理,读带引文的简报。
  • 逐条评估:声明有没有证据支撑、方法论严谨不严谨、实验设计有没有漏洞、能不能复现、写作清晰不清晰。
  • 每条反馈标严重度(Critical/Major/Minor/Nit)和置信度。
  • 输出到 <slug>-review.md

第 6 步:交付(Deliver)

  • 主代理综合评审反馈,修正致命问题。
  • 最终报告写到 outputs/<slug>.md
  • 同时写一个 .provenance.md 副件,记录来源统计和验证状态(比如引用了多少篇论文、验证通过率多少、哪些没验证)。
  • 更新 CHANGELOG.md

降级处理 :如果中间某步工具挂了(比如 AlphaXiv 搜不了了),Feynman 不会直接崩溃。它会继续跑,但在产出里标 BLOCKEDUNVERIFIED,让你知道哪些部分受了影响。

3.3 其他工作流的执行逻辑

/lit(文献综述):和 deepresearch 类似,但输出结构不同------重点是梳理"共识、争议、开放问题、时间线",而不是一份研究简报。优先找综述论文、高引奠基性工作、最新前沿。

/review(同行评审):直接派出 researcher 搜相关背景,然后 reviewer 对目标文档做六维评估,输出严重度分级反馈 + 修订计划。

/audit(论文-代码审计):researcher 读论文提取声明,verifier 对比代码实现,逐项检查超参、架构、训练流程、评估指标是否匹配,标出不一致的地方。

/autoresearch(自主实验循环) :不搜论文,而是自动跑实验。循环:提假设 → 设计实验 → 执行 → 分析结果 → 和前一轮比 → 决定继续/变体/转向。每轮都记录做了什么、结果怎样、当前最优是什么,避免重复失败的方向。后台运行,你可以 /jobs 查进度。

/compare(来源比较):researcher 搜多个来源,verifier 验证,然后对比哪些说法一致、哪些矛盾、证据强度如何。


四、如何设计提示词

Feynman 的提示词设计是它最核心的工程,分三层:系统提示词(全局行为规则)、子代理提示词(各代理的职责和戒律)、工作流提示词模板(触发哪个流水线、怎么跑)。

4.1 第一层:系统提示词(.feynman/SYSTEM.md)

这是全局指令,告诉 AI "你是什么、你怎么做事"。核心规则:

  1. 证据优先于流畅性 --- 偏好论文、官方文档、数据集、代码等一手来源,而不是凭训练数据编。
  2. 分离观察与推断 --- 直接读到的和推断的必须区分标注。
  3. 明确陈述不确定性 --- 不确定时标 BLOCKED / UNVERIFIED / INFERRED,不假装确定。
  4. 工具使用规则 --- 学术话题用 alphaXiv,时事/非学术用 web_search,混合话题两个都用。
  5. 子代理调度规则 --- 大任务拆给子代理,长任务后台跑,深度研究先计划再批量再综合再验证。
  6. 溯源规则 --- 禁止伪造实验数据,每个定量声明必须有源 URL,不声称 verified 除非真验证了。
  7. 默认工作流 --- 澄清目标 → 搜一手来源 → 读最相关的 → 综合共识/分歧/缺口 → 可选做实验 → 写产出。

4.2 第二层:子代理提示词(.feynman/agents/)

每个子代理的提示词都定义了 YAML frontmatter(name、description、thinking level、可用工具、输出文件名)+ 正文(职责、戒律、输出格式)。

关键设计思路

  • 职责严格分离:Researcher 只搜不写,Writer 只写不搜不引,Verifier 只验证引文,Reviewer 只评审。各自不越界,减少出错。
  • 戒律(integrity injunctions)比指令更重要:每个代理的第一优先级不是"做好任务",而是"不做假"。Researcher 的第一戒律是"永不伪造来源",Writer 的是"只从已有证据写作"。这比任何正面的"写得好"的指令都靠前。
  • 工具集精确控制:Writer 没有搜索工具------它只能读已有文件、写文件,这从工具层面就不可能让它凭空编造。Verifier 有搜索工具------它需要验证 URL 可达性。
  • Thinking Level 分级 :Researcher 和 Reviewer 用 high(需要深度推理),Writer 和 Verifier 用 medium(侧重结构化输出和验证逻辑,不需要太发散)。
  • 文件交接而非上下文传递:子代理之间不把大量中间结果塞进聊天上下文,而是写到磁盘文件,下一个代理读文件。这避免了上下文爆炸。

4.3 第三层:工作流提示词模板(prompts/*.md)

每个斜杠命令对应一个 .md 文件,定义这个工作流怎么跑。

结构:YAML frontmatter(description、args、section、topLevelCli)+ 正文(分步指令)。

核心设计模式

模式 解释
Plan → Gather → Draft → Cite → Review → Deliver 六步流水线,每步派不同代理,逐步从原始证据走向验证过的最终产出
强制确认点 Plan 之后必须等用户说"继续"才往下跑,防止 AI 跑偏了还一口气跑完
文件交接 子代理写文件到磁盘,下一个子代理读文件,不在聊天上下文里塞大块中间结果
降级容错 工具挂了不崩溃,产出带 BLOCKED/UNVERIFIED 标记的部分结果
溯源副件 每个最终产出旁边有个 .provenance.md,记录来源统计和验证状态
slug 命名 文件名从主题派生(如 scaling-laws),不同研究不会文件名冲突

4.4 技能提示词(skills/*/SKILL.md)

20 个技能包,每个是独立的 SKILL.md 文件。和子代理不同,技能不是专职代理,而是"知识片段"------告诉 AI 什么时候该用什么工具、怎么用。比如 deep-research/SKILL.md 告诉 AI 深度研究的触发条件和操作步骤,docker/SKILL.md 告诉 AI 怎么用 Docker 跑实验。

4.5 提示词设计的整体哲学

Feynman 的提示词工程有一个贯穿始终的思想:对 AI 诚实性的不信任,用制度来弥补

  • 不信任 AI 会自觉加引文 → 用 Verifier 代理专职做引文验证
  • 不信任 AI 不会编造来源 → 每个 Researcher 戒律第一条就是"永不伪造",且要求每个证据带 URL
  • 不信任 AI 会自己发现错误 → 用 Reviewer 做对抗审查
  • 不信任 AI 会承认不确定 → 系统提示词强制要求标 UNVERIFIED/BLOCKED/INFERRED
  • 不信任 AI 一口气跑对方向 → Plan 后强制等用户确认
  • 不信任 AI 会验证自己说的 → Verifier 独立验证,不是写草稿的那个代理自己验证

每一层都不信任上一层,用下一个环节来兜底。这就是 Feynman 提示词设计的核心。


五、Feynman 能不能自己做实验?不只是查论文

能,但有限度。 Feynman 不是只能查论文。它的实验能力来自以下途径:

  1. /autoresearch --- 自主实验循环。自动提假设、写实验代码、跑实验、分析结果、决定继续还是转向。这是 Feynman 最接近"自己做实验"的工作流,底层靠 @tmustier/pi-ralph-wiggum 包提供长运行代理循环。
  2. /replicate --- 复现论文实验。可以在本地或云 GPU(Modal/RunPod)上跑。
  3. Docker 沙盒 --- 用 Docker 容器隔离跑实验代码。
  4. Modal / RunPod --- 云 GPU 计算,适合需要 GPU 的训练/推理任务。
  5. 本地命令行 --- Feynman 的 bash 工具可以直接执行 Python 脚本。

但它不是端到端的"从想法到论文"流水线。Feynman 的实验是辅助性的------你给它一个研究方向,它可以搜论文、写综述、验证引文,中间穿插一些实验来验证假设。但它不会像 AutoResearchClaw 那样从零开始自动生成实验代码、自动跑完整实验、自动写 LaTeX 论文、自动导出 deliverables。Feynman 更偏"研究助手",不是"全自动论文工厂"。


六、三者对比:Feynman vs AutoResearchClaw vs ML-Intern

数据来源:各项目 GitHub README 及官方文档,截至 2026 年 5 月。

维度 Feynman AutoResearchClaw ML-Intern
一句话定位 证据驱动的研究助手终端 全自动"从想法到论文"流水线 HuggingFace 生态的 ML 工程师代理
GitHub Stars 6.2k 11.9k 8.5k
技术栈 TypeScript (跑在 Pi 运行时上) Python (独立流水线) Python (smolagents + litellm)
许可证 MIT MIT 无明确 license 文件
核心目标 搜论文、读论文、写带引文的研究简报/文献综述 给一个想法,自动出完整论文(LaTeX + BibTeX + 实验 + 图表) 读论文、训练模型、部署模型到 HuggingFace
能查论文吗? ,主力功能。通过 alphaXiv 搜/读/问答论文,Web 搜索补全 ,通过 OpenAlex + Semantic Scholar + arXiv,4 层引文验证 ,内置 HF 文档/论文搜索工具
能自己做实验吗? 有限能/autoresearch 可循环跑实验,/replicate 可复现,Docker/Modal/RunPod 跑代码,但不是端到端自动 能,这是核心卖点。23 阶段流水线自动生成实验代码、沙盒执行、自修复、自动调参、PIVOT/REFINE 循环 能,这是核心卖点。直接调 HuggingFace 的训练/推理 API,可以 fine-tune 模型、推到 Hub、管理 Jobs
能写论文吗? 写研究简报/文献综述/草稿,不生成 LaTeX 能,端到端。生成 NeurIPS/ICML/ICLR 格式 LaTeX + BibTeX + 图表,compile-ready 不写学术论文,写 ML 代码
子代理架构 4 个专职代理:Researcher / Writer / Verifier / Reviewer,严格职责分离 流水线式 23 阶段 8 阶段组,有 CodeAgent / BenchmarkAgent / FigureAgent 子系统 单代理 + ToolRouter,无专职子代理,工具路由统一调度
引文验证 最强 。Verifier 代理逐条验证 URL、含义、死链,产出带 .provenance.md 4 层验证(arXiv → CrossRef → Semantic Scholar → LLM 相关性评分),伪造引文自动删除 无专门引文验证机制
同行评审 。Reviewer 代理六维评估 + 严重度分级 + 置信度评分 。Stage 18 多代理评审 + 4 轮论文质量审计(AI-slop 检测 + 7 维评分 + NeurIPS 检查清单)
人机协作 Plan 后等用户确认;/autoresearch/jobs 监控 6 种 HITL 模式(full-auto / gate-only / checkpoint / co-pilot / step-by-step / custom),SmartPause 自动暂停 代理循环中敏感操作需用户 approval;Doom Loop Detector 防循环卡死
自学习/进化 无跨会话自学习,有 Memory 持久偏好 。MetaClaw 跨运行学习:失败→结构化教训→技能注入,+18.3% 鲁棒性 会话自动上传到 HF Hub(可分享),但无跨会话学习
模型支持 20+ 提供商(Anthropic/OpenAI/Google/Z.AI 等),6 级 Thinking Level OpenAI-compatible + 多个 fallback + ACP 协议(Claude Code/Codex/Copilot/Gemini CLI/Kimi CLI) Anthropic + OpenAI,通过 litellm 路由
云 GPU Modal(无服务器)+ RunPod(持久 Pod) Docker 沙盒 + SSH 远程 GPU + 硬件自适应(CUDA/MPS/CPU) HuggingFace Spaces/Docker,依赖 HF 生态
输出格式 Markdown 研究简报 + provenance 副件 LaTeX 论文 + BibTeX + 实验代码 + 图表 + 评审报告 + deliverables 目录 代码 + 模型推到 HF Hub
论文搜索源 alphaXiv(AI/ML 专用)+ Web OpenAlex + Semantic Scholar + arXiv(跨学科) HuggingFace Papers + 文档
适合谁用 需要可靠研究简报/文献综述的学者、研究者 想从想法自动生成完整论文的人 想快速 fine-tune/部署模型的 ML 工程师

核心区别总结

Feynman 的差异化优势:引文验证最严格(Verifier 代理 + provenance 副件),子代理职责分离最清晰,学术研究辅助最专业。它不追求全自动,追求的是"产出的每句话都有出处"。

AutoResearchClaw 的差异化优势:唯一做到"给想法→出完整论文"端到端全自动。23 阶段流水线、自修复实验、PIVOT/REFINE 决策循环、MetaClaw 跨运行学习。代价是复杂度高,输出更"自动化"但可控性弱于 Feynman。

ML-Intern 的差异化优势:和 HuggingFace 生态深度绑定。直接访问 HF 文档、数据集、模型、Jobs、Spaces。如果你要在 HF 上 fine-tune 和部署模型,ML-Intern 最顺手。但它不做学术写作和引文验证。

  • 写可靠的文献综述 / 研究简报 → Feynman(引文验证最强)
  • 从想法全自动出一篇论文 → AutoResearchClaw(端到端流水线)
  • 训练和部署 ML 模型 → ML-Intern(HF 生态最顺)
  • 做论文 vs 代码的审计 → Feynman(独有的 /audit)
  • 反复实验调参 → AutoResearchClaw 或 Feynman 的 /autoresearch(前者更端到端,后者更轻量可控)
  • 复现别人的论文实验 → Feynman(/replicate)
相关推荐
冬奇Lab1 小时前
一天一个开源项目(第66篇):awesome-design.md - 让 AI 助你打造像素级 UI 的设计规范
人工智能·ui·设计规范
小姑爷1 小时前
微信4.1.5.16 UI树“消失”?UIAutomation实战复现+AI驱动RPA落地方案
人工智能·ui·微信
欧雷殿1 小时前
跨设备自动化:家庭 AI 工作台的首个小目标
后端·agent·aiops
DigitalOcean1 小时前
AI变智能体,传统云不够用了:成本降67%,延迟降40%的新解法
aigc·agent
Java技术小馆1 小时前
为什么你的 AI 效率没翻倍?避开这 5 个落地深坑
人工智能
贫民窟的勇敢爷们1 小时前
qBittorrent:37k 星的开源 BT 客户端,如何用 C++ 打造无广告的 P2P 下载神器】
人工智能
lizhihai_991 小时前
股市学习心得—商业航天10大核心材料供应商
大数据·人工智能·学习
Peter·Pan爱编程1 小时前
第四篇:Cursor 深度评测 —— Composer 模式下的全栈 vibe 体验
人工智能·ai编程·composer
好运的阿财2 小时前
OpenClaw工具拆解之memory_search+memory_get
人工智能·python·ai编程·openclaw·openclaw工具