找回密码
 立即注册
首页 业界区 业界 腾讯云部署OpenClaw并集成Telegram机器人

腾讯云部署OpenClaw并集成Telegram机器人

呼延含玉 前天 18:55
1 项目安装部署

1.1 购买腾讯云

首先需要购买腾讯云的“轻量应用服务器”,如果是新用户价格还是比较实惠的,最低配置版本一年只需要99元,但是如果是老用户最便宜的是30元/月,比阿里云最低配的还要贵一些。

出于性能考虑,买的是199元/年的这款,为了正常流畅的下载github上相关项目,地域这里选的是东京,操作系统选的是“Ubuntu22.04-Docker26-V0OA”,该镜像基于Ubuntu Server 22.04 LTS 64位操作系统,其中Docker镜像源已默认配置为腾讯云Docker镜像源,可极大加速Docker镜像下载。配置完成并运行后详细情况如下所示:

 
1.2 安装OpenClaw

这里选择使用openclaw-cn这个开源项目来进行部署,项目地址:https://github.com/jiulingyun/openclaw-cn,为什么不直接用OpenClaw官方安装呢?因为OpenClaw项目目前主要接入的是国外的IM软件,对国内环境不太友好,所以使用openclaw-cn这个项目,它对国内平台的支持更好,配置也更方便,参考4中给出了飞书的配置过程。
1 安装Node.js

安装Node.js有多种方法,这里使用NVM安装,NVM(Node Version Manager)允许你在同一台机器上安装和切换多个Node.js版本,且不需要sudo权限安装包。
首先,安装 NVM 脚本:
  1. curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
复制代码
其次,激活环境,重启终端或运行:
  1. source ~/.bashrc
复制代码
之后,安装 Node.js:
  1. 安装最新LTS版本:nvm install --lts安装特定版本:nvm install 20
复制代码
最后,可通过以下命令查看相关软件版本:
  1. nvm lsnode -vnpm -v
复制代码
如这里使用的是最新版本:v24.13.1。
2 安装部署OpenClaw

这里使用项目推荐的安装方式,使用npm进行部署:
  1. npm install -g openclaw-cn@latest# 或pnpm add -g openclaw-cn@latest
复制代码

安装完成后,输入下面的命令检查安装是否正常:
  1. openclaw-cn
复制代码

3 模型配置

运行如下命令:
  1. openclaw-cn onboard --install-daemon
复制代码
这里有一个安装向导,我们选择Yes,之后选择快速安装:

在接下来的模型选择中,这里先跳过:

如果跳过后还让选择模型,这里可使用默认的anthropic/claude-opus-4-6,接下来是通道选择,这里选择Telegram:

打开Telegram,然后@BotFather并输入/newbot创建一个新bot:

之后会要求你“choose a name”并“choose a username for your bot”,完成这一切即可创建好telegram机器人,并生成Telegram token to access the HTTP API:

需要把这个token复制下来,接下来我们把这个token复制到vps Telegram配置页面:

接下来选择默认选项,完成配置:

之后输出信息如下所示:

下面以DeepSeek-V3.2正式版为例详细进行说明,首先要访问DeepSeek开放平台注册账号,然后创建API key,需要记录该key后续要将其配置到openclaw中:

之后需要对账户进行充值,如充值10元进行实验,否则后续API调用时会返回“HTTP 402: Insufficient Balance”的错误,这是DeepSeek账号余额不足的报错,充值后即不会再出现该报错,同时在deepseek后台会看到API请求次数信息,Tokens使用情况,以及消费金额及充值余额信息:

之前并没有配置大模型,在openclaw配置完成后,可以通过以下命令重新修改相关配置:
  1. openclaw-cn configure
复制代码
运行该命令后可以根据需要修改相关配置,如修改模型时需按向导进行模型选择及配置API key,这里输入上述新创建的key:

配置完成后还可以通过修改.openclaw/openclaw.json配置文件修改相关配置,其内容如下:
  1. {  "meta": {    "lastTouchedVersion": "0.1.6",    "lastTouchedAt": "2026-02-25T04:11:18.734Z"  },  "wizard": {    "lastRunAt": "2026-02-25T04:09:59.101Z",    "lastRunVersion": "0.1.6",    "lastRunCommand": "doctor",    "lastRunMode": "local"  },  "auth": {    "profiles": {      "deepseek:default": {        "provider": "deepseek",        "mode": "api_key"      }    }  },  "models": {    "mode": "merge",    "providers": {      "deepseek": {        "baseUrl": "https://api.deepseek.com/v1",        "api": "openai-completions",        "models": [          {            "id": "deepseek-chat",            "name": "DeepSeek Chat",            "reasoning": false,            "input": [              "text"            ],            "cost": {              "input": 0,              "output": 0,              "cacheRead": 0,              "cacheWrite": 0            },            "contextWindow": 128000,            "maxTokens": 8192          }        ]      }    }  },  "agents": {    "defaults": {      "model": {        "primary": "deepseek/deepseek-chat"      },      "models": {        "deepseek/deepseek-chat": {          "alias": "DeepSeek Chat"        }      },      "workspace": "/home/ubuntu/.openclaw/workspace",      "compaction": {        "mode": "safeguard"      },      "maxConcurrent": 4,      "subagents": {        "maxConcurrent": 8      }    }  },  "messages": {    "ackReactionScope": "group-mentions"  },  "commands": {    "native": "auto",    "nativeSkills": "auto"  },  "hooks": {    "internal": {      "enabled": true,      "entries": {        "boot-md": {          "enabled": true        },        "command-logger": {          "enabled": true        },        "session-memory": {          "enabled": true        }      }    }  },  "channels": {    "telegram": {      "enabled": true,      "dmPolicy": "pairing",      "botToken": "8756989402:xxxxx",      "groupPolicy": "allowlist",      "streamMode": "partial"    }  },  "gateway": {    "port": 18789,    "mode": "local",    "bind": "loopback",    "auth": {      "mode": "token",      "token": "xxxxx"    },    "tailscale": {      "mode": "off",      "resetOnExit": false    }  },  "skills": {    "install": {      "nodeManager": "npm"    }  },  "plugins": {    "entries": {      "telegram": {        "enabled": true      }    }  }}
复制代码
View Code配置中"bind": "loopback",会使得openclaw启动时监听回环地址,这里尝试修改为0.0.0.0任意地址始终没有成功,后来查询AI给出的解释是:OpenClaw的设计哲学显然是“安全高于一切”,它为了保护你的 API Key 和数据,强行把所有的监听都锁死在127.0.0.1这种“安全区”,却给远程部署的用户设下了重重障碍。只能按照AI建议,使用SSH隧道(伪装成 localhost),即在本地电脑(Windows CMD 或 Mac 终端)运行:
  1. ssh -L 18789:127.0.0.1:18789 ubuntu@xx.xx.xx.xx
复制代码
以上命令中xx.xx.xx.xx是腾讯云服务器IP地址,并保持这个窗口不要关,最小化即可:

在本地浏览器输入:http://127.0.0.1:18789,即可访问配置的openclaw(注意需要在腾讯云后台的防火墙中放开相应端口的外部访问),这种方法的原理:因为你访问的是127.0.0.1,OpenClaw会判定你在“本地”安全环境,所有的1008和1006报错都会瞬间消失。

2 项目应用

2.1 Web访问

如上一节所述,在配置ssh通道以后即可直接通过127.0.0.1:18789直接访问openclaw,可以直接在交互窗口和其进行对话,还可以在web界面查看或修改相关配置,如下图所示:

2.2 openclaw-cn tui

openclaw-cn tui是OpenClaw-CN最核心的交互命令,其中TUI是Text User Interface(文本用户界面)的缩写,简单来说:openclaw-cn tui就是OpenClaw的命令行交互式聊天界面——你可以把它理解成 “在终端里直接和 AI 模型对话的窗口”。其核心作用是直接和模型交互,而无需打开网页,在终端里就能输入问题/指令,DeepSeek(或你配置的其他模型)会直接在终端返回回答,是最轻量化的使用方式。

2.3 Telegram机器人

首先在BotFather对话框中通过“/mybots”选择机器人,之后会让你选择启动哪个机器人,这里选择之前创建的“support_bot @helpzww_bot”,随后会出现相关菜单项,可以对机器人进行编辑设置删除等操作,直接通过@helpzww_bot打开相应机器人的对话框:

然后通过“/start”启用机器人,Telegram会给出相关提示,让你在shell终端执行相应的命令配置机器人,配置完成后就可以和Telegram机器人进行对话了,如图所示:

最后还可以将机器人拉入到Telegram群中,创建测试群,在Telegram群中,点击群名称,选择"添加成员"添加若干测试用户,然后通过用户名@helpzww_bot将机器人也添加到群中,最后还需设置机器人权限,确保机器人有读取消息的权限,这里直接设置机器人为管理员以获得更好的功能支持:

之后即可在群里@机器人并向他提问问题:

最后还有一个问题,就是发现只有群拥有者@机器人才能给出响应,AI给出的方案是:关闭隐私模式,即要让机器人能够“听到”群内所有成员的消息(包括普通对话),你需要通过 BotFather 修改设置:
1 打开 Telegram,搜索并进入与 @BotFather 的对话框。
2 输入指令 /mybots。
3 在列表中选择你正在使用的那个机器人。
4 点击 Bot Settings。
5 点击 Group Privacy。
6 点击 Turn off(或者点击 Disable)。当你看到提示 Privacy mode is now disabled for [YourBot] 时,设置生效。
7 关键一步:设置更改后,通常需要将机器人移出群组并重新邀请进入,设置才会刷新。
但是通过这些操作后发现群内其他普通用户在@机器人时它仍无法给出响应,后来发现问题就出在配置文件中的groupPolicy参数上,默认配置是groupPolicy": "allowlist",此时Telegram渠道的群组策略设置为了allowlist(白名单模式)。这意味着:机器人会检查当前群组是否在它的允许列表内,默认情况下,如果白名单为空,机器人只会响应群主(Owner)或特定的管理员,因为它无法确认该群组是否被允许提供服务。OpenClaw 0.1.6版本的groupPolicy接受open、disabled或allowlist,open允许群组内的任何人通过 @机器人 或输入指令来触发响应,而disabled完全禁止在群组中使用。所以这里将openclaw.json配置文件中的groupPolicy改为“open",然后重新运行openclaw:openclaw-cn gateway run,此时发现群内其他非管理员群员@机器人提问问题时它也会给出响应了。

2.4 openclaw 常用命令

1 基础命令

先看最基本的几个命令,这几个是入门必会的:
  1. openclaw --version          # 查看当前安装版本openclaw --help             # 查看帮助信息openclaw onboard            # 全流程引导配置(首次安装必用)openclaw onboard --force    # 强制重新初始化(配置搞乱了就用这个)
复制代码
2 配置管理

配置管理是使用频率非常高的命令,特别是查看和修改模型、通道配置的时候:
  1. openclaw config list                    # 查看所有配置项openclaw config get all                 # 获取全部配置详情openclaw config get models              # 单独查看模型配置openclaw config get channels            # 单独查看通道配置openclaw config set gateway.port 18789  # 设置网关端口openclaw config reset                   # 重置所有配置(慎用)
复制代码
3 模型管理

模型是OpenClaw的核心,下面这几个命令帮你管理和排查模型问题:
  1. openclaw models list                          # 列出所有已配置模型openclaw models status                        # 查看模型在线状态openclaw models probe                         # 探测模型可用性(排障神器)openclaw models set default "deepseek-v3.2"   # 设置默认模型
复制代码
4 通道管理

通道就是OpenClaw和你聊天的桥梁,管理通道的命令如下:
  1. openclaw channels list            # 列出所有通道openclaw channels status          # 查看通道连接状态openclaw channels login telegram  # 登录Telegram通道openclaw channels logout all      # 登出所有通道
复制代码
5 网关管理(最常用)

网关管理可以说是日常运维用得最多的命令了,启动、停止、重启、查状态,还能设置开机自启:
  1. openclaw gateway start     # 启动网关服务openclaw gateway stop      # 停止网关服务openclaw gateway restart   # 重启网关(改完配置后必用)openclaw gateway status    # 查看网关运行状态openclaw gateway install   # 安装为系统服务(开机自启,强烈推荐)openclaw gateway uninstall # 卸载系统服务
复制代码
6 日志与调试

遇到问题别慌,先看日志,再跑健康检查:
  1. openclaw logs          # 查看最近日志openclaw logs -f       # 实时跟踪日志(像tail -f一样)openclaw logs --error  # 只看错误日志openclaw doctor        # 健康检查(自动诊断问题)openclaw doctor --fix  # 自动修复发现的问题
复制代码
7 插件与技能管理

OpenClaw的强大离不开丰富的插件和技能生态:
  1. openclaw plugins list              # 列出已安装插件openclaw plugins install [插件名]   # 安装新插件openclaw plugins enable [插件名]    # 启用插件openclaw plugins disable [插件名]   # 禁用插件openclaw skills list               # 列出所有技能openclaw skills enable [技能名]     # 启用指定技能openclaw skills disable [技能名]    # 禁用指定技能
复制代码
8 智能体管理

OpenClaw支持创建多个智能体,不同智能体可以配置不同模型和技能:
  1. openclaw agent list            # 列出所有智能体openclaw agent create myagent  # 创建新智能体openclaw agent delete myagent  # 删除智能体openclaw agent use main        # 切换到主智能体openclaw agent chat "你好"     # 直接和智能体对话
复制代码
9 常用一键组合(完整启动流程)

最后给大家一个从零启动的完整命令流程,按顺序执行就完事了:
  1. # 1. 检查配置openclaw config get all# 2. 探测模型是否可用openclaw models probe# 3. 检查通道状态openclaw channels status# 4. 安装为系统服务(首次执行)openclaw gateway install# 5. 启动网关openclaw gateway start# 6. 查看运行状态openclaw gateway status# 7. 实时查看日志openclaw logs -f
复制代码
掌握了这些命令,日常管理OpenClaw就完全没有压力了。
 
3 参考

1 https://mp.weixin.qq.com/s/jIM4d36W3vz6PaWnpLlrUQ
2 https://github.com/jiulingyun/openclaw-cn
3 https://gemini.google.com/
4 https://mp.weixin.qq.com/s/zOiVLL31ib7ZVCTTzz8mQA

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册