跳到主要内容

错误码

本页是 Otto 的权威错误码参考。每个错误码在 error 信封负载中发送。使用可重试列判断自动化重试是否安全;使用操作列进行即时修复。

认证错误

可重试操作
missing_access_token在发送命令之前获取或配对令牌
invalid_access_token使用 otto client login 刷新令牌,然后重连
role_mismatch使用具有正确角色的令牌访问此端点
unauthenticated发送命令前完成 helloauth 握手
acl_missing_node_grant在扩展弹窗中或通过 POST /api/controller/access 授予控制器对节点的访问权限

验证错误

可重试操作
missing_target_node在每个命令信封中设置 targetNodeId
missing_tab_session为标签页作用域命令提供 tabSessionId
invalid_command_input_type将字段类型修改为声明的 inputFields 模式中的定义
missing_command_input提供 inputFields 中声明的所有必填字段
missing_command_input_one_of至少提供 inputAtLeastOneOf 列表中的一项字段
unexpected_command_input移除 inputFields 中未声明的键

路由与执行错误

可重试操作
node_offline重新解析已连接节点并重试
site_mismatch将标签页导航到正确的站点,或使用 primitive.tab.open 重新打开
tab_url_not_ready短暂延迟后重试;URL 尚未提交到 Chrome 标签页
preload_host_mismatch验证 preloadHost 路径;检查站点重定向或拦截页
manual_login_required在浏览器标签页中手动登录,然后重新运行命令
unknown_site使用 otto commands list 检查支持的站点
unknown_command使用 otto commands list --site <site> 检查可用命令
unknown_tab_session使用 primitive.tab.open 重新打开受管理标签页

锁与超时错误

可重试操作
tab_busy使用有界退避重试,或切换到 waitPolicy: wait_with_timeout
tab_locked锁租约过期后重试
queue_wait_timed_out增加 timeoutMs,或减少并发命令竞争
command_timed_out增加 timeoutMs,或缩小命令操作范围
tab_queue_limit_exceeded减少此标签页会话上的并发命令
rate_limited降低命令吞吐率;检查中继 OTTO_RATE_LIMIT_PER_MIN 设置
replay_rejected生成新的 replayNonce 和更新的 timestamp
timestamp_out_of_window同步系统时钟;timestamp 必须在 OTTO_REPLAY_WINDOW_MS 的中继时间范围内
node_disconnected中继在节点掉线时发出此信息;重连后重试

站点特定错误 (Reddit)

可重试操作
reddit_user_not_found验证目标用户名或用户 ID
reddit_user_unmessageable选择其他接收者
reddit_rate_limited退避后重试
reddit_matrix_token_missing重新认证 Reddit 页面会话
reddit_chat_send_unconfirmed验证发送状态并重新运行命令

下一步