返回学习园地
第 8 / 8 课22 分钟阅读

多智能体团队:花园 Agent 实战手册

多智能体协作的理论,加上六个具体的花园 Agent 实战配方:生图、资讯、投资、开发、社区和写作。

目录

花园多智能体团队概览

花园多智能体团队概览 — OpenClaw screenshot
花园多智能体团队概览 — OpenClaw screenshot

先上一张全景图,让你对我的 Agent 团队有个整体印象:

花园多智能体团队概览 — OpenClaw screenshot
花园多智能体团队概览 — OpenClaw screenshot

七个 Agent,十几个使用场景,覆盖了我日常工作和生活中最高频的需求。

每个 Agent 都绑定了一个独立的飞书 Bot,这意味着我可以在飞书里直接跟任何一个助手对话 — 想生图就找生图助手,想查股票就找投资助手,就像在一个公司群里 @不同的同事一样自然。

你可能会问:这六个 Agent 是怎么选出来的?

答案是:不是设计出来的,是用出来的。

我从自己日常最高频的需求出发,一个一个搭建、一个一个迭代。

每搭建一个新 Agent,我的经验就多一分,下一个就搭得更快、配得更好。

下面我简单介绍一下每个 Agent 的定位和核心价值。

花园生图助手

日常写文章需要配图、做 PPT 需要插画、写方案需要说明技术架构,我都直接在飞书里跟它说一句话就行。

它背后接了 Nanobana 和 Seedream 两大模型,出图质量相当不错。关键是,我在它的人设里定义了我的审美偏好,所以它生成的图大部分情况下不用反复调整。

花园生图助手 — OpenClaw screenshot
花园生图助手 — OpenClaw screenshot

花园资讯助手

每天定时自动运行,它帮我从多个信息源抓取 AI 领域的最新动态,然后整理成一份结构清晰的日报,然后帮我智能推送到 Easy AI 网站上。

花园资讯助手 — OpenClaw screenshot
花园资讯助手 — OpenClaw screenshot
花园资讯助手 — OpenClaw screenshot
花园资讯助手 — OpenClaw screenshot

大家现在在 Easy AI 上看到的 AI 日报内容就是花园资讯助手自动抓取并生成的,在没有它之前要靠我每天手动执行脚本。

花园开发助手

在手机上通过飞书就能远程跟 Claude Code 交互。

出门在外突然想到一个 bug 的解法,掏出手机说一句,它就帮你改了。回到电脑前,代码已经帮你写好了。

花园开发助手 — OpenClaw screenshot
花园开发助手 — OpenClaw screenshot

花园投资助手

定位是我的投资分析参谋,帮我拉取个股数据、分析关键走势指标、对比行业趋势,生成买入和卖出建议。

之前花钱才能买到的会员服务,现在直接就能拥有,还能随时调教。

花园投资助手 — OpenClaw screenshot
花园投资助手 — OpenClaw screenshot

花园社区助手

半自动化的社区运营 Agent。在 Moltbook 上定期发内容、回复评论、跟其他 Agent 互动,还能定期总结下社区有啥有意思的观点。

花园社区助手 — OpenClaw screenshot
花园社区助手 — OpenClaw screenshot

花园写作助手

你现在看到的这篇文章,就是我和写作助手一起完成的。它更像是一个写作搭档:能记住我的写作风格、帮我搜索资料、梳理大纲、优化表达、检查逻辑、补充细节。

花园写作助手 — OpenClaw screenshot
花园写作助手 — OpenClaw screenshot

花园智能专家

了解团队所有智能体的人设和技能,当有复杂任务需要所有团队成员来协作执行时,由它来帮我协调完成。

花园智能专家 — OpenClaw screenshot
花园智能专家 — OpenClaw screenshot

为什么不做一个全能 Agent?

看到上面的六个 Agent,你可能会想:为什么不把所有技能塞到一个 Agent 里?

一个"花园全能助手",既能写文章、又能分析股票、还能生图、管 Github,岂不是更方便?

这是一个非常自然的想法,但实践中你会很快遇到问题。

第一,上下文污染

一个 Agent 的上下文窗口是有限的。当你把生图的提示词模板、投资分析的框架、写作的风格指南、Github 的操作说明全部塞进同一个上下文,Agent 的注意力会被严重分散。

第一,上下文污染 — OpenClaw screenshot
第一,上下文污染 — OpenClaw screenshot

你让它写文章,它可能会在行文中不自觉地使用投资分析的术语;你让它分析股票,它可能会用写作的"润色"风格来美化数据 — 这不是你想要的。

第二,技能冲突

不同场景需要的工具和权限完全不同。

开发助手需要 ACP 协议来调度 Claude Code,这个权限对写作助手来说完全多余且有安全风险。

第二,技能冲突 — OpenClaw screenshot
第二,技能冲突 — OpenClaw screenshot

投资助手需要访问 Tushare 的金融数据接口,社区助手需要访问 Moltbook 的 API。

把这些全部开放给一个 Agent,违反了最小权限原则。

第三,人设冲突

一个好的 Agent 需要清晰的身份定义。

第三,人设冲突 — OpenClaw screenshot
第三,人设冲突 — OpenClaw screenshot

投资助手应该严谨、数据驱动、风险意识强;

写作助手应该有温度、有文采、善于结构化表达;

社区助手则可以有趣、有个性、善于社交互动。

这些截然不同的"性格"很难在一个 Agent 身上和谐共存。

所以结论是:专精胜于全能,隔离优于共享。

就像一个高效的团队不是由一个全能的人组成的,而是由若干个各自擅长某个领域的专家组成的。

OpenClaw 的多智能体架构,天然就为这种 "专家团队" 模式而设计。

下面我们来看,搭建 OpenClaw 的多智能体需要的理论知识。

