ClawdBot开发者案例:用ClawdBot插件系统扩展自定义功能模块

1. ClawdBot 是什么:一个真正属于你的本地 AI 助手

ClawdBot 不是一个云端 SaaS 服务,也不是需要注册账号、绑定手机号的“智能助手”。它是一个你可以在自己设备上完整运行的个人 AI 助手——从模型推理、对话管理、多通道接入,到前端控制台,全部打包在本地。你拥有全部数据主权,所有对话、文件、配置都只存在你的硬盘里。

它的后端核心由 vLLM 提供高性能大模型推理能力,支持 Qwen、Llama、Phi 等主流开源模型,响应快、显存利用率高、并发能力强。更重要的是,ClawdBot 的设计哲学是“可插拔、可组合、可演进”:它不预设你该用什么功能,而是提供一套清晰、稳定、低侵入的插件系统,让开发者能像搭积木一样,把任意能力——无论是翻译、OCR、汇率查询,还是天气预报、维基检索、语音转写——无缝集成进来。

这正是它和市面上大多数“开箱即用但无法定制”的 AI 工具的本质区别:ClawdBot 不给你一个成品,而是给你一条生产线。

2. 为什么选 MoltBot?一个“开箱即用”的多模态翻译插件范本

2.1 MoltBot 是什么:Telegram 上的全能翻译官

MoltBot 是 2025 年开源的一款轻量级、多语言、多平台 Telegram 机器人。它的目标很朴素:让用户在群聊或私聊中,零门槛、零配置、零等待地完成任意消息的实时翻译,并顺带解决日常高频需求——查天气、换汇率、搜维基。

它不是调用某个云 API 就完事。MoltBot 的所有关键能力都在本地完成:

  • 接收语音 → 用 Whisper tiny 模型本地转写 → 再翻译
  • 接收图片 → 用 PaddleOCR 轻量版识别文字 → 再翻译
  • 查询天气/汇率/维基 → 调用公开 API,结果直接返回

整个镜像仅 300 MB,树莓派 4 上实测支持 15 人并发,不依赖 GPU 也能跑得稳。MIT 协议,可商用,GitHub 已获 2k+ Star,社区活跃,已有 Discord、Slack 等适配分支。

一句话概括它的定位:

“Star 2 k、MIT 协议、5 分钟搭好 Telegram 全能翻译官,语音、图片、汇率、天气一次搞定。”

2.2 它为什么是 ClawdBot 插件系统的理想范例?

因为 MoltBot 完美体现了 ClawdBot 插件系统的核心价值:能力解耦 + 协议对齐 + 零侵入集成

  • 能力解耦:MoltBot 本身就是一个独立可运行的 Docker 服务(docker run moltbot),它不依赖 ClawdBot,也不修改 ClawdBot 源码;
  • 协议对齐:它通过标准 HTTP 接口暴露能力(如 /translate, /ocr, /weather),而 ClawdBot 的插件系统原生支持 HTTP 类型插件,只需简单配置即可调用;
  • 零侵入集成:你不需要改一行 MoltBot 的代码,也不需要动 ClawdBot 的核心逻辑,只要告诉 ClawdBot “这个地址能做翻译”,它就能自动把用户发来的图片转发过去,拿到 OCR 结果后再交给大模型润色——整个过程对用户完全透明。

换句话说,MoltBot 不是 ClawdBot 的“子功能”,而是它的“能力协作者”。这种松耦合架构,正是构建可持续扩展的本地 AI 生态的关键。

3. 实战:将 MoltBot 集成进 ClawdBot 插件系统

3.1 前提准备:确保 ClawdBot 正常运行并可访问

ClawdBot 默认不开放 Web 控制台,首次使用需完成设备授权。操作流程如下:

  1. 启动 ClawdBot 后,在终端执行:

    clawdbot devices list
    

    你会看到类似这样的 pending 请求:

    ID          Status     Created At           Last Seen
    abc123      pending    2026-01-24 10:22:15  -
    
  2. 批准该设备:

    clawdbot devices approve abc123
    
  3. 若仍无法访问 http://localhost:7860,执行:

    clawdbot dashboard
    

    输出中会给出带 token 的完整链接,例如:

    Dashboard URL: http://127.0.0.1:7860/?token=23588143fd1588692851f6cbe9218ec6b874bb859e775762
    

