无尘阁日记

无尘阁日记

那请你给我一份多个智能体的.openclaw底下的目录结构
2026-05-02

下面这份你可以直接当成 多智能体版 .openclaw 推荐目录结构
路径在 Windows 下一般是:

C:\Users\你的用户名\.openclaw\

在 macOS / Linux 下一般是:

~/.openclaw/

OpenClaw 官方文档里,多 Agent 是通过独立 workspace、认证和路由来隔离的;示例命令里也明确有 openclaw agents add work --workspace ~/.openclaw/workspace-workopenclaw agents add ops --workspace ~/.openclaw/workspace-ops --bind telegram:ops 这种模式。(GitHub)


一、推荐的总目录结构

.openclaw/
│
├─ openclaw.json
│
├─ workspace/
│  ├─ IDENTITY.md
│  ├─ skills/
│  ├─ files/
│  ├─ outputs/
│  ├─ logs/
│  └─ memory/
│
├─ workspace-main/
│  ├─ IDENTITY.md
│  ├─ skills/
│  ├─ files/
│  ├─ outputs/
│  ├─ logs/
│  └─ memory/
│
├─ workspace-wechat-research/
│  ├─ IDENTITY.md
│  ├─ skills/
│  │  ├─ wechat-search/
│  │  │  └─ SKILL.md
│  │  ├─ ocr-date-detect/
│  │  │  └─ SKILL.md
│  │  └─ article-ranking/
│  │     └─ SKILL.md
│  ├─ screenshots/
│  ├─ ocr_results/
│  ├─ logs/
│  ├─ outputs/
│  └─ memory/
│
├─ workspace-business-report/
│  ├─ IDENTITY.md
│  ├─ skills/
│  │  ├─ excel-analysis/
│  │  │  └─ SKILL.md
│  │  ├─ business-diagnosis/
│  │  │  └─ SKILL.md
│  │  ├─ pdf-report/
│  │  │  └─ SKILL.md
│  │  └─ ppt-outline/
│  │     └─ SKILL.md
│  ├─ input/
│  ├─ data/
│  ├─ drafts/
│  ├─ outputs/
│  ├─ pdf/
│  ├─ ppt/
│  ├─ logs/
│  └─ memory/
│
├─ workspace-ops/
│  ├─ IDENTITY.md
│  ├─ skills/
│  │  ├─ openclaw-doctor/
│  │  │  └─ SKILL.md
│  │  ├─ log-analyzer/
│  │  │  └─ SKILL.md
│  │  ├─ windows-wsl-fix/
│  │  │  └─ SKILL.md
│  │  └─ node-pnpm-fix/
│  │     └─ SKILL.md
│  ├─ logs/
│  ├─ command-records/
│  ├─ patches/
│  └─ memory/
│
├─ skills/
│  ├─ common-writing/
│  │  └─ SKILL.md
│  ├─ common-pdf-style/
│  │  └─ SKILL.md
│  ├─ common-feishu-send/
│  │  └─ SKILL.md
│  ├─ common-telegram-send/
│  │  └─ SKILL.md
│  └─ common-file-organizer/
│     └─ SKILL.md
│
├─ extensions/
│  ├─ feishu/
│  ├─ telegram/
│  └─ wechat/
│
├─ canvas/
│
├─ completions/
│
├─ plugin-runtime-deps/
│
├─ tmp/
│
└─ logs/

二、每一层分别干什么

1. openclaw.json

这是总配置文件,放所有核心配置:

.openclaw/openclaw.json

它一般负责:

模型配置
Agent 列表
Agent 对应 workspace
Telegram / 飞书 / 微信等 channel 配置
插件配置
技能 allowlist
安全策略
Gateway 配置

你可以理解成:

openclaw.json 是小龙虾的“总司令部配置表”。


2. workspace-main/

这是你的主智能体工作区。

建议用途:

日常对话
普通文件处理
临时任务
低风险自动化

建议不要把特别复杂、特别危险、特别业务化的东西全塞给 main。


3. workspace-wechat-research/

这是你做公众号、微信搜一搜、截图、OCR 日期识别的专用智能体。

适合放:

微信搜索截图
OCR 识别结果
公众号文章链接
翻页日志
日期识别日志
爆文分析结果

这个 Agent 应该有浏览器、截图、OCR、文件写入能力,但不建议给它太多系统命令权限。


4. workspace-business-report/

这是你做行业报告、Excel 分析、PDF、PPT 的专用智能体。

适合放:

Excel 底稿
行业分析中间表
PDF 草稿
PPT 草稿
最终输出文件
报告模板
品牌配色
Logo 规则

你之前做“汽车后市场细分赛道”“服装代工细分机会库”这种,就应该交给这个 Agent,而不是 main。