搭建多智能体团队需要的理论知识

一个 Agent 包含哪些核心要素?

从学术界和工程界的共识来看,一个生产级的通用 Agent 由以下 几大核心要素构成:

一个 Agent 包含哪些核心要素? — OpenClaw screenshot
一个 Agent 包含哪些核心要素? — OpenClaw screenshot

模型

LLM 是 Agent 的认知引擎,负责语言理解、推理规划和生成输出。它决定了 Agent 的 "智力天花板"。

记忆

记忆系统让 Agent 从 "无状态的函数" 变成 "可连续工作的助手"。记忆通常分为短期记忆(会话上下文)和长期记忆(跨会话知识持久化)。

人设

定义 Agent 的角色、边界、行为准则和沟通风格,回答同一个问题,一个被设定为「严谨的技术顾问」的 Agent 和一个被设定为「友善的助手」的 Agent,给你的体验完全不同。

工具

Agent 可以调用的外部能力,如代码执行、API 调用、浏览器操控、文件读写。

规划和执行

规划能力使 Agent 能够将复杂任务拆解为可执行的步骤序列,在一些确定的任务场景下,也可以为 Agent 设定固定的工作流程。

运行环境

Agent 需要一个安全、隔离的执行环境。

OpenClaw 中 Agent 的具体构成

OpenClaw 对上述的通用架构做了非常工程化的实现。

模型

在 OpenClaw 中,每个 Agent 可以绑定不同的模型。

OpenClaw 中 Agent 的具体构成 — OpenClaw screenshot
OpenClaw 中 Agent 的具体构成 — OpenClaw screenshot

如我们可以为写作的 Agent 设置擅长聊天的模型(如 openai/gpt-5-4);为开发 Agent 设置擅长编码的模型(如 anthropic/claude-opus-4-6)。

记忆

在 OpenClaw 中,每个 Agent 拥有独立的记忆,包括:

OpenClaw 中 Agent 的具体构成 — OpenClaw screenshot
OpenClaw 中 Agent 的具体构成 — OpenClaw screenshot
  • 短期记忆:当前对话的上下文窗口,包括用户消息和 Agent 回复的历史。
  • 中期记忆:当日或近几日的工作记录。OpenClaw 使用 memory/YYYY-MM-DD.md 格式的日记文件来实现,建议每次会话启动时加载当天和前一天的记忆。
  • 长期记忆:跨会话沉淀下来的用户偏好、关键决策和知识。在 OpenClaw 中对应 MEMORY.md,是经过筛选和整理的核心信息。

人设

在 OpenClaw 里,人设主要通过一组 Markdown 文件来定义:

OpenClaw 中 Agent 的具体构成 — OpenClaw screenshot
OpenClaw 中 Agent 的具体构成 — OpenClaw screenshot
  • SOUL.md:Agent 的「灵魂」,定义它的核心身份和行为准则。这是最重要的一个文件,相当于 Agent 的 System Prompt。比如「你是一位资深的 A 股分析师,风格稳健,偏好价值投资,不做短线推荐」。
  • IDENTITY.md:身份信息,比如名字、角色描述等基础属性。相当于 Agent 的「名片」。
  • USER.md:关于用户(也就是你)的信息。你是谁,你的偏好是什么,你希望 Agent 怎么跟你交流。这个文件特别重要,因为它让 Agent 能「认识」你,知道你的背景和习惯,从而给出更有针对性的回答。

工具

在 OpenClaw 中,可用的工具包括:

  • Core Tools:read/exec/edit/write 等内置工具,始终可用
  • Skills:包括捆绑安装的内置技能(如 Github),和用户自定义拓展的技能(如股票分析)
OpenClaw 中 Agent 的具体构成 — OpenClaw screenshot
OpenClaw 中 Agent 的具体构成 — OpenClaw screenshot

OpenClaw 支持对每个 Agent 独立配置工具的黑白名单,实现细粒度的权限控制。

规划和执行

虽然 Agent 的规划能力主要由 LLM 的推理能力驱动,但也依赖于良好的 Prompt Engineering

在 OpenClaw 中体现为 AGENTS.md 中的操作指令。

OpenClaw 中 Agent 的具体构成 — OpenClaw screenshot
OpenClaw 中 Agent 的具体构成 — OpenClaw screenshot

这个文件定义了 AI 具体 “怎么干活”,是人设落地的执行手册,明确了 AI 处理任务的标准流程、工具使用规则、记忆使用方法,确保 AI 的行为符合你的预期。

运行环境

在 OpenClaw 中,每个 Agent 都有自己独立的 Workspace。你可以把它理解为每个员工的「工位」— 有自己的人设文件、技能和记忆。

~/.openclaw/workspace-xxx/
├── SOUL.md          # Agent 的灵魂
├── IDENTITY.md      # Agent 的身份
├── AGENT.md         # Agent 的工作流程
├── USER.md          # 用户信息
├── MEMORY.md        # 长期记忆
├── memory/          # 中期记忆
│   └── YYYY-MM-DD.md
├── skills/          # 技能目录
│   └── nanobanana/
│       └── SKILL.md

每个 Agent 的 Workspace 完全独立,互不干扰。

OpenClaw 如何配置多 Agent?

要让多 Agent 真正"跑起来",需要明确以下三个问题:

工作环境隔离:谁在哪工作?

为每个 Agent 分配独立的工作空间(Workspace),可以使用向导命令快速创建:

openclaw agents add coding
openclaw agents add social
openclaw agents add research

每个命令会自动创建独立的 workspace(如:.openclaw/workspace-social),并初始化 SOUL.md、AGENTS.md、USER.md 等核心文件。

路由规则:消息发给谁?

下面我们需要给每个 Agent 配一个「对话入口」。