注意:ClawdBot 的配置文件默认位于 ~/.clawdbot/clawdbot.json,容器内映射路径为 /app/clawdbot.json。所有后续修改均基于此文件。

3.2 第一步:启动 MoltBot 作为独立服务

在与 ClawdBot 同一宿主机(或同一 Docker 网络)中,一键启动 MoltBot:

docker run -d \
  --name moltbot \
  -p 8080:8080 \
  -e TELEGRAM_BOT_TOKEN="your_bot_token_here" \
  -e LIBRETRANSLATE_URL="https://libretranslate.de" \
  moltbot/moltbot:latest

启动成功后,你可以手动测试其能力是否就绪:

# 测试文本翻译
curl -X POST http://localhost:8080/translate \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello, how are you?","source":"en","target":"zh"}'

# 测试图片 OCR(需先上传图片)
curl -X POST http://localhost:8080/ocr \
  -F "image=@./sample.jpg"

确认返回 JSON 格式结果(含 text 字段),说明 MoltBot 已就绪。

3.3 第二步:在 ClawdBot 中注册 MoltBot 插件

ClawdBot 的插件系统支持多种类型,其中 http 类型最适用于集成外部服务。我们通过修改 clawdbot.json 添加一个名为 moltbot-translator 的插件:

{
  "plugins": {
    "moltbot-translator": {
      "type": "http",
      "config": {
        "baseUrl": "http://host.docker.internal:8080",
        "timeout": 15000,
        "headers": {
          "User-Agent": "ClawdBot/2026.1"
        }
      },
      "endpoints": {
        "translate": {
          "method": "POST",
          "path": "/translate",
          "input": {
            "text": "{input.text}",
            "source": "{input.source}",
            "target": "{input.target}"
          },
          "output": "{response.text}"
        },
        "ocr": {
          "method": "POST",
          "path": "/ocr",
          "input": {
            "image": "{input.image_base64}"
          },
          "output": "{response.text}"
        }
      }
    }
  }
}

关键说明:

  • host.docker.internal 是 Docker Desktop 提供的宿主机别名;若使用 Linux Docker,请替换为宿主机真实 IP(如 172.17.0.1);
  • {input.xxx} 是 ClawdBot 的模板语法,表示从用户输入中提取字段;
  • {response.text} 表示从 HTTP 响应 JSON 中提取 text 字段作为插件输出;
  • 所有字段均为字符串,无需额外序列化。

保存配置后,重启 ClawdBot 或执行 clawdbot plugins reload 使插件生效。

3.4 第三步:编写一个“图文翻译代理”Agent,调用插件

ClawdBot 的 Agent 是功能编排单元。我们创建一个新 Agent,让它能智能判断用户输入是文字还是图片,并自动调用对应插件:

clawdbot.jsonagents 区域添加:

"agents": {
  "defaults": { /* ...原有配置... */ },
  "multimodal-translator": {
    "description": "支持文字+图片的双模态翻译助手",
    "model": "vllm/Qwen3-4B-Instruct-2507",
    "prompt": "你是一个专业翻译助手。用户可能发送一段文字,也可能发送一张含文字的图片。请按以下规则处理:\n1. 如果输入是文字,直接调用 moltbot-translator.translate 插件翻译为中文;\n2. 如果输入是图片,先调用 moltbot-translator.ocr 插件识别文字,再将识别结果翻译为中文;\n3. 输出必须简洁,只返回最终翻译结果,不要解释过程。",
    "tools": [
      {
        "name": "moltbot-translator.translate",
        "description": "翻译任意语言文本为中文",
        "parameters": {
          "type": "object",
          "properties": {
            "text": { "type": "string", "description": "待翻译的原文" },
            "source": { "type": "string", "description": "原文语种代码,如 en、ja、ko" },
            "target": { "type": "string", "description": "目标语种代码,固定为 zh" }
          }
        }
      },
      {
        "name": "moltbot-translator.ocr",
        "description": "从图片中识别文字",
        "parameters": {
          "type": "object",
          "properties": {
            "image_base64": { "type": "string", "description": "图片 Base64 编码(不含 data:xxx;base64, 前缀)" }
          }
        }
      }
    ]
  }
}

