ClawdBot多平台支持:Telegram私聊/群聊/频道不同策略配置指南

ClawdBot 是一个你可以在自己设备上运行的个人 AI 助手,它不依赖云端服务,所有推理都在本地完成。本应用使用 vLLM 提供高性能后端模型能力,支持 Qwen、Llama、Phi 等主流开源模型,响应快、上下文长、资源占用低。与市面上多数 Telegram 机器人不同,ClawdBot 的核心定位是「可定制的智能代理」——它不是开箱即用的翻译工具或客服模板,而是一个能按需配置行为逻辑、适配不同通信场景的底层框架。

而 MoltBot 则是另一个完全独立、但常被拿来对比的项目:它是 2025 年开源的「多语言、多平台、零配置」Telegram 翻译机器人。一句话概括:MoltBot 是为翻译而生的极简主义者,ClawdBot 是为智能而建的可编程底座。前者追求“一条命令上线、100 种语言秒翻”,后者专注“一套配置管三类会话、私聊群聊频道各司其职”。本文不讲 MoltBot,只聚焦 ClawdBot —— 如何真正用好它在 Telegram 上的多场景能力。

1. ClawdBot 的 Telegram 通信模型本质

ClawdBot 并非传统意义上的“机器人账号”,而是一个消息网关 + 智能代理调度器。它通过 Telegram Bot API 接入消息流,但把“谁来处理”“怎么处理”“处理到什么程度”全部交由配置驱动。这种设计带来两个关键优势:一是避免硬编码逻辑导致的维护僵化,二是让同一套部署同时服务私聊用户、协作群组和内容频道成为可能。

1.1 三种 Telegram 场景的本质差异

场景类型 典型角色 消息特征 用户预期 ClawdBot 应对重点
私聊(DM) 一对一助手 高频、长对话、含敏感信息、需强记忆 即时响应、上下文连贯、隐私安全 启用会话持久化、限制模型调用深度、默认开启阅后即焚
群聊(Group) 协作协作者 多人混发、@提及触发、消息密度高、易刷屏 响应精准(仅响应 @)、不抢话、不刷屏、支持快捷指令 设置 groupPolicy: allowlistmentionOnly、禁用自动回复、启用关键词过滤
频道(Channel) 内容分发者 单向广播、无交互、高吞吐、需格式统一 不响应、仅转发/摘要/增强原始内容 关闭消息处理入口、启用 streamMode: partial、走 webhook 预处理流水线

注意:ClawdBot 官方文档明确指出,“频道模式”在当前版本中属于实验性支持,且因 Telegram API 限制,频道无法主动接收用户消息(仅支持 bot 作为管理员向频道发消息)。所谓“频道配置”,实际是指将 ClawdBot 作为频道内容增强器——例如监听 RSS 源、抓取网页、生成摘要后自动推送到频道。本文后续提到的“频道配置”,均指该增强型单向工作流。

2. 私聊场景:打造专属 AI 伙伴的配置要点

私聊是你和 ClawdBot 最亲密的交互方式。这里没有干扰、没有误触,适合部署高智能、高定制、高隐私要求的功能。配置的核心是:让每一次对话都像和熟悉的朋友聊天

2.1 基础连接与身份确认

ClawdBot 不会自动绑定 Telegram 账号。首次启动后,你需要手动完成设备授权:

clawdbot devices list

你会看到类似这样的输出:

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

执行批准命令(替换 abc123 为你的实际 ID):

clawdbot devices approve abc123

批准后,ClawdBot 就会以你的 Telegram 账号身份运行,并在私聊中显示为“已验证设备”。

2.2 私聊专属策略配置

打开 /app/clawdbot.json,在 channels.telegram 下添加或修改以下字段:

{
  "channels": {
    "telegram": {
      "enabled": true,
      "dmPolicy": "pairing",
      "botToken": "YOUR_TELEGRAM_BOT_TOKEN",
      "groupPolicy": "disabled",
      "channelPolicy": "disabled",
      "privacyMode": "ephemeral",
      "maxHistoryLength": 20,
      "autoApproveNewChats": true
    }
  }
}
  • dmPolicy: "pairing" 表示仅接受已配对用户的私聊(即你主动发起或批准过的会话),拒绝陌生请求;
  • privacyMode: "ephemeral" 开启阅后即焚,所有对话记录在内存中暂存,重启即清空;
  • maxHistoryLength: 20 控制上下文窗口长度,避免过长历史拖慢响应;
  • autoApproveNewChats: true 允许你新添加的好友无需二次确认即可开始对话(如需更高安全等级,设为 false)。