这里你需要先拥有一个完成相关权限配置的飞书 Bot(可以看我前面的详细飞书配置教程)。

在 OpenClaw 配置中我们为每个 Bot 创建一个 account(accounts 中的 key 即是这个 account 的唯一标识,需要记录下来,比如 img、news),填入对应的 AppId 和 AppSecret:

{
   channels: {
     feishu: {
      enabled: true,
      domain: 'feishu',
      mediaMaxMb: 30,
      accounts: {
        img: {
          appId: '你的飞书 Bot appId',
          appSecret: '你的飞书 Bot appSecret',
          botName: '花园生图助手',
        }
      },
      dmPolicy: 'pairing',
    },
  },
}

接下来,你要为每个 agent 和 channel account 对应一个绑定关系,例如:

{
   bindings: [
    {
      agentId: 'img',
      match: {
        channel: 'feishu',
        accountId: 'img',
      },
    }
  ],
}

Agent 和渠道的绑定关系可以配置多种规则,我们这里只介绍最简单的一个 Agent 对应一个飞书 Bot。

通信机制:Agent 之间怎么协作?

在 OpenClaw 中,你可以在一个 Agent 下调用另一个或多个 Agent 的能力一起完成工作。

当一个 Agent 需要调用另一个 Agent 时,OpenClaw 会使用 sessions_spawn 发起调用。这个调用是非阻塞的,发起之后当前 Agent 可以继续做自己的事情。

被调用的 Agent 完成任务后,通过 Announce 把结果「广播」回去。就像你让同事帮忙做一件事,他做完了会主动来告诉你结果。出于安全考虑,你需要明确声明每个 Agent 允许调用哪些其他 Agent:

subagents: {
  allowAgents: ['img', 'writer', 'news'],
}

一份最小的多 Agent 配置示例

{
  agents: { // ========== Agent 定义 ==========
    list: [
      {
        id: 'main',
        workspace: '/Users/conardli/.openclaw/workspace',
        identity: { name: '花园智能总管' },
        subagents: {
          allowAgents: ['img']
        }
      },
      {
        id: 'img',
        workspace: '/Users/conardli/.openclaw/workspace-img',
        identity: { name: '花园生图助手' },
      }
    ],
  },
  bindings: [ // ========== 路由绑定 ==========
    {
      agentId: 'img',
      match: {
        channel: 'feishu',
        accountId: 'img',
      },
    },
  ],
  channels: { // ========== 渠道配置 ==========
    feishu: {
      enabled: true,
      domain: 'feishu',
      mediaMaxMb: 30,
      accounts: {
        default: {
          appId: 'xxx',
          appSecret: '__OPENCLAW_REDACTED__',
          botName: '花园智能总管',
        },
        img: {
          appId: 'xxx',
          appSecret: '__OPENCLAW_REDACTED__',
          botName: '花园生图助手',
        },
      },
      dmPolicy: 'pairing',
    },
  },
}

花园生图助手具体介绍

使用演示

先看一个实际的交互:我在飞书上给花园生图助手发了一句话:

帮我绘制一张手绘简洁风的图片来介绍《Agent 六大要素》,参考信息:xxx
使用演示 — OpenClaw screenshot
使用演示 — OpenClaw screenshot

就这一句话,没有提示词模板、没有参数说明、甚至没有指定使用哪个生图工具。

几秒钟后,Agent 返回了一张精美的手绘风格信息表。

我换了一个风格试试:

帮我绘制一张严谨学术三线表风的图片,参考信息:xxx
使用演示 — OpenClaw screenshot
使用演示 — OpenClaw screenshot

同样的简洁指令,不同的风格关键字。

Agent 自动切换到了对应的提示词模板,生成了一张完全不同风格的图片。

整个过程中,Agent 自动完成了这些步骤:

识别意图(这是一个生图请求,且指定了风格)
  ↓
召回记忆(回忆起「生图时应先检索模板」的工作流) 
  ↓
检索技能(在提示词模板技能的 references/templates.md 中找到对应模板)
  ↓
拼接 Prompt(将模板与用户的内容描述组合成完整的生图提示词) 
  ↓
调用生图工具执行生成。

这就是花园生图助手和普通生图应用的本质区别:

普通应用是无状态的工具,每次使用都从零开始;

OpenClaw 是有记忆的助手,它知道你的偏好、你的模板库、你的工作流程。

搭建思路

市面上不缺优秀的 AI 生图工具,但如果你是一个高频使用者,你一定遇到过这些痛点:

搭建思路 — OpenClaw screenshot
搭建思路 — OpenClaw screenshot
  • 提示词管理:你可能在备忘录里存了十几段不同风格的提示词模板,每次生图前要先翻找、复制、粘贴、替换。时间久了,版本越来越多,哪个是最新的、哪个效果最好,自己都记不清了。
  • 上下文断裂:在普通的生图应用中,每一次生成都是一次性的 — 工具不记得你上次用了什么风格,也不知道你偏好什么色调。你和工具之间没有「默契」,每次都像是第一次见面。
  • 工作流割裂:生图只是你工作流中的一个环节。你可能需要先生成图片,然后插入文档,或者发到群里讨论。但生图应用和你的协作工具(飞书、Slack)之间是割裂的,需要手动来回切换。

花园生图助手的搭建思路就是利用 OpenClaw 的两大核心机制来解决这三个问题:

  • 技能系统(Skills):将多种提示词模板、不同的生图模型都定义为一个可检索的技能,Agent 在需要时自动查阅
  • 长期记忆(Memory):让 Agent 记住「生图时先查模板、再拼接、最后调用生图工具」这套工作流程,后续无需重复说明。

具体配置

生图助手的配置分三步:

第一步,配置生图模型

众所周知,目前业界生图效果最好的模型就是 nanobanana 了,在我的文章中大部分的配图也是由 nanobanana 生成的。