这里没有写死语种,而是让大模型根据上下文自动判断源语言(MoltBot 支持自动检测),真正实现“用户无感”。

3.5 第四步:验证效果——一次对话,两种输入,统一出口

现在,你可以在 ClawdBot 控制台中选择 multimodal-translator Agent,然后尝试:

  • 发送文字:“Je suis étudiant en informatique.”
    → Agent 自动调用 translate 插件,返回:“我是计算机专业的学生。”

  • 发送一张含法语文字的截图(如菜单、路牌)
    → Agent 自动调用 ocr 插件识别出原文,再调用 translate 插件,最终返回中文翻译。

整个过程无需用户指定“我要 OCR”或“我要翻译”,ClawdBot + 大模型 + 插件共同完成了意图理解、工具选择、结果合成——这就是本地 AI 协同工作的自然形态。

4. 插件系统的设计哲学:不止于“加功能”,更是“建生态”

4.1 插件不是“补丁”,而是“标准接口”

很多工具的“插件”本质是代码注入或配置 hack,容易破坏稳定性。ClawdBot 的插件系统从设计之初就坚持三个原则:

  • 协议先行:只接受 HTTP、CLI、Python 函数三种标准协议,拒绝私有 SDK 或二进制绑定;
  • 沙箱隔离:每个插件运行在独立进程或容器中,崩溃不影响主服务;
  • 声明式描述:插件能力通过 JSON 显式声明(输入字段、输出路径、超时时间),便于校验、调试和复用。

这意味着,你今天写的 MoltBot 插件,明天可以无缝替换为 DeepL 或百度翻译的 HTTP 封装,只需改 baseUrlinput 映射,Agent 逻辑完全不用动。

4.2 插件链:让多个能力像流水线一样协作

ClawdBot 支持插件串联。比如,你想实现“图片→OCR→翻译→摘要”四步流程,可以这样定义:

"endpoints": {
  "full-pipeline": {
    "chain": [
      { "plugin": "moltbot-translator.ocr", "input": "{input.image_base64}", "output": "raw_text" },
      { "plugin": "moltbot-translator.translate", "input": "{raw_text}", "output": "chinese_text" },
      { "plugin": "summarizer.summarize", "input": "{chinese_text}", "output": "summary" }
    ],
    "output": "{summary}"
  }
}

这种声明式编排,比写 Python 脚本更直观,比硬编码更易维护,也更适合非程序员的业务人员参与配置。

4.3 开发者友好:从“写插件”到“发包”的完整路径

ClawdBot 社区已建立插件市场雏形。如果你开发了一个通用插件(比如“股票行情查询”、“PDF 文本提取”、“本地知识库检索”),可以:

  • 将插件打包为 Docker 镜像(含健康检查);
  • 编写一份 plugin.yaml 描述元信息(名称、作者、协议、输入输出示例);
  • 提交到官方 GitHub 仓库,经审核后进入 clawdbot/plugins 官方索引;
  • 其他用户只需执行 clawdbot plugins install stock-ticker,即可自动拉取、配置、启用。

这不是空想——MoltBot 的作者已在社区提交了首个官方认证插件包,文档、Dockerfile、测试用例全部开源。

5. 总结:你不是在用一个工具,而是在培育一个 AI 工作流

ClawdBot 的插件系统,本质上是一套面向本地 AI 应用的“微服务治理框架”。它不追求大而全,而是用最小公约数(HTTP/JSON)连接一切可执行能力。MoltBot 只是其中一块拼图,但它清晰地展示了这种架构的威力:

  • 对用户:复杂能力被封装成自然语言可调用的“工具”,提问即所得;
  • 对开发者:无需理解 ClawdBot 内部机制,只要暴露标准接口,就能被千万实例复用;
  • 对生态:每个插件都是可独立演进、可组合、可替换的原子单元,避免锁定,降低创新门槛。

当你在 clawdbot.json 里写下 "plugin": "moltbot-translator.ocr" 的那一刻,你不是在配置一个功能,而是在为自己的 AI 助手签署一份能力合作协议——这份协议不依赖云厂商,不担心服务下线,不涉及隐私泄露,只关乎你对技术主权的坚定选择。

这才是个人 AI 时代,真正值得投入的时间。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