v1.0.20261020 · 已支持富文本、@人、文件收发

把飞书变成
可编程的自动化底座

GoRoBot 直接对接飞书网页端协议,多账号托管、登录即监听、消息去重全部内置。 你只需要写几十行 Python,就能让飞书账号按你的规则收发消息。

Windows 桌面端 86 个 SDK 方法 插件可加固分发 免费版长期可用
GoRoBot — 本地控制台

飞书账号

监听中 2 免费版 · 限 1 个
A主账号
监听中
7512049628787802140
1,284 条
B客服号
监听中
7171061198375518212
612 条
C测试号
免费版停用
—
0 条
TEXT @产品同学 需求评审改到周四 15:00 已去重 2 次
IMAGE [图片] 320×200 · img_v3_0216l… 已去重 1 次
FILE 季度报告.pdf · 2.4 MB · application/pdf
TEXT 插件「小助手」已应答关键词:菜单
核心能力

不是机器人框架,是协议框架

我们不做「只能回一句话」的玩具。从 WebSocket 长连接、protobuf 网关到文件上传, 整条链路都在框架里跑通,插件只面对干净的 Python 方法。

多账号托管

一个客户端托管多个飞书账号,各自独立监听、独立插件实例、互不干扰。账号列表统一启停,插件无权登录。

  • 登录即监听,无需手点启动
  • 断线自动重连,退避 5s 至 300s
  • 凭证本地加密存储

全类型消息收发

文本、@人、表情、链接、图片、文件、视频、富文本混排,全部走同一条协议链路。上传 50MB 文件实测 7 秒。

  • 富文本:文本 + @ + 表情 + 链接 + 图同条
  • @昵称自动解析成 user_id
  • 已上传文件可跨会话复用 key

三层消息去重

飞书会把同一条消息经 WS 推送、会话同步、重连补投多路上报。框架用 LRU + SQLite 双层闸门拦截,日志不会重复。

  • LRU 2 万条 + 24 小时磁盘 TTL
  • 一条图片只落一行记录
  • 重复投递不会二次触发插件

Python 插件 SDK

86 个方法覆盖消息、群管、成员、搜索、通讯录、媒体。继承一个类、写几个回调就能跑,不用碰协议; 声明几个字段,框架自动给它生成设置弹窗。

  • 7 个生命周期与消息钩子
  • 声明式设置页,插件零前端代码
  • 装饰器式动态注册
  • raw_call 逃生口兜底

插件加固分发

开发态直接读 .py,交付时导出 .grbp 加固包,可选绑定机器码。换机不可用,源码不外流。

  • 一键导出,自动恢复装载
  • 可绑定机器码防盗用
  • 开发者模式带口令保护

可控与可观察

消息日志、去重统计、发送节流、回声熔断都在框架层。插件写得再糙,也很难在短时间内把账号刷成垃圾号。

  • 同会话 20 秒 8 条硬上限
  • 回声自动识别,不喂给插件
  • 全链路操作日志可回溯
功能全景

每一行都是实测跑通的能力

下面的接口全部来自真实接口探测与调用验证,不是规划中的功能。标注「收费版」的项免费版不可用。

消息发送

文本消息 send_text,支持回复指定根消息
@人与 @所有人 正文写 @昵称 或 @{user_id},自动解析
飞书表情 send_emoji,400+ 表情表可检索
富文本混排 文本 / @ / 表情 / 链接 / 图片同一条
图片消息 字节 / 路径 / 文件流 / 已上传 key
文件 / 视频 流式上传,单文件上限 200MB
撤回消息 recall_message

接收与历史

实时监听 WS 长连接,登录后自动开始
历史消息 pull_history / pull_message_ids
按 ID 批量取 get_messages_by_ids
消息日志 本地 SQLite,可查询与导出
标记已读 mark_read,按 position 提交
媒体下载 图片自动解密,文件流式落盘

会话与群管理

会话列表 群 / 单聊 / 话题群分类拉取
建群 / 改群名 create_group / rename_group
拉人 / 踢人 / 退群 invite / kick / leave_group
成员与管理员 含昵称、头像、角色、加入时间
会话设置 get_chat_settings / 我在群内角色

联系人、搜索与账号

搜索陌生人 search_users,可搜非好友
加好友 / 打招呼 add_friend,建单聊并发首条消息
通讯录 含外部联系人、头像直链
搜索群与文件 search / search_groups
账号信息只读 get_accounts / get_machine_id
多账号并发 免费版限 1 个,收费版不限

插件与配置

声明式设置页 写 settings_schema,框架生成表单
9 种表单控件 文本 / 数字 / 滑杆 / 开关 / 下拉 / 多选 / 密钥 / 取色
自定义设置页 覆写 settings_page,返回 HTML 走 iframe
取值自动校验 越界收敛、非法回落,坏数据不会让插件崩
配置持久化 原子写盘,重装同 ID 配置保留
改配置即时回调 on_settings_changed,热更新无需重启
版本对比