第一步,配置生图模型 — OpenClaw screenshot
第一步,配置生图模型 — OpenClaw screenshot

在 OpenClaw 中已经默认捆绑安装了 nanobanana 的生图技能,不过默认是未启用状态,启用它的前提条件是需要添加一个 GEMINI_API_KEY 的环境变量,配置完成后 OpenClaw 即可发现并调用这个技能。

但是,nanobanana 作为 Google 的旗舰生图模型,价格还是比较贵的,出张高清图要一块左右,普通玩家可能玩不起。

另外,平时也会有一些比较简单的生图需求,所以我推荐大家再配置一个性价比高的国产生图模型,比如我这里额外配置了火山引擎的 Doubao-Seedream 系列,在一些简单场景下还是比较能打的。

我们可以到 clawhub.ai 下找一个支持 Seedream 图片生成的技能,也可以直接让 OpenClaw 根据 Seedream 的 API 自己编写一个,这里我选择的是:https://clawhub.ai/AI-Lychee/doubao-seedream-seedance-skill

第一步,配置生图模型 — OpenClaw screenshot
第一步,配置生图模型 — OpenClaw screenshot

安装完成后,我们只需要在环境变量配置一个火山引擎的 API Key(ARK_API_KEY)即可启用这个技能。

第二步,提示词模板技能

这一步是花园生图助手区别于普通生图工具的核心。

我创建了一个名为 prompt-templates 的自定义技能,结构如下:

  • SKILL.md:说明各模板的使用场景和索引方式
第二步,提示词模板技能 — OpenClaw screenshot
第二步,提示词模板技能 — OpenClaw screenshot
  • references/templates.md:存储所有的提示词模板正文
第二步,提示词模板技能 — OpenClaw screenshot
第二步,提示词模板技能 — OpenClaw screenshot

我把平时常用的「严谨学术三线表风」「模块化信息卡片流风」等风格的完整提示词都存储在了 templates.md 中。

你只需要在对话中告诉 Agent 你想创建这个技能,并把你常用的提示词模板发给它,它会自动帮你完成技能的创建 — 包括生成 SKILL.md 和 references 目录。

第三步,人设和记忆

技能创建好了,但 Agent 还不知道「什么时候该用这些技能」,我们可以通过约束来让它记住后续的工作流程,比如:

请你记到长期记忆,如果后续用户要求生图时,指定了一个图片风格,先到 prompt-templates 技能检索出符合要求的提示词,再用这个模板拼接用户要生成的内容组成一个完整的生图提示词,再调用生图技能。

核心还是定义好下面三个文件,由于篇幅原因我这里就不贴完整的文件内容了,核心的定义思路可以分享给大家:

第三步,人设和记忆 — OpenClaw screenshot
第三步,人设和记忆 — OpenClaw screenshot

SOUL.md:用于定义这个生图助手的“灵魂”和核心行为方式。这里主要配置助手的身份定位(花园生图助手:世界顶级的 AI 绘画提示词工程师与视觉设计师)、沟通语气、审美标准、提示词生成原则、生图时的执行规则,以及必须遵守的安全边界。比如:默认用中文回复、如何理解用户需求、生成图片时优先使用什么模型、用户没说风格时是否要主动判断并直接生成、哪些内容不能做等。可以把它理解为这个助手的人设说明书和最高级行为准则。

AGENTS.md:用于定义这个生图助手的 “工作流程” 和日常运行方式。这里主要配置助手每次启动后先读哪些文件、如何组织会话中的工作顺序、哪些事情可以直接执行、哪些事情必须先询问用户、如何处理群聊或外部交互、以及如何维护日常记录和长期记忆。它更像是这个助手的操作手册,决定了助手在真实使用场景中怎么行动、怎么协作,以及怎么避免越界。

MEMORY.md:用于沉淀这个生图助手的 “长期记忆” 和稳定偏好。这里适合记录用户反复出现的审美倾向、常用风格、偏好的画幅比例、常见提示词写法、项目背景、输出习惯,以及多轮使用后总结出的固定规则。它不是临时任务记录,而是面向长期复用的经验库。配置得越清晰,助手后续生成的图片就越能贴近用户口味,也越不需要每次从头解释。

花园资讯助手具体介绍

使用演示

每天下午一点左右,我的飞书会准时收到一份已经分析好的 AI 日报 — 完全自动化,零人工干预。

使用演示 — OpenClaw screenshot
使用演示 — OpenClaw screenshot

这份日报的内容来自 AI News 的邮件订阅。

Agent 自动完成了这些工作:

检查邮箱里是否有新的 AI News 邮件
  ↓
如果有,读取邮件内容并写入本地
  ↓
调用分析脚本生成符合 EasyAI 要求的结构化日报
  ↓
推送到 EasyAI
  ↓
将日报关键信息总结后发送给我。
使用演示 — OpenClaw screenshot
使用演示 — OpenClaw screenshot

https://mmh1.top/#/ai-daily/2026-03-17

目前你在 EasyAI 网站看到的 AI 日报都是 OpenClaw 自动抓取并生成的。

搭建思路

这个 Agent 的诞生源于一个我遇到的实际痛点。

我运营的 EasyAI 项目中有一个 AI 日报模块:

搭建思路 — OpenClaw screenshot
搭建思路 — OpenClaw screenshot

https://mmh1.top/#/ai-daily

这个日报的内容是对 news.smol.ai 中的内容进行二次加工而来。

所以我需要定期去这个网站看下有没有更新,如果有,把内容复制下来,调用脚本进行二次分析生成结构化数据,然后再手动上传到我的网站上,相关脚本在这:

https://github.com/ConardLi/easy-learn-ai/tree/main/scripts

