ClawdBot镜像免配置:docker-compose一键启动多语言机器人教程

ClawdBot镜像免配置:docker-compose一键启动多语言机器人教程

你是否试过在本地搭一个真正能用的AI助手,结果卡在环境配置、模型下载、API密钥、端口冲突上,折腾半天连首页都打不开?ClawdBot不是又一个需要你手动编译、改配置、调依赖的“半成品项目”。它是一套开箱即用的个人AI工作流系统——后端由vLLM驱动,前端带可视化控制台,所有服务打包进一个轻量镜像,一条docker-compose up -d命令,5分钟内就能拥有自己的多语言智能机器人

更关键的是,它不只做聊天。当你把ClawdBot和MoltBot组合起来,就诞生了一个真正落地的Telegram全能翻译官:语音发过去自动转文字再翻译,截图发进来立刻OCR识别+多语种输出,群聊里@一下就能实时互译,顺手还能查天气、换汇率、搜维基。整个流程全部离线运行、零额外费用、不上传任何数据——你的消息永远留在你自己的设备里。

这不是概念演示,而是已经跑在树莓派4、MacBook M1、甚至老旧笔记本上的真实方案。本文不讲原理、不堆参数,只带你一步步从空白系统开始,用最自然的方式完成部署、验证、调优和日常使用。所有操作都在终端里敲几行命令,所有配置都有图形界面可点选,所有问题都有明确解法。现在,我们就开始。

1. 为什么是ClawdBot + MoltBot?一次部署解决三类需求

很多人以为“本地AI助手”就是换个聊天窗口。但真实场景中,你需要的从来不是“能说话”,而是“能办事”。ClawdBot和MoltBot的组合,恰好覆盖了个人用户最常遇到的三类高频需求:对话理解、多模态输入、跨平台分发。它们不是两个独立工具,而是一套协同工作的系统。

1.1 ClawdBot:你的本地AI大脑

ClawdBot本质是一个AI网关(AI Gateway),它不自己训练模型,而是统一调度、编排、管理各种后端模型服务。你可以把它想象成一个“AI交通指挥中心”:

  • 所有请求先到ClawdBot;
  • 它根据任务类型(文本生成、语音转写、OCR识别)分发给对应引擎;
  • 再把结果整合、格式化、返回给前端或下游应用(比如Telegram机器人)。

它默认集成vLLM作为大模型推理后端,这意味着:
速度快:Qwen3-4B模型在普通CPU上也能跑出接近GPU的吞吐;
显存省:vLLM的PagedAttention技术让4GB显存也能稳跑7B级模型;
接口标准:完全兼容OpenAI API格式,你现有的提示词、代码、工具链全都能直接复用。

更重要的是,ClawdBot自带Web控制台(Dashboard),你不需要记命令、不用改JSON、不碰YAML——打开浏览器,点点鼠标就能切换模型、调整参数、查看日志、管理设备。

1.2 MoltBot:你的Telegram翻译前线

如果说ClawdBot是大脑,MoltBot就是伸向Telegram的“手和嘴”。它专为Telegram设计,但能力远超普通翻译机器人:

能力实现方式是否离线
实时文字翻译LibreTranslate(本地部署)+ Google Translate(可选回退)LibreTranslate完全离线
语音转译Whisper tiny 模型本地转写 → 翻译全链路离线
图片OCR翻译PaddleOCR轻量模型识别 → 翻译不依赖云API
快捷查询内置天气、汇率、维基API客户端❌ 需联网,但无敏感数据上传

MoltBot的“零配置”不是营销话术:它的Docker镜像已预装Whisper tiny、PaddleOCR、LibreTranslate服务,所有依赖打包进300MB镜像。你只需提供Telegram Bot Token,docker run moltbot之后,机器人立刻上线——连Nginx反代、HTTPS证书、Webhook配置都帮你绕过去了。

1.3 二者如何协同工作?

ClawdBot和MoltBot通过标准HTTP API通信,架构极简:

Telegram用户 → MoltBot(接收消息) ↓ MoltBot调用ClawdBot API(/v1/chat/completions) ↓ ClawdBot调度vLLM/Qwen3-4B → 生成响应 ↓ ClawdBot返回结果 → MoltBot格式化 → 发回Telegram 

这意味着:
🔹 你升级ClawdBot里的模型(比如换成Qwen2.5-7B),MoltBot自动获得更强理解力;
🔹 你在ClawdBot控制台开启“阅后即焚”,所有经MoltBot处理的消息都不落盘;
🔹 你想加个新功能(比如PDF摘要),只需在ClawdBot里注册一个新Agent,MoltBot无需改动。

这不是两个工具拼凑,而是一体化工作流的前后端分离设计。

2. 一键部署:从空目录到可访问Dashboard

