飞书助力clawdbot成为本土化的AI助手

先看视频

废话少说,先看视频:

clawdbot

简介

视频是用飞书pc端模拟手机端,来控制clawdbot的。

clawdbot已经火到了macmini涨价的地步,为什么我们用起来那么难?

看看主页说明中支持的渠道:

请添加图片描述

放眼望去,都是需要网络支持的,唯一一个可以本都用的时imessage,但是它又受限于mac设备……

昨天,终于发现了一个款插件,飞书的插件,现在,终于可以让clawdbot能本地化了!

飞书插件

落地

先介绍个简单的,让你最快的体验起来,然后再介绍如何按照自己的需求,自定义环境。

docker安装clawdbot

准备一台装好docker环境的机子,有网络环境的机子,使用如下编排文件compose.yml:

services:
  clawdbot:
    image: docker.cnb.cool/yiqiu/docker/clawdbot:0.1
    restart: unless-stopped
    container_name: clawdbot
    network_mode: "host"
    environment:
      - TZ=Asia/Shanghai
      - MODEL_API_KEY=1
      - FEISHU_APP_ID=1
      - FEISHU_APP_SECRET=1
      - AUTH_TOKEN=61ebd7d8393d1949dbbd0618ccca55bbd7de9cca41283561
      - REMOTE_TOKEN=3c7be6ccbeb90226fdeff4f76cb1123348083bbf279e8a04

简单解释:

1、docker镜像存放于cnb上,国内网可以直接访问
2、环境变量解释:
A、MODEL_API_KEY 月之暗面的api key
B、FEISHU_APP_ID、FEISHU_APP_SECRET :飞书机器人的appid和appsecret
C、AUTH_TOKEN、REMOTE_TOKEN :clawdbot的token,可以随机生成,但是要记住,后续要用到,且别泄露,泄露就是共享了……

月之暗面的大模型

网址:https://www.moonshot.cn/

为什么专门用它来实验呢?因为它给注册用户15块钱,足够体验了,写完这篇,我也采用了1块多

略过注册登录,来到这个页面:

https://platform.moonshot.cn/console/api-keys

请添加图片描述

新建一个apikey

去钉钉,建一个机器人

来到飞书开放平台: https://open.feishu.cn/

请添加图片描述

首先给他开通机器人

请添加图片描述

开通必须要权限: 我这个组织是自己开发测试的,为了方便,全开了!

请添加图片描述

事件与回调:

这里主要要2个地方:1、长链接 2、添加接收消息的事件

请添加图片描述

到此,你应该已经完成了机器人的配置,已经能看到了:

请添加图片描述

然后在如下找到appid和appsecret

请添加图片描述

启动clawdbot

到此,你所需要的一切都已经准备好了,可以启动clawdbot了:

docker compose up -d

然后打开地址: http://你的ip:18789/?token=61ebd7d8393d1949dbbd0618ccca55bbd7de9cca41283561

token是你填在编排里面的auth_token

当你能见到这个页面,并且看到health Ok的时候,clawdbot就启动成功了!

请添加图片描述

这时候,掏出你的飞书,给机器人发条指令,享受一下总有人回复:yes! sir!

请添加图片描述

定制自己的clawdbot镜像

以上只是最简单的一个体验,想要更加实用,还是得根据自己的用户来定制:

界面定制

直接使用编排文件启动,但是不配置任何环境变量,启动后,会进入界面定制页面:

请添加图片描述

channels: 支持的渠道,飞书的相关配置就这这里,也可以配置其他你用得上的渠道

config: 其他配置都在这里,比如模型、apikey 、token等等

配置文件定制

如果你不喜欢界面定制,可以使用配置文件,这里一个配置文件的样例:clawdbot.sample.json