2.3 实用技巧:让私聊更自然

  • 自定义欢迎语:在 agents.defaults.prompt 中插入系统提示词,例如:
    你是一位沉稳、有耐心的个人助理,擅长技术解释和日常建议。不主动提问,除非用户需要进一步澄清。回答控制在三句话内,必要时提供代码示例。
    
  • 禁用冗余输出:在 UI 的 “Config → Agents → Defaults” 中关闭 showThinkingStepsshowModelUsage,避免每次回复都附带推理日志;
  • 语音输入支持:若已部署 Whisper,可在私聊中直接发送语音消息,ClawdBot 自动转写+翻译+回答,全程离线。

3. 群聊场景:从“群友”到“协作者”的角色切换

群聊不是放大版私聊。在 200 人的技术群里,如果 ClawdBot 对每条消息都热情回应,结果只会是刷屏、误判、被踢出群。ClawdBot 的群聊策略核心就一条:只在被需要时出现,且必须精准。

3.1 群聊准入机制配置

ClawdBot 提供三种群聊策略,推荐按团队规模选择:

策略类型 适用场景 配置示例 特点
mentionOnly(推荐) 所有公开/半公开群 "groupPolicy": "mentionOnly" 仅当消息中包含 @your_bot_name 时响应,零干扰
allowlist 小范围核心协作群 "groupPolicy": "allowlist", "allowedGroups": ["123456789", "-987654321"] 只响应指定群 ID 的消息,需提前用 clawdbot groups list 获取 ID
disabled 禁用群聊功能 "groupPolicy": "disabled" 彻底关闭群聊入口,最安全

强烈建议新用户从 mentionOnly 入手。它不需要你记住群 ID,不依赖额外权限,且符合 Telegram 用户习惯。

3.2 群聊行为精细化控制

在群聊中,你还应关闭一些私聊默认开启的功能:

{
  "agents": {
    "defaults": {
      "enableMemory": false,
      "enableAutoSummarize": false,
      "maxConcurrent": 2,
      "subagents": {
        "maxConcurrent": 4
      }
    }
  }
}
  • enableMemory: false:群聊中不维护长期记忆,避免混淆不同用户发言;
  • enableAutoSummarize: false:不自动总结长消息,防止打断讨论节奏;
  • maxConcurrent: 2:限制并发处理数,防止高密度消息导致 OOM。

3.3 群聊实用功能落地示例

  • 技术问答快捷入口:在群中发送 /help,ClawdBot 返回预设指令列表,如 /code python sort list 自动生成排序代码;
  • 会议纪要辅助:群成员发送会议录音(.m4a),ClawdBot 自动转写 → 提取待办事项 → 生成 Markdown 格式纪要;
  • 文档摘要:粘贴长篇技术文档链接,ClawdBot 抓取正文 → 提炼核心观点 → 输出三点式摘要。

这些功能无需开发,只需在 UI 的 “Config → Prompts” 中添加对应 prompt 模板,并绑定到 /code/summary 等指令即可。

4. 频道场景:内容增强而非互动响应

再次强调:ClawdBot 不能也不应作为频道的“互动机器人”使用。Telegram 频道是单向广播通道,bot 无法监听普通用户消息。但正因如此,它成了绝佳的「内容增强引擎」——你可以把它变成你的自动化编辑部。

4.1 频道工作流设计思路

典型频道增强链路如下:

RSS 源 / 网页 / API → ClawdBot 抓取解析 → 模型摘要/润色/多语言翻译 → 格式化排版 → 推送至频道

整个过程无需人工干预,且所有中间步骤均可审计、可回溯。

4.2 配置实现(以 RSS 为例)

ClawdBot 本身不内置 RSS 抓取器,但可通过 webhook + 外部脚本轻松集成。以下是轻量级实现方案:

  1. 创建一个 Python 脚本 rss_to_channel.py,使用 feedparser 抓取 RSS,调用 ClawdBot 的 /v1/chat/completions 接口进行摘要:
import feedparser
import requests
import json

FEED_URL = "https://example.com/feed.xml"
CLAWDBOT_API = "http://localhost:8000/v1/chat/completions"
BOT_TOKEN = "YOUR_TELEGRAM_BOT_TOKEN"
CHANNEL_ID = "@your_channel"

# 抓取最新条目
feed = feedparser.parse(FEED_URL)
entry = feed.entries[0]

# 构造摘要 prompt
prompt = f"""请用中文为以下技术文章生成 80 字以内摘要,要求突出技术亮点和适用场景:
标题:{entry.title}
正文:{entry.summary[:500]}"""

response = requests.post(
    CLAWDBOT_API,
    headers={"Authorization": "Bearer sk-local"},
    json={
        "model": "vllm/Qwen3-4B-Instruct-2507",
        "messages": [{"role": "user", "content": prompt}],
        "temperature": 0.3
    }
)

summary = response.json()["choices"][0]["message"]["content"]