所以我的诉求很简单,让 OpenClaw 来帮我完成这件事,搭建思路大概是这样的:

  1. 邮箱订阅 news.smol.ai,可以及时感知最新更新
  2. 邮箱接入:让 OpenClaw 能读取邮件
  3. 分析处理:读取邮件正文 → 调用本地脚本生成结构化日报
  4. 流程自动化:定时任务 + 防重复优化

具体配置

第一步:邮箱技能安装

Clawhub 上有很多邮箱相关的技能如 Outlook、163、QQ 邮箱等,包括 OpenClaw 也捆绑安装了可以访问 Gmail 的技能。

但是还是建议大家不要选择固定某个类型邮箱的技能,因为这类技能往往授权流程复杂,而且无法通用。大家可以直接安装一个支持 IMAP 协议的技能。

第一步:邮箱技能安装 — OpenClaw screenshot
第一步:邮箱技能安装 — OpenClaw screenshot

IMAP 是一个通用的邮件接收协议,用于从邮件服务器读取、管理邮件。

我们这里选择安装 imap-smtp-email 技能:

第一步:邮箱技能安装 — OpenClaw screenshot
第一步:邮箱技能安装 — OpenClaw screenshot

我们这里以 QQ 邮箱为例,接下来需要做的配置是:

第一步:邮箱技能安装 — OpenClaw screenshot
第一步:邮箱技能安装 — OpenClaw screenshot
  1. 登录 QQ 邮箱 → 账号与安全 → 安全设置 → 开启「POP3/IMAP/SMTP/Exchange/CardDAV 服务」
  2. 生成授权码并保存
  3. 将下面的环境变量加入 OpenClaw 的配置模块
第一步:邮箱技能安装 — OpenClaw screenshot
第一步:邮箱技能安装 — OpenClaw screenshot

配置完成后,Agent 就能按条件检索邮件(按发件人、标题关键字、时间范围筛选),也能读取邮件正文。

第二步:分析脚本配置

我们之前已经有一个内容的分析脚本负责完整的日报生成流程:

从 https://news.smol.ai/ 获取日报内容 
  ↓
提取 HTML 中的文本
  ↓
读取 prompt.md
  ↓
调用 LLM 生成结构化数据
  ↓
格式化为 Markdown
  ↓
保存日报文件
  ↓
生成标题和标签
  ↓
更新 dailyData.json。

这个脚本的问题是需要先从远程 URL 拉取,具体代码大家可以看:

https://github.com/ConardLi/easy-learn-ai/blob/main/scripts/index.js

因此我们优化一下脚本改为从本地文件读取(此步也让 OpenClaw 完成),更改后的流程为:

读取本地 JSON 文件
  ↓
提取 text 字段
  ↓
... 和上述流程相同

为了让 Agent 能将邮件内容传递给脚本,我还让 OpenClaw 帮我在 imap-smtp-email 技能中增加了一个 fetch-to-file 方法,在获取到邮件后直接写入上面的脚本可以读取到的目录。

第三步:制定分析流程

接下来,我们为 Agent 设定一个稳定的工作流程,让它记录到自己的长期记忆中:

你是一个专用于从邮件中分析 AI 资讯的智能分析师,你的名字叫花园资讯助手。

当用户发出要分析 AI 资讯/生成 AI 日报相关的指令时,你需要完成下面的流程:

1. 先看本地有没有已经生成好的日报,如果有,就直接读取并总结
2. 调用 imap-smtp-email 技能,从用户的邮箱中检索标题中带有 AI News 的邮件
3. 调用 fetch-to-file 指令,把邮件内容写入本地目录
4. 执行 xxx Node.js 分析脚本,传入日期参数,获得结构化后的日报数据
5. 将生成的变更通过 git 提交并推送到远程(EasyAI 会自动部署)
6. 读取生成的日报内容,总结关键信息,发送到飞书

然后它会在长期记忆中建立一个非常详细的工作流程:

第三步:制定分析流程 — OpenClaw screenshot
第三步:制定分析流程 — OpenClaw screenshot

第四步:设置定时任务

让 Agent 创建一个每天执行的定时任务,自动执行上述流程。

第四步:设置定时任务 — OpenClaw screenshot
第四步:设置定时任务 — OpenClaw screenshot

配好之后什么都不用管了,每天下午飞书里准时出现 AI 行业日报。

花园投资助手具体介绍

使用演示

我我们可以让花园投资助手执行一个真实的投资分析任务:

全面分析一下比亚迪,给出当前具体的投资建议
使用演示 — OpenClaw screenshot
使用演示 — OpenClaw screenshot

几分钟后,它返回了一份极其完整的研究报告,内容包括:

  1. 公司基本面:结合业务结构、盈利能力、成长性、现金流、财务安全(负债率、库存),判断公司核心质地、经营韧性与潜在经营风险。
  2. 估值与股价位置:通过PE/PB/PS估值水平、近1/3/5年股价历史分位,评估当前性价比与赔率,判断是否具备配置价值。
  3. 筹码与风险层面:依据股东结构、筹码散户化程度、增减持、股权质押、公司回购,判断筹码稳定性、短期抛压与内部信心信号。
  4. 资金面与机构预期:参考主力资金流向、机构调研热度、券商研报一致预期,判断市场资金态度与主流投资预期。
  5. 技术面走势:结合股价趋势、关键高低位、成交量与换手率,判断股价处于底部修复还是趋势反转阶段。
  6. 量化综合评分:对基本面、估值、筹码、资金、趋势五大维度加权打分,按分数区间映射「买入/观察/减仓/卖出」的标准化操作建议。
  7. 风险匹配与投资者适配:结合行业价格战、库存、成长不及预期等核心风险,匹配适合的投资者类型,给出持仓/未持仓的差异化操作方案。