免费版足够验证想法,收费版才谈得上生产

免费版不是试用倒计时,而是长期可用。它限制的是「多账号」与「富媒体」这两项成本最高的能力。

能力
免费版 ¥0
收费版 解锁全部
授权与账号
可同时登录的飞书账号 1 个 不限
授权有效期 长期可用 按购买周期
账号登录、扫码、Cookie 登录 支持 支持
断线重连与心跳保活 支持 支持
消息发送
发送文本消息 支持 支持
@人 与 @所有人 支持 支持
发送飞书表情 支持 支持
富文本混排(文本 + @ + 表情 + 链接) 不可用 支持
发送图片 不可用 支持
发送文件与视频 不可用 支持
上传文件到飞书文件域 不可用 支持
撤回消息 支持 支持
接收、会话与联系人
实时消息监听 支持 支持
消息日志与历史消息 支持 支持
图片与文件下载 支持 支持
群创建、拉人、踢人、退群 支持 支持
搜索陌生人、加好友 支持 支持
通讯录读取 支持 支持
插件与开发
Python 插件 SDK(86 个方法) 支持 支持
加载 .py 插件 / 开发者模式 支持 支持
插件设置弹窗(声明式表单) 支持 支持
插件自定义设置页(iframe) 支持 支持
导出 .grbp 加固包 / 绑定机器码 支持 支持
消息去重与发送节流保护 支持 支持
价格

按需买时长,越长越便宜

一次授权绑定一台机器。所有周期享受完全相同的收费版能力,只是时长不同。

月付
先跑通再说
¥20/ 月
按月续费,随时可停
获取卡密
  • 全部收费版能力
  • 飞书账号不限数量
  • 富文本 / 图片 / 文件 / 视频
  • 绑定 1 台机器
季付
短期项目首选
¥45/ 季
折合 ¥15/月,省 25%
获取卡密
  • 全部收费版能力
  • 飞书账号不限数量
  • 富文本 / 图片 / 文件 / 视频
  • 绑定 1 台机器
半年付
稳定跑起来
¥100/ 半年
折合 ¥16.7/月,省 17%
获取卡密
  • 全部收费版能力
  • 飞书账号不限数量
  • 富文本 / 图片 / 文件 / 视频
  • 绑定 1 台机器
最划算
年付
长期使用最优解
¥180/ 年
折合 ¥15/月,省 25%
获取卡密
  • 全部收费版能力
  • 飞书账号不限数量
  • 富文本 / 图片 / 文件 / 视频
  • 绑定 1 台机器
  • 版本更新优先获取
免费版注册即可使用,长期有效——没有倒计时、不会突然失效。 收费版到期后自动回落到免费版:账号不会被删除,只保留最早添加的 1 个继续监听,其余标记为「停用」; 续费后自动全部恢复。卡密在同一台机器上可叠加时长。
技术实现

协议层做了什么,为什么它稳

所有能力都从飞书网页端逆向还原,并用真实账号验证过。下面是最容易被忽略、但决定稳定性的几个点。

01 / 传输

WS 长连接 + protobuf 网关

实时消息走 wss://msg-frontier,业务请求走 /im/gateway 的 protobuf 包。 收到带 sid 的帧必须回 ACK,30 秒心跳,否则服务端会静默断流。

02 / 上传

文件域独立于 IM 网关

图片和文件不走 im/gateway,而是 internal-api-lark-file 的 /uni_api/upload/file。单次全量上传实测 50MB 稳定,无需分片。

03 / 富文本

没有独立富文本类型

飞书网页端 type=2 POST 会被网关直接拒。图文、@、链接、表情全部挂在 type=4 的 richText 元素里,@ 还需同时进 atIds 才渲染。

04 / 去重

同一条消息会被推多次

WS 推送、会话同步、重连补投是三套通道,图片尤其常被推 2 到 3 次。 去重必须在「落库」和「分发」两层都做,否则日志会重复。

05 / 安全

凭证与授权双层隔离

飞书凭证本地加密落盘;授权走 X25519 握手加 AES-GCM 信封。 验证地址与 app_id 在代码里冻结,界面不可改,避免被指向假服务端。

06 / 稳定性

重连退避与会话自愈

断线按 5s 到 300s 指数退避重连,重连后自动补拉最近消息。 网关偶发 400 时会刷新 csrf 自动重试一次,不把偶发错误抛给插件。

开发文档

一个类、几个回调,
半小时跑出第一个插件

文档包含插件基类、消息字段、86 个 SDK 方法、插件设置页、内置保护机制、 免费版兼容写法与加固分发流程。全部示例都可在框架内直接运行。

