OriginRouter CLICLI 故障排查

CLI 故障排查

按故障所在层逐级检查:安装与依赖、后台服务、账户、模型服务与路由、远程能力,最后检查 App。首次安装优先运行 originrouter setup;原生智能体场景即使未登录,也应继续检查本地服务和智能体状态,不能将 doctor 的账户失败视为唯一阻断条件。

安装前置缺失

安装脚本需要 curl 和 Node.js 22+(含 npm)。在新系统上,脚本会自动安装 Node.js:有 root 或免密 sudo 权限时使用系统包管理器(apt、dnf/yum、apk,经 NodeSource 22 LTS 或系统源);普通用户则自动安装 nvm,把 Node.js 装到用户主目录,全程不需要 sudo。

自动安装失败时,按原因处理:

  • 权限不足(提示 requires root privileges):脚本会自动回退到 nvm 用户级安装;若回退也失败,可用 root 会话运行安装命令,或为当前用户配置 sudo 后重试。
  • 网络超时(curl: (28) Connection timed out):配置终端代理后重试,或手动安装 Node.js:
    • macOS:brew install node@22,或从 nodejs.org 下载官方安装包。
    • Debian / Ubuntu:curl -fsSL https://deb.nodesource.com/setup_22.x | sudo bash - && sudo apt-get install -y nodejs
    • RHEL / CentOS / Alibaba Cloud Linux:curl -fsSL https://rpm.nodesource.com/setup_22.x | sudo bash - && sudo dnf install -y nodejs
    • Alpine:apk add --no-cache nodejs npm
    • 其他系统:从 nodejs.org 安装。
  • 安装后仍提示版本过旧:运行 node --version 确认版本,检查是否有多个 Node 安装(如 nvm 与系统包并存)导致 PATH 指向旧版本。

完成 Node.js 安装后重新运行安装命令即可。

智能体运行时下载失败(需要特殊网络)

originrouter setup 在安装 Claude Code 和 Codex 时,分别从 Anthropic 与 OpenAI 的官方源下载:

  • Claude Code:curl -fsSL https://claude.ai/install.sh | bash
  • Codex:curl -fsSL https://chatgpt.com/codex/install.sh | sh

这两个域名对部分地区和数据中心 IP 段有访问限制(常见表现为 curl: (22) The requested URL returned error: 403)。在境内云服务器、部分海外机房或受限网络上直接运行 setup 时,Claude Code 或 Codex 的下载可能被拒绝。Codex 安装过程中出现的 Start Codex now? [y/N] 是 Codex 官方安装脚本的交互提问,输入 n 跳过即可,不影响安装结果。

处理方式:

  • 为终端配置可用代理后重新运行 originrouter setup。setup 可以重复执行,已安装的组件会自动跳过。
  • 手动安装后再次运行 originrouter setup 完成其余步骤:
  • 确认已安装却未被识别:重新打开终端让 PATH 生效,再运行 originrouter doctor 检查智能体运行时状态。

基础诊断

originrouter --version
originrouter doctor
originrouter status
originrouter service status

按顺序执行:

  1. --version 确认 CLI 可执行文件和版本。
  2. doctor 检查依赖、智能体运行时、账户和模型服务。
  3. status 查看安装目录、设备和默认运行时。
  4. service status 确认后台服务状态。

如果命令不存在,确认 npm 全局 bin 目录位于 PATH,并重新打开终端。同一环境不应同时使用 npm 全局安装和旧的 npm link 开发副本。

服务没有就绪

originrouter service restart
originrouter local config show
originrouter daemon-port

按顺序执行:重启后台服务、确认 Local API 配置,再读取当前端口。

继续检查:

~/.originrouter/logs/daemon.err.log
~/.originrouter/logs/daemon.out.log

登录或账户中继

originrouter auth status
originrouter auth verify
originrouter remote status

按顺序执行:查看登录状态、验证账户凭据,再确认远程连接状态。

无图形界面时重新执行 originrouter login --no-browser。设备已登录但不可远程控制时,分别检查在线状态、设备信任与工作区授权。

模型服务与路由

originrouter provider list
originrouter route list
originrouter doctor provider <name>
originrouter proxy status
originrouter env print --agent claude

按顺序执行:列出模型服务、列出路由、验证指定模型服务、确认 Proxy 状态,最后检查 Claude 的脱敏运行环境。

模型服务存在不代表智能体已经分配模型;模型已发现也不代表已经启用或加入路由。

远程与工作区

originrouter remote status
originrouter remote share status
originrouter remote workspace list
originrouter devices --json

按顺序执行:确认远程连接、Remote Share、工作区授权和账户设备目录。

受保护目录需要在目标设备管理上下文中重新授权。运行中的智能体不应尝试扩大自身的目录权限。

报告问题

提供 CLI 版本、操作系统、失败命令、脱敏错误输出和最小复现步骤。删除 API key、Token、模型服务凭据、用户目录、仓库内容和未脱敏会话文本。

这个页面对您有帮助吗?