{
  "meta": {
    "lastTouchedVersion": "2026.1.24-3",
    "lastTouchedAt": "2026-01-28T14:35:24.163Z"
  },
  "wizard": {
    "lastRunAt": "2026-01-28T13:39:47.430Z",
    "lastRunVersion": "2026.1.24-3",
    "lastRunCommand": "configure",
    "lastRunMode": "local"
  },
  "auth": {
    "profiles": {
      "moonshot:default": {
        "provider": "moonshot",
        "mode": "api_key"
      }
    }
  },
  "models": {
    "mode": "merge",
    "providers": {
      "moonshot": {
        "baseUrl": "https://api.moonshot.cn/v1",
        "apiKey":"${MODEL_API_KEY}",
        "api": "openai-completions",
        "models": [
          {
            "id": "kimi-k2-0905-preview",
            "name": "Kimi K2 0905 Preview",
            "reasoning": false,
            "input": [
              "text"
            ],
            "cost": {
              "input": 0,
              "output": 0,
              "cacheRead": 0,
              "cacheWrite": 0
            },
            "contextWindow": 256000,
            "maxTokens": 8192
          }
        ]
      }
    }
  },
  "agents": {
    "defaults": {
      "model": {
        "primary": "moonshot/kimi-k2-0905-preview",
        "fallbacks": [
          "opencode/glm-4.7-free"
        ]
      },
      "models": {
        "opencode/glm-4.7-free": {},
        "moonshot/kimi-k2-0905-preview": {
          "alias": "Kimi K2"
        }
      },
      "workspace": "/root/clawd",
      "compaction": {
        "mode": "safeguard"
      },
      "maxConcurrent": 4,
      "subagents": {
        "maxConcurrent": 8
      }
    }
  },
  "messages": {
    "ackReactionScope": "group-mentions"
  },
  "commands": {
    "native": "auto",
    "nativeSkills": "auto"
  },
  "channels": {
    "feishu": {
      "allowFrom": [],
      "appId": "${FEISHU_APP_ID}",
      "appSecret": "${FEISHU_APP_SECRET}",
      "connectionMode": "websocket",
      "dmPolicy": "pairing",
      "enabled": true,
      "groupPolicy": "allowlist",
      "requireMention": true
    }
  },
  "gateway": {
    "port": 18789,
    "mode": "local",
    "bind": "lan",
    "controlUi": {
      "enabled": true,
      "allowInsecureAuth": true
    },
    "auth": {
      "mode": "token",
      "token": "${AUTH_TOKEN}"
    },
    "tailscale": {
      "mode": "off",
      "resetOnExit": false
    },
    "remote": {
      "url": "ws://127.0.0.1:18789",
      "token": "${REMOTE_TOKEN}"
    }
  },
  "plugins": {
    "entries": {
      "feishu": {
        "enabled": true
      }
    },
    "installs": {
      "feishu": {
        "source": "npm",
        "spec": "@m1heng-clawd/feishu",
        "installPath": "/root/.clawdbot/extensions/feishu",
        "version": "0.1.0",
        "installedAt": "2026-01-28T13:26:59.420Z"
      }
    }
  }
}

配置了直接讲这个文件映射到容器的/root/.clawdbot/config.json 就可以了

定制docker

这个是我使用的dockerfile:

FROM node:22-alpine

RUN apk update && apk add --no-cache git && apk add --no-cache envsubst

RUN npm i -g clawdbot && clawdbot plugins install @m1heng-clawd/feishu

RUN mkdir -p /root/.clawdbot/
COPY entrypoint.sh /root/entrypoint.sh
RUN chmod +x /root/entrypoint.sh
COPY clawdbot.sample.json /root/.clawdbot/clawdbot.sample.json

ENTRYPOINT ["/root/entrypoint.sh"]

entrypoint.sh

#!/bin/sh

envsubst < /root/.clawdbot/clawdbot.sample.json > /root/.clawdbot/clawdbot.json

echo "Generated clawbot.json:"
cat /root/.clawdbot/clawdbot.json

exec clawdbot gateway

小结

好了!我只能说,太强大了!

之前imessage太折腾,对设备的限制太大,其他渠道都需要网络的支持,这些都让clawdbot水土不服……

现在飞书插件的出现,让clawdbot终于本土化了!

现在,随便找一个轻量的服务器,甚至树莓派,就可以为自己搭建一个专属的ai助手啦!

欢迎关注公众号: https://mp.weixin.qq.com/s/C0qhx7V9v3nU2pZsDDX6iQ?token=1690124920&lang=zh_CN

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