整个过程只需要三个终端命令,全程无需sudo、不改系统配置、不装Python包。我们以Linux/macOS为例(Windows用户请用WSL2)。

2.1 准备工作:确认基础环境

确保你已安装:

  • Docker ≥ 24.0
  • docker-compose ≥ 2.20
  • 4GB以上可用内存(推荐8GB)

验证命令:

docker --version && docker-compose --version 

如果未安装,请先执行(Ubuntu/Debian):

curl -fsSL https://get.docker.com | sh sudo usermod -aG docker $USER newgrp docker # 刷新组权限,避免后续sudo 
注意:ClawdBot对硬件要求极低。我们在树莓派4(4GB RAM)实测:同时运行vLLM(Qwen3-4B)、LibreTranslate、Whisper tiny、PaddleOCR,15人并发翻译无延迟。如果你的设备能跑Docker,它就能跑ClawdBot。

2.2 下载并启动docker-compose.yml

创建空目录,进入后执行:

mkdir clawdbot-moltbot && cd clawdbot-moltbot curl -O https://raw.githubusercontent.com/clawd-bot/clawdbot/main/docker-compose.yml 

这个docker-compose.yml已预配置好所有服务:

  • clawdbot-gateway: 主网关,含Dashboard UI
  • vllm-engine: vLLM推理服务,加载Qwen3-4B模型
  • libretranslate: 本地翻译引擎
  • whisper: 语音转写服务
  • paddleocr: 图片文字识别服务

启动全部服务:

docker-compose up -d 

你会看到类似输出:

[+] Running 5/5 ⠿ Network clawdbot-moltbot_default Created ⠿ Container clawdbot-vllm-engine-1 Started ⠿ Container clawdbot-libretranslate-1 Started ⠿ Container clawdbot-whisper-1 Started ⠿ Container clawdbot-paddleocr-1 Started 

等待约90秒(模型首次加载需时间),检查服务状态:

docker-compose ps 

所有状态应为healthy

2.3 获取Dashboard访问地址

ClawdBot Dashboard默认监听localhost:7860,但首次启动需设备授权。执行:

docker-compose exec clawdbot-gateway clawdbot devices list 

输出类似:

ID Status Created Last Seen abc123 pending 2026-01-24 10:22:15 - 

复制ID(如abc123),批准设备:

docker-compose exec clawdbot-gateway clawdbot devices approve abc123 

批准后,再次执行:

docker-compose exec clawdbot-gateway clawdbot dashboard 

你会看到类似输出:

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

将URL粘贴到浏览器,即可打开ClawdBot控制台。如果本地无法访问(常见于远程服务器),按提示执行SSH端口转发:

ssh -N -L 7860:127.0.0.1:7860 user@your-server-ip 

然后在本机浏览器打开http://localhost:7860

小技巧:Dashboard右上角有“Token”按钮,可随时生成新token,避免链接泄露。

3. 模型配置实战:不改代码,三步切换更强模型

ClawdBot默认加载Qwen3-4B-Instruct,适合大多数场景。但如果你需要更强逻辑、更长上下文或特定领域能力,切换模型只需三步——全部在UI中完成,无需编辑JSON。

3.1 进入模型配置界面

打开Dashboard → 左侧菜单点击 ConfigModelsProviders

你会看到当前配置的vllm提供方,以及已注册的模型列表。

3.2 添加新模型(以Qwen2.5-7B为例)

点击右上角 + Add Model,填写:

  • Provider: vllm(保持默认)
  • Model ID: Qwen2.5-7B-Instruct
  • Name: Qwen2.5-7B-Instruct
  • Base URL: http://vllm-engine:8000/v1(注意:这是容器内地址,非localhost)
  • API Key: sk-local(ClawdBot与vLLM约定的固定密钥)

点击 Save

为什么Base URL写vllm-engine:8000?因为这是Docker Compose服务名,在容器网络中可直接解析。写localhost会失败。

3.3 设为默认模型并验证

回到 ConfigAgentsDefaults,找到model.primary字段,将值改为:

vllm/Qwen2.5-7B-Instruct 

保存后,终端执行验证命令:

docker-compose exec clawdbot-gateway clawdbot models list 

输出应包含新模型:

Model Input Ctx Local Auth Tags vllm/Qwen2.5-7B-Instruct text 32k yes yes default vllm/Qwen3-4B-Instruct-2507 text 195k yes yes 

此时所有新会话将自动使用Qwen2.5-7B。你也可以在单次请求中指定模型,例如在Dashboard的Chat界面,输入:

/model vllm/Qwen2.5-7B-Instruct 你好,用中文总结这篇论文 
提示:Qwen2.5-7B需约6GB显存。若设备显存不足,可改用Qwen2.5-1.5B-Instruct(2GB显存足够),速度更快,适合日常对话。