5. workspace-ops/

这是运维排障智能体。

适合处理:

OpenClaw 日志
Gateway 报错
插件加载失败
Node / pnpm 问题
Windows WSL 问题
PowerShell / CMD 命令排查

这个 Agent 可以有一定命令执行权限,但建议做 allowlist,不要无限制执行危险命令。


6. 根目录下的 skills/

这个是全局共享技能目录

.openclaw/skills/

官方 Skill 文档里说明,<workspace>/skills 是某个 Agent 自己可见;~/.openclaw/skills 是同一台机器上所有 Agent 可见的共享技能。并且 Skill 本身就是包含 SKILL.md 的目录。(GitHub)

所以:

.openclaw/skills/common-pdf-style/SKILL.md

这种技能可以给多个 Agent 复用。

比如:

common-pdf-style
common-writing
common-telegram-send
common-file-organizer

这些就是共享技能。


三、Skill 放哪里最合理?

官方文档里,Skill 有加载优先级:<workspace>/skills 优先级最高,其次是 <workspace>/.agents/skills,再到 ~/.agents/skills~/.openclaw/skills、内置技能等;同名 Skill 冲突时,高优先级会覆盖低优先级。(GitHub)

你实际使用时,按这个原则:

Skill 类型推荐位置原因
微信搜一搜专用workspace-wechat-research/skills/只给微信研究智能体用
公众号日期识别workspace-wechat-research/skills/和微信截图强绑定
Excel 经营分析workspace-business-report/skills/只给报告智能体用
PDF 报告生成workspace-business-report/skills/.openclaw/skills/多个 Agent 都用就放全局
OpenClaw 日志排查workspace-ops/skills/只给运维智能体用
飞书发送.openclaw/skills/多个 Agent 可能都要发飞书
Telegram 发送.openclaw/skills/多个 Agent 可能都要回消息
通用写作方法.openclaw/skills/多个 Agent 共用

一句话:

专用能力放 Agent 自己 workspace,通用能力放 .openclaw/skills


四、推荐的 openclaw.json 结构

下面是一个多智能体配置骨架,你可以按这个方向整理:

{
  "gateway": {
    "bind": "127.0.0.1",
    "port": 18789
  },

  "agents": {
    "defaults": {
      "skills": [
        "common-writing",
        "common-file-organizer"
      ]
    },
    "list": [
      {
        "id": "main",
        "workspace": "~/.openclaw/workspace-main",
        "identity": {
          "name": "总控助理",
          "emoji": "🦞",
          "theme": "general assistant"
        }
      },
      {
        "id": "wechat-research",
        "workspace": "~/.openclaw/workspace-wechat-research",
        "identity": {
          "name": "公众号研究员",
          "emoji": "🔍",
          "theme": "wechat research agent"
        },
        "skills": [
          "wechat-search",
          "ocr-date-detect",
          "article-ranking",
          "common-file-organizer"
        ]
      },
      {
        "id": "business-report",
        "workspace": "~/.openclaw/workspace-business-report",
        "identity": {
          "name": "经营分析报告官",
          "emoji": "📊",
          "theme": "business report agent"
        },
        "skills": [
          "excel-analysis",
          "business-diagnosis",
          "pdf-report",
          "ppt-outline",
          "common-writing",
          "common-pdf-style",
          "common-file-organizer"
        ]
      },
      {
        "id": "ops",
        "workspace": "~/.openclaw/workspace-ops",
        "identity": {
          "name": "小龙虾运维官",
          "emoji": "🛠️",
          "theme": "ops troubleshooting agent"
        },
        "skills": [
          "openclaw-doctor",
          "log-analyzer",
          "windows-wsl-fix",
          "node-pnpm-fix",
          "common-file-organizer"
        ]
      }
    ]
  },

  "channels": {
    "telegram": {
      "enabled": true
    },
    "feishu": {
      "enabled": true
    }
  }
}

注意这个点很重要:官方文档里说,agents.defaults.skills 是默认技能;如果某个 agents.list[].skills 是非空数组,它就是这个 Agent 的最终技能集合,不会和 defaults 自动合并。(GitHub)

也就是说:

{
  "id": "wechat-research",
  "skills": [
    "wechat-search"
  ]
}

它就只有 wechat-search,不会自动继承 defaults 里的 common-writing,除非你手动加进去。


五、Telegram 多智能体路由建议

如果你用 Telegram 连小龙虾,可以按这个逻辑设计:

Telegram 私聊 Bot
        ↓
main

Telegram 公众号研究群
        ↓
wechat-research

Telegram 经营分析群
        ↓
business-report

Telegram 运维排障群
        ↓
ops

对应逻辑大概是:

telegram:default → main
telegram:wechat → wechat-research
telegram:report → business-report
telegram:ops → ops