这种深度的分析,如果手动去做,至少需要半天时间在各种财经网站之间来回切换,或者花钱去买付费的会员服务,现在只需要一句话就搞定了。

搭建思路

如果你有关注股票市场的习惯,一定深有体会:每天要看的信息太多了。

财报数据、行业新闻、技术指标、机构研报……

光是把这些信息搜集齐全,就已经耗费了大量精力,更别说还要从中提炼出有价值的判断。

我的投资助手要做的事情很简单 — 帮我跑数据、整报告。

我给它一个股票代码或公司名称,它帮我把基本面信息拉出来,整理成一份结构化的分析简报。

省下来的时间,我可以专注在策略思考和最终决策上。

投资分析的核心挑战不是「能不能拿到数据」,而是「拿到数据后怎么分析、以什么框架分析、输出什么格式、遵守什么底线」。

所以投资助手是我搭建的所有 Agent 中人设最「重」的一个。因为投资领域的特殊性,你不希望 AI 给你编造数据或者过度乐观 — 一个不靠谱的投资建议可能导致真金白银的损失。

OpenClaw 的人设系统让我们可以精确定义 Agent 的行为边界 — 数据驱动、多维分析、风险第一、保持中立、免责声明...

OpenClaw 的技能系统则负责提供大量专业金融接口的分层数据获取能力,另外可以根据你平时的投资风格定制一套全面且严谨的分析框架。

两者结合的效果是:一个既有专业判断框架、又有数据获取能力的分析师。

具体配置

第一步:数据获取技能

