ClawdBot多平台支持:Telegram私聊/群聊/频道不同策略配置指南
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: allowlist 或 mentionOnly、禁用自动回复、启用关键词过滤 |
| 频道(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” 中关闭
showThinkingSteps和showModelUsage,避免每次回复都附带推理日志; - 语音输入支持:若已部署 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 + 外部脚本轻松集成。以下是轻量级实现方案:
- 创建一个 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}"}
)
- 将该脚本加入 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: yes 和 Tags: 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.json中models.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,无任何回复。
排查顺序:
- 检查
clawdbot.json中groupPolicy是否为"mentionOnly"或"allowlist"; - 进入 Telegram 群设置 → 管理员 → 确认 bot 已开启 “Inline Mode” 和 “Group Privacy”(必须关闭 Group Privacy!);
- 运行
clawdbot channels status --deep,确认 gateway 连接正常; - 查看日志:
journalctl -u clawdbot -f,搜索telegram关键字,确认消息是否抵达网关。
6.3 “语音/图片不处理”问题
现象:发送语音或图片,ClawdBot 无反应。
原因与修复:
- 语音:需确保 Whisper 模型已下载并配置在
models.providers.whisper下;检查clawdbot models list是否有whisper-*条目; - 图片:需启用 PaddleOCR,且
clawdbot.json中vision.enabled: true;图片尺寸不宜过大(建议 <2MB),格式为 JPG/PNG。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
更多推荐


所有评论(0)