官方 Agent 文档里说,可以用 routing bindings 把某个入口固定到某个 Agent,例如 openclaw agents bind --agent work --bind telegram:ops。(GitHub)

你后面可以用类似命令:

openclaw agents bind --agent wechat-research --bind telegram:wechat
openclaw agents bind --agent business-report --bind telegram:report
openclaw agents bind --agent ops --bind telegram:ops

六、Windows 下直接创建目录的命令

如果你现在是在 Windows,可以用 PowerShell 执行:

$base = "$env:USERPROFILE\.openclaw"

mkdir "$base\workspace-main" -Force
mkdir "$base\workspace-main\skills" -Force
mkdir "$base\workspace-main\files" -Force
mkdir "$base\workspace-main\outputs" -Force
mkdir "$base\workspace-main\logs" -Force
mkdir "$base\workspace-main\memory" -Force

mkdir "$base\workspace-wechat-research" -Force
mkdir "$base\workspace-wechat-research\skills" -Force
mkdir "$base\workspace-wechat-research\screenshots" -Force
mkdir "$base\workspace-wechat-research\ocr_results" -Force
mkdir "$base\workspace-wechat-research\logs" -Force
mkdir "$base\workspace-wechat-research\outputs" -Force
mkdir "$base\workspace-wechat-research\memory" -Force

mkdir "$base\workspace-business-report" -Force
mkdir "$base\workspace-business-report\skills" -Force
mkdir "$base\workspace-business-report\input" -Force
mkdir "$base\workspace-business-report\data" -Force
mkdir "$base\workspace-business-report\drafts" -Force
mkdir "$base\workspace-business-report\outputs" -Force
mkdir "$base\workspace-business-report\pdf" -Force
mkdir "$base\workspace-business-report\ppt" -Force
mkdir "$base\workspace-business-report\logs" -Force
mkdir "$base\workspace-business-report\memory" -Force

mkdir "$base\workspace-ops" -Force
mkdir "$base\workspace-ops\skills" -Force
mkdir "$base\workspace-ops\logs" -Force
mkdir "$base\workspace-ops\command-records" -Force
mkdir "$base\workspace-ops\patches" -Force
mkdir "$base\workspace-ops\memory" -Force

mkdir "$base\skills" -Force
mkdir "$base\skills\common-writing" -Force
mkdir "$base\skills\common-pdf-style" -Force
mkdir "$base\skills\common-feishu-send" -Force
mkdir "$base\skills\common-telegram-send" -Force
mkdir "$base\skills\common-file-organizer" -Force

七、每个 Agent 的 IDENTITY.md 可以这么写

workspace-wechat-research/IDENTITY.md

# 公众号研究员

你是一个专门负责微信搜一搜、公众号文章检索、截图识别、日期提取、内容初筛和爆文分析的智能体。

你的核心任务:
1. 搜索指定关键词或公众号;
2. 截图保存搜索结果;
3. 识别卡片左上角日期;
4. 记录翻页、点击、识别日志;
5. 输出结构化结果。

你不负责系统运维,不主动执行危险命令。

workspace-business-report/IDENTITY.md

# 经营分析报告官

你是一个负责 Excel 数据分析、行业赛道拆解、机会库构建、PDF 报告生成、PPT 提纲生成的智能体。

你的核心原则:
1. 先结论,后证据;
2. 先价值,后方法;
3. 数据要可追溯;
4. 输出要适合老板和业务负责人阅读;
5. 不做空泛趋势判断,要给可执行机会。

workspace-ops/IDENTITY.md

# 小龙虾运维官

你是一个负责 OpenClaw、Node、pnpm、WSL、PowerShell、插件和 Gateway 排障的智能体。

你的核心任务:
1. 读取日志;
2. 定位错误;
3. 给出最小修复命令;
4. 记录排障过程;
5. 避免执行高风险命令,除非用户明确要求。

八、我建议你最终采用这四个 Agent

main
  日常总控,不要塞太多危险权限。

wechat-research
  专门做微信搜一搜、公众号截图、日期识别、文章筛选。

business-report
  专门做 Excel、行业分析、PDF、PPT、课程材料。

ops
  专门处理 OpenClaw、WSL、Node、pnpm、插件、日志问题。

最稳的结构就是:

一个总配置 openclaw.json
四个独立 workspace
一个全局共享 skills
每个 Agent 只加载自己需要的 skills
Telegram / 飞书通过 binding 路由到不同 Agent

这套结构以后扩展也很舒服。比如你后面还要加:

workspace-finance/
workspace-course/
workspace-sales/
workspace-oa-nuoming/

直接再加一个 workspace 和一个 Agent 配置即可,不会把 main 搞成“大杂烩”。