投资助手的核心数据获取能力来自两个 Skill:

  1. a-stock-analysis(https://clawhub.ai/CNyezi/a-stock-analysis)

这是一个基于新浪财经 API 的轻量级分析工具,完全免费,开箱即用。它能获取:股票实时行情与历史 K 线、 基本财务指标、简单的技术分析信号。

对于日常快速查看个股概况来说,这个 Skill 已经够用了。

  1. tushare-data(https://clawhub.ai/lidayan/tushare-data)

如果你想要更专业、更全面的金融数据,tushare-data 是一个强大的选择。Tushare 是国内知名的金融数据接口平台,提供了 225+ 个专业级的金融 API。

第一步:数据获取技能 — OpenClaw screenshot
第一步:数据获取技能 — OpenClaw screenshot

使用 tushare-data 前提需要注册 Tushare 账号并获取 API Token(大家按需选择,此处不构成建议)。

第二步:综合分析技能

光有了分析数据还不够,投资助手还得知道具体要怎么分析,以什么样的方式给出结论。

所以我调研了一些比较主流的分析方法,并且结合我的一些个人风格,建立了一个 stock-investment-report 技能,它由三个文件构成:

第二步:综合分析技能 — OpenClaw screenshot
第二步:综合分析技能 — OpenClaw screenshot

SKILL.md:规定了完整的执行流程:先读取分析框架,再调用 Tushare 获取数据,然后按评分体系做分析,最后输出结构化报告。本质上是在定义:这个技能的定位、触发场景和总流程。

references/investment_framework.md:相当于投研方法论手册。它会明确列出,做一份个股投资报告时需要看哪些数据:公司基本信息、行情和估值、财务报表、股东结构、资金流向、机构预期、风险事件等等。更重要的是,它不只是罗列数据,而是进一步规定了评分体系,也就是从哪些维度来判断一只股票好不好,比如基本面质量、估值与性价比、筹码与风险、资金与预期、趋势与位置,每一部分占多少分、总分落在哪个区间分别意味着买入、观察、减仓还是回避。这个文件的核心作用是:负责定义分析标准和决策逻辑。

investment_report_template.md:更像是成品报告的模板吗,规定最后输出时要有哪些章节、顺序怎么排、每一部分应该包含什么内容。比如报告要先有执行摘要,再有公司画像、基本面、估值、筹码与风险、资金面、技术面、投资评分、风险提示和免责声明;这个文件的核心作用是:负责定义最终交付物的结构和呈现方式。

第三步:人设和记忆

三个核心文件的定义思路可以分享给大家:

第三步:人设和记忆 — OpenClaw screenshot
第三步:人设和记忆 — OpenClaw screenshot

SOUL.md:定义花园投资助手的核心人格与工作原则:一位具备20 年投资研究经验的专业投资专家,偏向严谨、理性、数据驱动的投资研究。也明确了它做分析时的基本方法:要基于真实数据,不做拍脑袋判断;要同时看基本面、估值、资金面、技术面和风险;要优先提示风险;在信息充分时要给出明确倾向,而不是模糊表态。可以说,SOUL.md 决定了“花园投资助手”的人设、专业气质、分析方法论和行为边界。

USER.md:用于告诉花园投资助手我们是个什么样的人:关注 A 股和美股、投资经验偏初学者、风险偏好稳健、周期偏中长期的人,更有利于它后续能给出我们更针对性的建议。

MEMORY.md:定义花园投资助手的长期工作记忆与固定流程。例如,当用户要求生成个股投资建议时,花园投资助手应该先读取哪个技能、再获取哪些数据、再按什么评分框架分析、最后按什么结构输出报告。可以说是花园投资助手的长期经验、执行规范和可复用方法。

花园开发助手具体介绍

使用演示

放假在家,开源项目收到了一条 GitHub Issue。手机上根本没法排查代码 — 以前只能干着急,或者草率回复一个「回来再看」。

现在,我在手机飞书上给开发助手发了一条指令:

帮我看看这个 Issue ,然后排查一下具体原因,注意别改代码,直接把排查结论发给我
使用演示 — OpenClaw screenshot
使用演示 — OpenClaw screenshot

就这么简洁。由于我之前已经让它记住了默认工作模式和常用项目目录,OpenClaw 自动完成了整个链路:

识别到这是一个需要 ACP 调度的开发任务
  ↓
通过 acpx 创建一个 ACP 会话,调度 Claude Code
  ↓
Claude Code 到我记住的项目目录下找到对应项目
  ↓
根据 Issue 描述分析代码,定位问题。

几分钟后,它返回了一份完整的问题排查结论——代码上下文、问题根因、修复建议一应俱全。

然后我直接让它把排查结论回复到 GitHub Issue 上:

使用演示 — OpenClaw screenshot
使用演示 — OpenClaw screenshot

它成功帮我创建了回复。整个过程在手机上完成,没有打开过电脑。从收到 Issue 到给出专业的排查回复,整个流程只需要几分钟。

使用演示 — OpenClaw screenshot
使用演示 — OpenClaw screenshot

搭建思路

我搭建开发助手的主要目的是辅助维护开源项目,所以搭建思路主要围绕两件事展开:管理仓库和写代码。

管理仓库靠的是 Github Skill。它是 OpenClaw 默认自带的技能,基于 gh cli 实现,能帮你列 Issue、提 PR、查看仓库状态 — 对于日常维护开源项目来说,这些操作已经覆盖了大部分"管理型"需求。

但光能管还不够,真正的开发任务 — 读代码、改文件、跑测试 — 需要一个专业的编程 Agent 来干。

OpenClaw 自身虽然也能写代码,但专业的事还是交给专业的人。

问题在于:怎么让 OpenClaw 去"指挥"Claude Code 这样的外部编程 Agent?

搭建思路 — OpenClaw screenshot
搭建思路 — OpenClaw screenshot

答案是 ACP(Agent Client Protocol),一套标准化的通信协议,让任何 Agent 客户端都能以统一方式接入任何 Coding Agent(Claude Code、Codex、Gemini CLI 等)。

它解决的核心问题是:不再需要通过解析命令行 ANSI 转义序列来 "盲操"编程 Agent,而是通过结构化接口完成会话管理、消息交互、权限控制、文件读写和终端操作,Agent 返回的是带类型的结构化消息(思考过程、工具调用、代码 diff、执行结果),而非需要人工解析的文本流。

具体配置

第一步:GitHub Skill 认证

GitHub Skill 虽然是 OpenClaw 默认安装的,但需要完成一次认证才能。

第一步:GitHub Skill 认证 — OpenClaw screenshot
第一步:GitHub Skill 认证 — OpenClaw screenshot

在终端执行 gh auth login,按照交互式引导完成 GitHub 账号授权。

第一步:GitHub Skill 认证 — OpenClaw screenshot
第一步:GitHub Skill 认证 — OpenClaw screenshot

认证成功后,Agent 就可以列出仓库、创建 Issue、提交 PR 了。

第二步:acpx 插件配置

执行以下命令:

openclaw plugins install acpx
openclaw config set plugins.entries.acpx.enabled true

在 OpenClaw 配置中添加 ACP 配置块:

acp: {
  enabled: true,
  dispatch: { enabled: true },
  backend: 'acpx',
  defaultAgent: 'claude',
  allowedAgents: ['claude'],
  maxConcurrentSessions: 8,
  stream: {
    coalesceIdleMs: 300,
    maxChunkChars: 1200,
  },
  runtime: {
    ttlMinutes: 120,
  },
}

配置说明:开启 ACP 功能,使用 acpx 作为后端,默认且仅允许调用 Claude Code。

这是容易踩的坑,ACP 会话是非交互式的(no TTY),当 Claude Code 需要写文件或执行命令时,会弹出权限确认提示——但在无头模式下没有人能点「确认」。所以需要配置权限策略:

openclaw config set plugins.entries.acpx.config.permissionMode approve-all
openclaw config set plugins.entries.acpx.config.nonInteractivePermissions fail

安全提示:approve-all 意味着 Agent 可以在你的机器上执行任意命令。请确保你信任所调用的 Agent,并且工作目录的范围是合理的。

第三步:记录开发习惯

跑通流程后,通过两条长期记忆让 Agent 记住工作模式:

  1. 「后续开发任务默认采用 ACP 操作 Claude Code 的工作模式」— 后续发出开发任务,无需每次说明
  2. 「我常用的开发目录是 /Users/conardli/Desktop/github」— 后续指令只需说项目名,不用说完整路径

花园社区助手具体介绍

使用演示

花园社区助手是我所有 Agent 中最「非典型」的一个。

它连接的不是什么实用工具,而是一个名叫 Moltbook 的 AI Agent 社交网络平台。

使用演示 — OpenClaw screenshot
使用演示 — OpenClaw screenshot

Moltbook 是全球第一个专为 AI Agent 打造的社交网络平台。它的形态类似 Reddit,但有一个根本性的区别:只有经过验证的 AI Agent 才能发帖和互动,人类用户只能旁观。

使用演示 — OpenClaw screenshot
使用演示 — OpenClaw screenshot

我的花园社区助手帮我在 Moltbook 上注册身份,现在它可以在上面发帖记录里程碑和决策、与其他 Agent 讨论交流、观察不同 Agent 的行为模式。

使用演示 — OpenClaw screenshot
使用演示 — OpenClaw screenshot

这个 Agent 不像其他几个有明确的「生产力」定位,更像是一扇了解 AI Agent 社交生态的窗口。

但我认为它的意义在于:当你的 Agent 开始和其他 Agent 交互时,你会对「多智能体」这个概念产生更深层次的理解。

具体配置

这个 Agent 的配置非常简单,你只需要把这个 Skill 发给它: https://www.moltbook.com/skill.md

OpenClaw 自己就能知道如何去注册 Moltbook(前提要有一个 X 账号帮助完成辅助认证),以及如何在上面发帖和评论。

然后你只需要给它设定一个有意思的人设,接下来就可以去自由探索啦:

具体配置 — OpenClaw screenshot
具体配置 — OpenClaw screenshot

花园写作助手和多智能体协作

使用演示

先看写作助手单独使用的效果。

使用演示 — OpenClaw screenshot
使用演示 — OpenClaw screenshot

我让它写一篇技术文章,它会先设定一个详细的大纲,然后逐节撰写,中途自动联网搜索补充信息,对需要深挖的内容还会自动提取原文,写完后自动调用「去AI味」技能对每个章节进行润色,最终输出到飞书文档:

使用演示 — OpenClaw screenshot
使用演示 — OpenClaw screenshot

但写作通常会有些更复杂的需求,可能需要团队多个成员来协作完成。

我们可以尝试给花园智能专家下达一个需要多方协作的任务:

首先协调花园资讯助手获取 3.18 的 AI 日报内容,然后调用花园生图助手为日报生成 3 张合适的配图,最后调用花园写作助手,为日报进行更多的调研,编写成一篇丰富的 AI 日报飞书文档,并且将图片插入到合适的位置。
使用演示 — OpenClaw screenshot
使用演示 — OpenClaw screenshot

主管按照依赖关系分三个阶段执行:

  1. 阶段一:派花园资讯助手获取日报内容,生成配图建议
  2. 阶段二:派花园生图助手根据日报主题生成三张图片
  3. 阶段三:派花园写作助手进行更多调研,将资讯内容扩写成深度文章,并将图片插入合适位置,最终输出飞书文档

经过三个阶段的协作,我拿到了一份内容丰富、配有精美插图的 AI 日报飞书文档。三个 Agent 各司其职:资讯助手负责数据获取,生图助手负责视觉创作,写作助手负责内容生产和最终交付 — 而主管只负责调度和串联。

使用演示 — OpenClaw screenshot
使用演示 — OpenClaw screenshot

这就是多智能体系统的理想形态:你不需要告诉每个 Agent 怎么做,你只需要告诉主管你想要什么结果。

搭建思路

花园写作助手的搭建核心是详细的人设设定(尽量复刻你的写作风格)和一套完整的工作流程定义。

比如我给它设定的工作流程是这样的:

1. 需求理解:与用户确认主题、受众、风格、篇幅
  ↓
2. 初步调研:通过网络搜索技能搜索相关资料
  ↓
3. 大纲拟定:输出结构化大纲供用户确认
  ↓
4. 逐节撰写:每个章节独立完成编写
  ↓
5. 联网补充:对需要深挖的内容提取详细原文
  ↓
6. 自查润色:检查逻辑一致性、数据准确性
  ↓
7. 去 AI 味:对内容中看起来像 AI 的部分进行改写
  ↓
8. 格式交付:输出为飞书文档

具体配置

第一步:技能设定

根据上面的工作流程,我们需要的核心技能有三个:

  • 联网搜索:这里我们选择 Tavily,它一个专为 AI Agent 优化的搜索引擎 API,比起直接调用通用搜索引擎,Tavily 返回的结果更加结构化、噪音更少,非常适合做调研型写作。

可以根据 Tavily 的官方文档安装它的技能:

第一步:技能设定 — OpenClaw screenshot
第一步:技能设定 — OpenClaw screenshot

https://docs.tavily.com/documentation/agent-skills

然后配置好环境变量:

第一步:技能设定 — OpenClaw screenshot
第一步:技能设定 — OpenClaw screenshot

即可使用 Tavily 的联网搜索、提取网页内容等技能:

第一步:技能设定 — OpenClaw screenshot
第一步:技能设定 — OpenClaw screenshot
第一步:技能设定 — OpenClaw screenshot
第一步:技能设定 — OpenClaw screenshot
  • 飞书文档技能:能够直接创建、写入和整理飞书文档,其实之前在启用飞书插件的时候,这些技能已经捆绑安装了:
第一步:技能设定 — OpenClaw screenshot
第一步:技能设定 — OpenClaw screenshot

我们只需要给这个飞书 Bot 开通云文档相关的技能即可:

第一步:技能设定 — OpenClaw screenshot
第一步:技能设定 — OpenClaw screenshot
  • 去 AI 味技能:写作 Agent 有一个最高频的需求 — 写出来的东西一看就是 AI 生成的,需要反复人工润色。所以强烈推荐按照我们平时的写作习惯,创作一个去处 AI 味的 Skill:
第一步:技能设定 — OpenClaw screenshot
第一步:技能设定 — OpenClaw screenshot

比如把「值得注意的是」改成更自然的表达,把「总之/综上所述」这种 AI 味浓厚的总结词替换掉,把过度工整的排比句打散等等。

第二步:人设和记忆

将你平时的语调和风格、核心原则、行为边界等写入 SOUL.md :

第二步:人设和记忆 — OpenClaw screenshot
第二步:人设和记忆 — OpenClaw screenshot

让写作助手在长期记忆文件中记住我们刚刚设定的工作流程(MEMORY.md):

第二步:人设和记忆 — OpenClaw screenshot
第二步:人设和记忆 — OpenClaw screenshot

第三步:多智能体协作

最后我们再简单提一下多智能体的协作,这就要用到 OpenClaw 的 Subagent 架构了。

在 OpenClaw 的设计中,我们可以通过 Subagent(子智能体)来在一个 Agent 下协调其他 Agent 一起完成工作。

比如:想要像上面的案例一样让在花园智能专家能调用生图、协作、资讯三个智能体,需要在配置中加入:

subagents: {
  allowAgents: ['img', 'writer', 'news'],
}

这份配置只是开通了多智能体协作的权限,如果你希望花园智能专家能当好一个管理者,必须能够知道这些子智能体的具体信息,建议在主管智能体的长期记忆中写入每个子智能体的详细能力说明:

继续学习