打开开发文档
# 关键词应答 + 插件设置项 from gorobot_sdk import Plugin class Helper(Plugin): name = "小助手" version = "1.1.0" # 写了这个,卡片上就自动出现「设置」按钮 settings_schema = [ {"key": "prefix", "label": "回复前缀", "type": "text", "default": "🤖"}, {"key": "limit", "label": "每分钟上限", "type": "number", "default": 5, "min": 1, "max": 60}, {"key": "silent", "label": "静默", "type": "bool", "default": False}, ] def on_group_message(self, msg): text = (msg.get("content") or "").strip() if text == "菜单" and not self.config["silent"]: self.reply(msg, self.config["prefix"] + "1) 帮助 2) 状态") def on_settings_changed(self, values): self.log(f"设置已更新:{values}")
常见问题

购买前你可能想知道的

免费版会过期吗?和试用有什么区别?

不会过期。免费版是你注册授权账号后的默认状态,没有激活天数时长期有效,没有倒计时也不会突然停止。

它限制的是两项成本最高的能力:只能登录 1 个飞书账号,以及不能发送富文本、图片、文件和视频。 文本消息、@人、表情、收消息、消息日志、群管理、搜索、通讯录和插件开发都完全开放。

在哪里购买卡密?购买后怎么用?

联系 GoRoBot 管理员获取卡密,四种周期(月付 20 / 季付 45 / 半年 100 / 年付 180)对应的卡密使用方式相同, 没有功能差别,只是时长不同。

拿到卡密后有两种方式激活:① 客户端「授权验证」页 →「卡密充值」输入即可; ② 在授权账号后台直接充值,客户端下次心跳(约 40 秒内)会自动同步。 同一台机器多次充值时长叠加。

前往用户中心登录 / 注册

收费版怎么激活?

先在用户中心登录授权账号(没有就注册一个), 再在客户端「授权验证」页把卡密填进「卡密充值」即可。充值成功后授权立即生效, 免费版的限制同步解除,之前被停用的账号会自动恢复监听,不需要重启。同一台机器上多次充值时长会叠加。

能换电脑用吗?

一份授权绑定一台机器的机器码。换机器后原授权的剩余时长不会自动转移, 插件加固包若勾选了绑定机器码同样不可用。多机使用请分别购买授权。

收费版到期后会怎样?账号和插件会丢吗?

不会丢。到期后自动回落到免费版:飞书账号配置、凭证、插件、消息日志全部保留, 只是超出 1 个的飞书账号会停止监听并标记为「免费版停用」,富媒体发送会被拦截。

续费后这些账号会立即恢复监听,标记自动清除。任何情况下都不会删除你的数据。

插件在免费版上会不会报错?

如果插件里调用了发图、发文件等方法,免费版会抛出 SDKError。 文档里给了标准写法:先读 sdk.edition()["tier"] 判断版本,或用 try/except SDKError 降级为纯文本。 建议所有分发的插件都这样处理。

插件能做自己的设置界面吗?

能,而且不用写前端代码。插件只要声明一个 settings_schema 列表, 框架会在插件卡片上生成「设置」按钮,点开的弹窗里是自动渲染的表单 —— 支持文本、多行文本、数字、滑杆、开关、下拉、多选、密钥、取色器共 9 种控件。

保存时框架会逐字段校验(数字越界收敛到边界、下拉不在选项内回落默认), 配置原子写入磁盘,然后回调插件的 on_settings_changed(),热更新不用重启。

声明式表单不够用时(需要图表、二维码、多步骤向导),覆写 settings_page() 返回 HTML 即可,框架会用 iframe 展示,页面里可直接调 grb.get() / grb.save()。 两种方式在加固包(.grbp)里同样生效。

支持飞书国际版 Lark 吗?

支持。账号可分别选择飞书或 Lark 区域,协议与区域配置相互隔离,同一客户端里可以混用。

会不会被飞书封号?

GoRoBot 用的是与飞书网页端完全一致的请求链路(同一套网关指令、同一个文件域、同样的 UA 与请求头),不是模拟点击、也不是高频轮询,行为特征和真人使用网页版没有区别, 因此相比自写脚本或按键精灵一类方案,封号几率大幅降低。

框架层还内置了多重防护:同会话 20 秒最多 8 条的发送节流、回声熔断、重复消息拦截, 以及断线指数退避重连,避免异常流量特征。

但需要明确:任何第三方自动化工具都无法保证账号绝对安全。 封号判定取决于账号本身的发送频率、内容、被举报情况与平台策略, 这些不在工具可控范围内。建议控制发送节奏、避免群发营销内容, 先用小号验证再上主账号。

官方社区

加入 GoRoBot 交流群

使用问题、插件开发、版本更新与授权咨询都在群里。 遇到报错可以先翻开发文档,没解决就来群里问,通常很快有人回。

群号 1131331061
点击加入群聊 手机 QQ 点按钮直接进群