网关服务
网关服务用于让 Tinybot 长时间运行,并向网页界面、聊天平台、定时任务和心跳服务提供入口。简单说:如果你想用浏览器访问 Tinybot,通常就需要启动 gateway。
什么时候需要网关
| 场景 | 是否需要 |
|---|---|
| 命令行临时聊天 | 不需要,使用 uv run tinybot agent |
| 浏览器 WebUI | 需要 |
| 飞书、钉钉、微信等频道 | 需要 |
| 定时任务和心跳服务长期运行 | 需要 |
| OpenAI 兼容 API | 不使用 gateway,使用 uv run tinybot api |
启动网关
uv run tinybot gateway
如果 WebSocket 频道已启用,浏览器访问:
http://127.0.0.1:18790
启用网页频道
配置文件中需要有:
{
"channels": {
"websocket": {
"enabled": true,
"host": "127.0.0.1",
"port": 18790
}
}
}
127.0.0.1 表示只有本机能访问,适合个人使用。不要在不了解网络安全的情况下把服务暴露到公网。
修改端口
如果 18790 被占用,可以临时指定端口:
uv run tinybot gateway --port 18800
也可以修改 WebSocket 频道配置:
{
"channels": {
"websocket": {
"enabled": true,
"host": "127.0.0.1",
"port": 18800
}
}
}
然后访问:
http://127.0.0.1:18800
连接聊天平台
Tinybot 内置飞书、钉钉、微信等频道。配置好频道后,gateway 会负责接收平台消息并交给 Agent 处理。
通用流程:
- 在对应平台创建应用
- 获取平台要求的 ID、Secret、Token 等信息
- 在
channels下启用对应频道 - 启动
uv run tinybot gateway - 在平台侧完成回调地址或登录配置
示例结构:
{
"channels": {
"feishu": {
"enabled": true,
"appId": "你的 App ID",
"appSecret": "你的 App Secret"
}
}
}
不同平台字段不同,以对应频道配置为准。
心跳服务
gateway 中包含心跳服务,用于周期性维护,例如整理记忆、检查后台任务等。
相关配置:
{
"gateway": {
"heartbeat": {
"enabled": true,
"intervalS": 1800,
"keepRecentMessages": 8
}
}
}
新手保持默认即可。
定时任务
启动 gateway 后,Tinybot 可以处理定时任务。例如你可以在对话中说:
每天早上 9 点提醒我检查待办事项。
定时任务需要 gateway 持续运行。如果你关闭终端,定时任务也会停止。
常见问题
网页打不开
检查:
uv run tinybot gateway是否仍在运行- WebSocket 频道是否启用
- 端口是否正确
- 防火墙是否拦截
gateway 启动了但没有网页
通常是 channels.websocket.enabled 没有开启,或 staticDir 指向的 WebUI 文件不存在。
局域网其他设备访问不了
需要把 host 改为 0.0.0.0,并确认防火墙允许端口访问。只在可信网络中这样做。