# 推送至频道(使用 Telegram Bot API)
requests.post(
    f"https://api.telegram.org/bot{BOT_TOKEN}/sendMessage",
    data={"chat_id": CHANNEL_ID, "text": f"📰 {entry.title}\n\n{summary}\n\n {entry.link}"}
)
  1. 将该脚本加入 crontab,每小时执行一次:
0 * * * * cd /path/to/script && python3 rss_to_channel.py >> /var/log/clawd-rss.log 2>&1

4.3 配置文件中的频道相关设置

虽然不处理入站消息,但需在 clawdbot.json 中显式声明频道模式,避免网关误判:

{
  "channels": {
    "telegram": {
      "channelPolicy": "disabled",
      "streamMode": "partial"
    }
  },
  "webhooks": {
    "enabled": true,
    "endpoints": [
      {
        "name": "rss-processor",
        "method": "POST",
        "path": "/webhook/rss",
        "auth": "none"
      }
    ]
  }
}
  • streamMode: "partial" 告诉网关:此实例仅用于部分流式任务(如 webhook 回调),不参与实时消息循环;
  • webhooks.enabled: true 开启外部事件接入能力,为上述 RSS 脚本提供调用入口。

5. 模型与性能协同优化:让不同场景跑得更快更稳

ClawdBot 的多场景能力,最终都要落在模型调用上。一个 4B 模型在私聊中游刃有余,但在 50 人活跃群中并发处理 10 条 @bot 请求,就可能排队卡顿。因此,场景策略必须与模型资源配置联动

5.1 按场景分配模型资源

ClawdBot 支持为不同渠道设置独立的 agent 配置。你可以在 clawdbot.json 中这样定义:

{
  "agents": {
    "telegram-dm": {
      "model": { "primary": "vllm/Qwen3-4B-Instruct-2507" },
      "maxConcurrent": 4,
      "timeout": 30
    },
    "telegram-group": {
      "model": { "primary": "vllm/Phi-3-mini-4k-instruct" },
      "maxConcurrent": 8,
      "timeout": 15,
      "enableMemory": false
    }
  }
}

然后在 channels.telegram 中引用:

"dmAgent": "telegram-dm",
"groupAgent": "telegram-group"
  • 私聊用 Qwen3-4B:更强推理、支持长上下文、适合深度交流;
  • 群聊用 Phi-3-mini:体积小(<2GB)、启动快、响应 <1s,专为高频轻量请求优化。

5.2 验证模型是否就位

配置完成后,务必验证模型加载状态:

clawdbot models list

正常输出应包含你配置的模型,并标注 Local Auth: yesTags: default

Model                                      Input      Ctx      Local Auth  Tags
vllm/Qwen3-4B-Instruct-2507                text       195k     yes         default
vllm/Phi-3-mini-4k-instruct                text       4k       yes         group

若未出现,请检查:

  • vLLM 服务是否已启动(curl http://localhost:8000/health);
  • clawdbot.jsonmodels.providers.vllm.baseUrl 是否指向正确地址;
  • 模型路径是否存在于 vLLM 的 --model 参数指定目录中。

6. 故障排查与常见问题速查

即使配置无误,Telegram 环境的复杂性仍可能导致异常。以下是高频问题及一招解法:

6.1 “Dashboard 打不开”问题

现象:浏览器访问 http://localhost:7860 显示拒绝连接。

解决方案:

  • 运行 clawdbot dashboard,复制输出中的完整 URL(含 ?token=xxx);
  • 若在远程服务器,按提示执行 SSH 端口转发:
    ssh -N -L 7860:127.0.0.1:7860 user@your-server-ip
    
  • 然后在本地浏览器打开 http://localhost:7860

6.2 “群聊不响应 @”问题

现象:在群中 @bot hello,无任何回复。

排查顺序:

  1. 检查 clawdbot.jsongroupPolicy 是否为 "mentionOnly""allowlist"
  2. 进入 Telegram 群设置 → 管理员 → 确认 bot 已开启 “Inline Mode” 和 “Group Privacy”(必须关闭 Group Privacy!);
  3. 运行 clawdbot channels status --deep,确认 gateway 连接正常;
  4. 查看日志:journalctl -u clawdbot -f,搜索 telegram 关键字,确认消息是否抵达网关。

6.3 “语音/图片不处理”问题

现象:发送语音或图片,ClawdBot 无反应。

原因与修复:

  • 语音:需确保 Whisper 模型已下载并配置在 models.providers.whisper 下;检查 clawdbot models list 是否有 whisper-* 条目;
  • 图片:需启用 PaddleOCR,且 clawdbot.jsonvision.enabled: true;图片尺寸不宜过大(建议 <2MB),格式为 JPG/PNG。

获取更多AI镜像

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

Logo

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

更多推荐