Files
agent-creator-with-binding/README.md
openclaw ea6dd18fe4 feat: 创建 agent-creator-with-binding skill
整合 feishu-agent-binding 功能,一站式创建 Agent 并配置飞书绑定

主要功能:
- 创建 Agent 工作空间
- 配置飞书机器人账户
- 配置路由绑定(账户级/群聊级)
- 配置会话隔离
- 启用 Agent 间调用
- 自动备份和回退机制

支持模式:
- 账户级绑定(新机器人/现有机器人)
- 群聊级绑定
- 不绑定(后台 Agent)

安全特性:
- 修改前自动备份 openclaw.json
- 任何失败自动回退
- 详细的错误提示和恢复指南
2026-03-17 15:37:17 +08:00

4.7 KiB
Raw Permalink Blame History

agent-creator-with-binding

一站式创建 OpenClaw Agent 并配置飞书机器人绑定。

整合了 feishu-agent-binding 功能,无需额外 skill

功能特性

  • 交互式创建 Agent
  • 支持三种绑定模式(账户级/群聊级/不绑定)
  • 飞书机器人配置(整合 feishu-agent-binding
  • 自动配置路由绑定
  • 自动更新 openclaw.json
  • 自动备份配置
  • 自动重启 Gateway
  • 会话隔离配置
  • Agent 间调用配置

安装

Skill 已位于:

/home/admin/.openclaw/workspace/skills/agent-creator-with-binding/

无需安装 feishu-agent-binding

使用方法

交互模式

openclaw skills run agent-creator-with-binding

按提示输入:

  1. Agent ID 和名称
  2. 绑定模式A/B/C
  3. 飞书配置(如需要)
  4. 确认执行

命令行模式

账户级绑定(新机器人)

openclaw skills run agent-creator-with-binding -- \
  --agent-id email-assistant \
  --agent-name "邮件助手" \
  --binding-mode account \
  --new-bot \
  --app-id cli_xxx \
  --app-secret yyy

账户级绑定(现有机器人)

openclaw skills run agent-creator-with-binding -- \
  --agent-id email-assistant \
  --binding-mode account \
  --account-id bot-existing

群聊级绑定

openclaw skills run agent-creator-with-binding -- \
  --agent-id project-assistant \
  --binding-mode group \
  --account-id bot-main \
  --chat-id oc_xxx

不绑定(后台 Agent

openclaw skills run agent-creator-with-binding -- \
  --agent-id data-processor \
  --binding-mode none

参数说明

参数 必填 说明
--agent-id Agent 唯一标识
--agent-name 显示名称
--binding-mode account/group/none
--new-bot 是否新机器人
--app-id 飞书 App ID
--app-secret 飞书 App Secret
--account-id 飞书账户 ID
--chat-id 群聊 ID
--bot-name 机器人名称
--dm-policy DM 策略open/pairing/allowlist
--skip-confirm 跳过确认
--skip-restart 跳过重启

配置变更

执行后会修改:

  • ~/.openclaw/openclaw.json
  • ~/.openclaw/workspace-<agent-id>/
  • ~/.openclaw/agents/<agent-id>/

恢复方法

# 找到最近的备份
ls -lt ~/.openclaw/backups/openclaw.json.* | head -1

# 恢复
cp ~/.openclaw/backups/openclaw.json.<timestamp> ~/.openclaw/openclaw.json
openclaw gateway restart

验证

# 查看 agent 列表
openclaw agents list --bindings

# 查看 Gateway 状态
openclaw gateway status

# 查看飞书账户
openclaw channels status --probe

目录结构

agent-creator-with-binding/
├── SKILL.md
├── package.json
├── index.js              # 主入口(整合 feishu-agent-binding 功能)
├── README.md
├── lib/
│   ├── config-manager.js # 配置管理
│   └── validator.js      # 参数验证
├── templates/
│   ├── soul.md.template
│   └── agents.md.template
└── scripts/

绑定模式说明

账户级绑定

该飞书账户的所有消息 → 指定 Agent

适用:一个机器人专门服务一个 Agent

生成的绑定:

{
  "agentId": "email-assistant",
  "match": {
    "channel": "feishu",
    "accountId": "bot-email"
  }
}

群聊级绑定

特定群聊的消息 → 指定 Agent

适用:把 Agent 绑定到特定群聊

注意: 群聊级绑定优先级更高,会覆盖账户级绑定!

生成的绑定:

{
  "agentId": "project-assistant",
  "match": {
    "channel": "feishu",
    "peer": {
      "kind": "group",
      "id": "oc_xxx"
    }
  }
}

配置结构示例

添加新机器人后,配置会变成这样(保留现有配置):

{
  "agents": {
    "list": [
      { "id": "main" },
      {
        "id": "email-assistant",
        "name": "邮件助手",
        "workspace": "/home/admin/.openclaw/workspace-email-assistant"
      }
    ]
  },
  "bindings": [
    {
      "agentId": "email-assistant",
      "match": {
        "channel": "feishu",
        "accountId": "bot-email"
      }
    }
  ],
  "channels": {
    "feishu": {
      "accounts": {
        "bot-email": {
          "appId": "cli_xxx",
          "appSecret": "yyy",
          "botName": "邮件助手",
          "dmPolicy": "open",
          "allowFrom": ["*"],
          "enabled": true
        }
      }
    }
  },
  "session": {
    "dmScope": "per-account-channel-peer"
  },
  "tools": {
    "agentToAgent": {
      "enabled": true,
      "allow": ["email-assistant"]
    }
  }
}

许可证

MIT