准备
- RuAPI 密钥。 控制台 →「令牌管理」→ 创建
sk-...密钥。新用户一般注册后就有体验额度,可以用deepseek-flash、claude-haiku-5-5、gpt-6-luna。用其他模型要先充值——见充值。 - Cloudflare 账号(免费)。
- GitHub 或 GitLab 账号。 Cloudflare 会把机器人代码复制进去。最好用一个单独的空账号,原因见下文。
- Telegram,手机或电脑都行。
第 1 步:创建机器人,查自己的 ID
1
在 @BotFather 建机器人
打开 @BotFather,发
/newbot,起一个名字和以 _bot 结尾的用户名。BotFather 会回一串 Token,保存好,别给别人看。2
查你的 Telegram ID
打开 @userinfobot,发
/start。它会回一个数字 Id,这就是你的 ADMIN_ID。第 2 步:部署到 Cloudflare
1
2
连接 Git 账号
不连 GitHub 或 GitLab 就没法部署(提示 Connect a Git account to continue)。点连接 GitHub 的按钮并授权。
3
填表
ADMIN_PASSWORD 标着「可选」,但不填表单交不上去。填一个 20 位以上的随机密码并保存好:用它能打开机器人后台,你的 RuAPI 密钥就存在那里。
4
开始部署
构建约 1 分钟,等所有阶段都变成绿勾。
第 3 步:打开 workers.dev 地址
新项目的*.workers.dev 地址可能默认是关的,关着 Telegram 就连不上机器人。打开项目 →「域」(Domains)标签 → 打开生产(Production)地址那一行的开关。预览(Preview)那一行可能跟着一起打开,没有影响。复制生产地址,下一步要用。
「任何拥有此 URL 的人都可以访问」不用担心:能和机器人对话的只有 ADMIN_ID,后台有密码。
第 4 步:登录后台,绑定 webhook
1
登录后台
打开
https://<你的项目>.<你的子域>.workers.dev/admin,用 ADMIN_PASSWORD 登录。2
绑定 webhook
在同一个浏览器里打开 
如果显示 
https://<你的项目>.<你的子域>.workers.dev/init,看到 Webhook bound successfully 就成功了。
Unauthorized. Open /admin, log in, then retry.,说明还没登录后台。回到上一步登录,再点 Retry。
第 5 步:接上 RuAPI
在后台「Chat」标签点 Add Provider:
1
模型
点 Fetch Models,会拉回 RuAPI 的模型列表。点要用的模型旁边的 +,例如 
deepseek-flash、claude-haiku-5-5、gpt-6-luna。拉不下来就用 Add Model 手动加,准确的模型 ID 见价格页。
2
默认模型
在「Models」列表里点一个模型,打勾的就是默认模型。建议先用
deepseek-flash,是最便宜的模型之一,见价格页。3
设 RuAPI 为默认并保存
点 Set as Default,再点 Save。服务商列表里 RuAPI 旁边应该出现勾。如果有多个服务商,不设的话机器人可能不走 RuAPI。



第 6 步:测试
在 Telegram 里打开你的机器人:- 发
/start,机器人会回「新的对话已经开始」。机器人的界面提示默认就是中文,想改成英文发/setenv settings.language=en;要让 / 命令菜单也变成英文,再在浏览器里打开一次/init。 - 发「你好,用一句话介绍你自己」,回答会边生成边显示。
- 发
/models→ RuAPI → 换一个模型,发/new,再问一句。 - 发一张照片,问「图里有什么」。
deepseek-flash看不了图,发图前先换成claude-haiku-5-5之类的模型。哪些模型能看图见图片输入。
机器人全部命令
Telegram 菜单里的命令(输入框旁边的 / 按钮):
菜单里没有、但能用的命令:
私聊里
/admin、/system、/setenv、/setenvs、/delenv 只有 ADMIN_ID 能用。直接发一段 JSON(前面不带命令)会被当成普通文字发给模型,改不了设置。
常用设置
可以在后台「Settings」标签改,也可以用/setenv:
恢复默认:
/delenv settings.systemInitMessage。
想让朋友也能用,在「Settings」里把他们的 Telegram ID 加进允许的用户。他们的请求都从你的 RuAPI 余额扣。注意:朋友也能用 /models 换模型,而且换了对所有人生效。模型列表里最好只留便宜的模型。
费用
- Cloudflare:个人用的机器人,Workers 免费套餐一般够用。
- RuAPI:按 token 计费,见价格。机器人每发一条消息都会把聊天记录重新发给模型,所以聊得越长,每次回答越贵。换话题时发
/new。 - 用 Claude 时,RuAPI 会自动缓存对话里重复的开头部分:两次发言间隔不超过 5 分钟,重复发送的聊天记录就更便宜——见提示缓存。
出问题时
Connect a Git account to continue
Connect a Git account to continue
Cloudflare 部署必须连 GitHub 或 GitLab,这一步跳不过去。连一个单独的空账号(见第 2 步)。
表单交不上去:ADMIN_PASSWORD 提示必填
表单交不上去:ADMIN_PASSWORD 提示必填
这一栏实际上是必填的,填一个长的随机密码。
机器人不回话
机器人不回话
- 确认 workers.dev 地址已打开(第 3 步),
/init显示成功。 - Cloudflare Access 要关着。
- ADMIN_ID 填的是 @userinfobot 给的数字 ID,不是用户名。
模型说自己是另一个模型
模型说自己是另一个模型
用
/models 换模型后,机器人还接着原来的对话,新模型会看到「自己」之前说过的话。比如 DeepSeek 回答过之后换成 Claude,Claude 可能也说自己是 DeepSeek。换模型后发 /new。报错让你先用体验模型
报错让你先用体验模型
充值前只能用
deepseek-flash、claude-haiku-5-5、gpt-6-luna。在 /models 里选其中一个,或充值。后台打不开
后台打不开
后台和
/init 都通过 *.workers.dev 地址打开。如果你所在的地区打不开或者很慢,换个网络试试。和机器人聊天走的是 Telegram,不受影响。401 / 密钥无效
401 / 密钥无效
- API Key 要填 RuAPI 的
sk-...密钥。 - Base URL 要一字不差地填
https://www.ruapi.ai/v1。
安全
- RuAPI 密钥和机器人 Token 存在你自己的 Cloudflare 账号里,不会进 Git 仓库。
- 可以给机器人单独建一个设了额度上限的 RuAPI 密钥,最坏情况也只会花到上限为止。
- 不用了:在 Cloudflare 删掉 Worker,在 @BotFather 用
/deletebot删掉机器人,在 RuAPI 控制台删掉密钥,在 GitHub 删掉自动建的仓库。到 GitHub(Settings → Applications)撤销 Cloudflare 的授权。