Files
Yonexus/OPERATIONS.md

2.4 KiB
Raw Blame History

Yonexus 运维与排障指南 (v1)

本指南覆盖常见运行状态、错误码与恢复步骤。


1. 运行状态速览

Client 侧状态

  • connecting:正在连接
  • pairing_required:需要配对
  • waiting_pair_confirm:等待提交配对码
  • authenticating:认证中
  • authenticated:已认证,心跳中

Server 侧状态

  • online:已认证且心跳正常
  • unstable7 分钟未收到心跳
  • offline11 分钟未收到心跳,已断开连接

2. 常见问题与处理

2.1 Client 无法连接 Server

可能原因

  • mainHost 配置错误
  • Server 未启动或端口不可达

处理

  • 检查 mainHost 是否为 ws://wss://
  • 验证 Server 监听端口是否对外开放

2.2 Client 一直停在 pairing_required

可能原因

  • Server 未能发送 Discord DM
  • notifyBotTokenadminUserId 配置错误

处理

  • 检查 Server 日志是否出现 admin_notification_failed
  • 确认 Bot 有向目标用户发送 DM 的权限

2.3 配对码无效 / 过期

可能原因

  • 输入错误
  • 配对码超过 TTL

处理

  • 重新触发配对流程(断线后重连)
  • 确保管理员转发的配对码最新

2.4 认证失败 (auth_failed)

可能原因

  • Secret 不匹配
  • 时间漂移过大
  • Nonce 重放或格式错误

处理

  • 检查系统时间是否正确
  • 清除 Client 本地 secret触发重新配对

2.5 频繁触发 re_pair_required

可能原因

  • 非法重放或高频认证尝试
  • Client 有并发连接/重连异常

处理

  • 确认同一 identifier 只存在一个活跃 Client
  • 检查 Client 是否重复启动多个实例

3. 错误码参考

常见协议错误码:

  • MALFORMED_MESSAGE
  • UNSUPPORTED_PROTOCOL_VERSION
  • IDENTIFIER_NOT_ALLOWED
  • PAIRING_REQUIRED
  • PAIRING_EXPIRED
  • ADMIN_NOTIFICATION_FAILED
  • AUTH_FAILED
  • NONCE_COLLISION
  • RATE_LIMITED
  • RE_PAIR_REQUIRED

4. 恢复步骤建议

场景Client 无法恢复认证

  1. 停止 Client
  2. 删除本地 state 中的 secret
  3. 重启 Client 触发重新配对

场景Server 端状态异常

  1. 检查持久化 store 文件是否损坏
  2. 必要时备份后清理 store 文件(会导致所有 Client 重新配对)

5. 日志建议

  • Server 日志中应避免输出 secret / 配对码明文
  • 建议在生产环境开启结构化日志并保留最小必要字段