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 安装。
- macOS:
- 安装后仍提示版本过旧:运行
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完成其余步骤:- Claude Code:
npm i --global @anthropic-ai/claude-code,或从 claude.ai/code 下载。 - Codex:
npm i --global @openai/codex,或参考 developers.openai.com/codex。
- Claude Code:
- 确认已安装却未被识别:重新打开终端让
PATH生效,再运行originrouter doctor检查智能体运行时状态。
基础诊断
originrouter --version
originrouter doctor
originrouter status
originrouter service status
按顺序执行:
--version确认 CLI 可执行文件和版本。doctor检查依赖、智能体运行时、账户和模型服务。status查看安装目录、设备和默认运行时。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、模型服务凭据、用户目录、仓库内容和未脱敏会话文本。