4. 接入Telegram:让MoltBot成为你的翻译助手

MoltBot是ClawdBot的能力出口。部署完ClawdBot后,MoltBot只需一行命令即可接入Telegram,无需修改ClawdBot配置。

4.1 获取Telegram Bot Token

  1. 在Telegram中搜索@BotFather
  2. 发送 /newbot
  3. 按提示输入机器人名称(如MyClawdTranslator)和用户名(如my_clawd_translator_bot
  4. BotFather会返回Token,形如:1234567890:ABCdefGhIJKlmNoPQRstUvwXYZaBcDeFgHiJkLm

4.2 启动MoltBot并关联ClawdBot

同一目录下,执行:

docker run -d \ --name moltbot \ --network clawdbot-moltbot_default \ -e TELEGRAM_BOT_TOKEN="1234567890:ABCdefGhIJKlmNoPQRstUvwXYZaBcDeFgHiJkLm" \ -e CLAWDBOT_API_URL="http://clawdbot-gateway:7860" \ -e CLAWDBOT_API_KEY="sk-local" \ -p 8080:8080 \ moltbot/moltbot 

关键参数说明:

  • --network clawdbot-moltbot_default: 复用ClawdBot的Docker网络,使MoltBot能直接访问clawdbot-gateway服务
  • CLAWDBOT_API_URL: 指向ClawdBot网关(容器内地址)
  • CLAWDBOT_API_KEY: 与ClawdBot配置一致的密钥

4.3 测试与使用

  1. 打开Telegram,搜索你创建的机器人用户名(如@my_clawd_translator_bot
  2. 点击Start
  3. 发送任意消息,例如:
    Hello, how's the weather in Beijing?
    机器人将调用ClawdBot,用Qwen模型理解意图,再调用天气插件返回结果。

群聊中,只需@my_clawd_translator_bot Hello,即可触发翻译。发送语音或图片,同样自动处理。

故障排查:如果机器人无响应,检查MoltBot日志:
docker logs moltbot | tail -20
常见错误是网络不通(确认--network参数)或Token错误(重新获取)。

5. 日常维护与实用技巧

部署只是开始。让ClawdBot长期稳定运行,需要几个简单但关键的习惯。

5.1 日志查看:快速定位问题

ClawdBot所有服务日志集中输出到clawdbot-gateway容器:

# 查看整体日志流 docker-compose logs -f clawdbot-gateway # 查看最近100行(不实时) docker-compose logs --tail 100 clawdbot-gateway # 只看错误(关键词error/fail) docker-compose logs clawdbot-gateway 2>&1 | grep -i "error\|fail\|exception" 

MoltBot日志单独查看:

docker logs moltbot 

5.2 模型热更新:不重启服务更换模型

ClawdBot支持运行时重载模型配置。当你在UI中修改模型设置并保存后,无需重启容器。ClawdBot会自动检测/app/clawdbot.json变更,并在30秒内生效。

验证是否生效:在Dashboard Chat界面发送/status,返回的模型信息会实时更新。

5.3 数据隐私控制:真正“我的数据,我做主”

ClawdBot默认不存储任何用户消息。但你仍可进一步加固:

  • 启用阅后即焚:Dashboard → Config → Agents → Defaults → ephemeral设为true
  • 禁用历史记录:同页面关闭history.enabled

代理出口流量:在clawdbot.json中添加代理配置(适用于国内网络):

"proxy": { "http": "http://127.0.0.1:7890", "https": "http://127.0.0.1:7890" } 

所有配置修改后,保存并等待自动重载即可。

5.4 性能优化小贴士

  • 显存不足?docker-compose.yml中降低vLLM的--max-num-seqs(默认256),改为128或64
  • 响应慢? 检查clawdbot-gateway容器CPU占用:docker stats clawdbot-moltbot-clawdbot-gateway-1,若持续>90%,考虑增加CPU配额
  • 想省空间? 删除旧镜像:docker image prune -f(不影响正在运行的容器)

6. 总结:你已拥有了什么?

回看这5分钟的部署过程,你实际获得的不是一个“能跑的Demo”,而是一套可生产、可扩展、可掌控的个人AI基础设施

一个本地AI大脑:ClawdBot网关,统一调度vLLM、OCR、语音等引擎,所有交互走标准API;
一个跨平台出口:MoltBot Telegram机器人,把AI能力无缝接入你每天使用的通讯工具;
一套零学习成本的操作方式:所有配置在网页点选,所有命令清晰可复制,所有问题有明确路径;
一份真正的数据主权:消息不上传、模型不调用第三方API、配置完全自主可控。

这不是“玩具项目”,而是已经支撑起真实工作流的工具:有人用它自动翻译海外技术文档,有人用它为家人制作双语家庭相册,还有人把它嵌入智能家居中,实现语音指令的本地化理解。

下一步,你可以:
→ 在ClawdBot中添加PDF解析Agent,让机器人读懂你的论文;
→ 用MoltBot的/wiki命令快速检索技术概念;
→ 把ClawdBot API接入Notion或Obsidian,构建个人知识库;
→ 或者,就让它安静地待在后台,当你需要时,一句“帮我写封英文邮件”,它立刻出现。

技术的价值,从来不在参数多高,而在是否真正为你所用。现在,它已经在你机器里运行了。


获取更多AI镜像

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

Read more

县域烟花禁燃监管 GIS 实践:基于 Java 与高德地图的销售点盘点 —— 以新晃县为例

县域烟花禁燃监管 GIS 实践:基于 Java 与高德地图的销售点盘点 —— 以新晃县为例

目录 一、前言 1. 背景描述 2. 聚焦新晃县 二、Java 实现高德检索 1. 接口定义 核心接口参数定义 2. 数据获取 核心实现代码 POI类说明 三、成果展示 1. Excel 展示 2、表格展示         四、总结 一、前言 1. 背景描述         春节期间烟花爆竹禁燃禁放是保障公共安全、改善空气质量的重要举措,而禁燃政策落地的核心环节之一,是对县域范围内烟花爆竹销售点的精准盘点与动态监管。传统的人工排查方式存在效率低、数据更新不及时、空间位置可视化差等问题,难以满足县域精细化监管的需求。在高德地图中查询烟花销售专卖店的信息如下:         地理信息系统(GIS)技术能够将空间位置与业务数据深度融合,而高德地图 API 提供了成熟的地理编码、POI 检索等能力,结合 Java 语言的跨平台、

By Ne0inhk
(第三篇)Spring AI 实战进阶:从0开发IDEA插件版AI代码助手(Java全栈+上下文感知)

(第三篇)Spring AI 实战进阶:从0开发IDEA插件版AI代码助手(Java全栈+上下文感知)

前言 作为 Java 开发者,我们每天都在重复编写 CRUD 代码、调试语法错误、优化性能问题 —— 这些机械性工作占用了大量时间,而市面上的通用 AI 代码助手(如 Copilot)往往无法精准感知项目上下文(比如项目的包结构、依赖版本、数据库表结构),生成的代码需要大量修改才能落地。 笔者近期基于 Spring AI+IDEA 插件开发了一款定制化 AI 代码助手:后端基于 Spring AI 整合 JavaParser、Maven API 实现代码解析与生成,前端通过 IDEA 插件提供对话窗口和一键插入代码功能,支持需求描述→完整代码生成代码优化、上下文感知、补全三大核心能力。本文将从实战角度,完整拆解这款 AI 代码助手的开发全流程,所有代码均为生产环境可直接复用的实战代码,同时结合可视化图表清晰呈现核心逻辑,希望能帮你打造专属的 AI

By Ne0inhk
【Java】数据类型,运算符和方法重点总结

【Java】数据类型,运算符和方法重点总结

一、数据类型 1.1 两种数据类型 在Java中,数据类型主要分为 基本数据类型 和 引用数据类型 。 1.1.1 基本数据类型 基本数据类型共有四类八种: 整型:byte, short, int, long,浮点型:float, double,字符型:char,布尔型:boolean 八种基本数据类型的位数、取值范围和默认值如下表: 数据类型占用大小(字节)位数取值范围默认值描述byte18-128(-2⁷)到 127(2⁷-1)0最小的整数类型,适合用于节省内存的场景short216-32768(-2¹⁵)到32767(2¹⁵-1)0较少使用,通常用于需要节省内存且数据范围在该区间的场景int432-2147483648(-2³¹)到2147483647(2³¹-1)0最常用的整数类型,

By Ne0inhk
Java 大视界 -- Java 大数据在智能教育学习成果评估体系完善与教育质量提升中的深度应用(434)

Java 大视界 -- Java 大数据在智能教育学习成果评估体系完善与教育质量提升中的深度应用(434)

Java 大视界 -- Java 大数据在智能教育学习成果评估体系完善与教育质量提升中的深度应用(434) * 引言: * 正文: * 一、Java 大数据赋能智能教育评估的核心逻辑 * 1.1 教育评估数据特性与 Java 技术栈的精准适配 * 1.1.1 核心价值:从 “经验驱动” 到 “数据驱动” 的范式跃迁 * 1.2 数据流转与评估建模的底层逻辑 * 二、核心技术架构与落地路径(可直接复用) * 2.1 分层解耦的高可用架构设计 * 2.1.1 采集层:高并发多端数据接入(Java + Kafka) * 2.1.2 处理层:Spark + Hive 实现海量数据清洗与建模 * 2.1.

By Ne0inhk