网关服务器
网关服务器提供 HTTP/WebSocket 远程访问能力,支持 Web 客户端、聊天平台集成和多设备使用。
启动网关
服务器选项:
如果省略 --token,启动时会自动生成一个随机令牌并打印到控制台。
认证
所有 API 和 WebSocket 请求都需要 Bearer 令牌:
令牌支持三种权限范围:
- Operator — 完全访问所有 API 和智能体执行
- Viewer — 只读访问状态、会话和日志
- Chat — 仅收发聊天消息
验证令牌:
REST API 端点
WebSocket JSON-RPC
连接 WebSocket 端点进行实时双向通信:
协议使用 JSON-RPC 2.0。请求示例:
主要方法组:
- Agent —
agent、agent.identity、agent.wait - Chat —
chat.send、chat.history、chat.abort - Sessions —
sessions.list、sessions.preview、sessions.patch、sessions.reset、sessions.delete - Config —
config.get、config.set、config.apply、config.patch - Cron —
cron.list、cron.add、cron.update、cron.remove、cron.run、cron.runs - Models —
models.list - System —
connect、health、status、wake、send
管理子命令
状态
日志
模型
审批
设备
通道
管理聊天桥接通道集成:
节点
管理多节点配置中的已连接节点:
聊天平台桥接
网关可以将对话桥接到外部聊天平台。在 config.toml 中配置桥接:
支持的平台:
每个桥接在聊天平台和 Savfox 智能体之间双向路由消息。
Webhook 安全校验
当配置了对应安全字段时,网关会强制校验请求来源:
- Discord:
x-signature-ed25519+x-signature-timestamp - Slack:
x-slack-signature+x-slack-request-timestamp(5 分钟防重放窗口) - Telegram:
x-telegram-bot-api-secret-token - 通用 Webhook:
x-signature或x-hub-signature-256(HMAC-SHA256)
常见失败响应:
401 invalid_signature:签名或 token 不匹配401 missing_signature:缺少必要签名头401 stale_signature:Slack 时间戳超出允许窗口
后台服务
网关运行以下后台服务:
- 会话清理 — 每 5 分钟清除过期会话
- 定时调度器 — 执行计划任务(每 60 秒检查一次)
定时任务服务
通过 WebSocket API 安排定期任务:
调度类型:
at— 一次性执行,在指定时间触发every— 按固定间隔重复cron— 标准 cron 表达式
速率限制
网关内置令牌桶速率限制器以防止滥用。速率限制按令牌粒度应用,可按需配置。