
Claude Code Router CLI 如何用 ccr serve 与进程管理器在服务器上长期运行【免费下载链接】claude-code-routerOne local control plane for every AI agent: route across models, fuse new capabilities, orchestrate tools, and stay fully in control.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-code-router在 SSH 服务器或无桌面环境下Claude Code RouterCCR需要以 npm CLI 方式部署而不是桌面应用。要让管理服务和模型网关在服务器上长期运行官方文档给出的路径是用前台命令ccr serve拉起服务再由外部进程管理器负责进程退出后的重启与日志收集。本文覆盖从安装 CLI、固定启动参数到交给进程管理器托管、验证网关可用性的完整操作路径。前提选择 npm CLI 并安装CCR 有ccrnpm 包musistudio/claude-code-router和ccr-app桌面应用生成的启动器两个命令二者会读取同一套本机配置目录但不要混用。需要托盘、桌面通知、自动更新时用桌面版需要无桌面部署或由进程管理器托管时使用 npm CLI。CLI 要求 Node.js 22 或更高版本node --version npm install -g musistudio/claude-code-router ccr --help如果安装成功但找不到ccr命令执行npm prefix -g确认 npm 全局可执行目录已加入PATH然后打开一个新终端。为什么用ccr serve而不是ccr startCCR 的服务命令分两类完整参考见 CLI 安装与命令参考命令运行方式用途ccr start后台启动管理服务和模型网关打印带认证信息的管理 URLccr ui后台复用或启动后台服务并打开浏览器ccr stop一次性停止由start或ui启动的后台服务ccr serve前台在当前终端运行适合查看日志或交给进程管理器ccr web前台serve的别名长期运行场景下选择ccr serve的原因文档中有三点直接依据错误直接输出到当前终端。排查启动错误时优先使用它日志会进入进程管理器统一收集的 stdout。信号处理干净。serve留在前台收到SIGINT或SIGTERM后会关闭管理服务和已配置服务——这正是进程管理器做优雅重启所依赖的行为。ccr stop管不到它。ccr stop只管理start/ui创建的后台服务前台serve应通过对应终端或外部进程管理器停止。文档还明确要求不要同时运行由ccr start创建的后台服务否则可能出现两个管理端口、或两个进程竞争同一套配置。如果机器上之前跑过ccr start或ccr ui先执行ccr stop停掉旧后台服务。固定启动参数文档对生产启动的要求是使用ccr serve --no-open并且启动命令至少应固定工作用户、HOME、监听地址和CCR_WEB_AUTH_TOKEN。这些值既可以通过serve的选项传入也可以通过公开的环境变量提供省略选项时生效变量说明CCR_WEB_HOST省略--host时使用的管理服务监听地址CCR_WEB_PORT省略--port时使用的管理服务端口CCR_WEB_AUTH_TOKEN固定管理 UI / RPC Token不设置时进程会生成随机 Tokenserve的完整选项与start、ui相同ccr serve [--host host] [--port port] [--open|--no-open] [--gateway|--no-gateway]--no-open不打开浏览器无桌面服务器上必须带上。--gateway是默认行为启动模型网关--no-gateway只启动管理服务。--port必须是1到65535的整数默认3458。把上述要求落成进程管理器实际执行的命令CCR_WEB_AUTH_TOKEN需替换为一个长的随机值这是管理 UI / RPC 的固定凭据CCR_WEB_HOST127.0.0.1 \ CCR_WEB_PORT3458 \ CCR_WEB_AUTH_TOKENreplace-with-a-long-random-value \ ccr serve --no-open除环境变量外进程管理器还要保证进程以固定的工作用户运行且HOME稳定——配置目录在 macOS / Linux 上位于~/.claude-code-routerHOME变化会改变 CCR 实际读取的配置与数据位置。交给进程管理器托管文档没有指定具体的进程管理器给出的约束是让外部管理器负责重启和日志。任何满足以下条件的管理器systemd、PM2 等都符合这一要求按上一条的命令启动前台ccr serve进程进程退出非零或崩溃后自动拉起重启时复用同一套固定参数收集进程的 stdout/stderr便于排查启动错误。由于serve收到SIGTERM会干净地关闭管理服务和已配置服务管理器的重启动作不会残留半停状态。停止服务时回到进程管理器操作即可不要用ccr stop——它对该进程无效。验证部署是否可用服务启动只是第一步。完成供应商与凭据配置后按 安装并启动 CCR 的验证流程逐项确认在服务页面确认网关状态为运行中。管理界面默认使用http://127.0.0.1:3458模型网关默认使用http://127.0.0.1:3456。请求当前部署的/health成功时应返回200和运行状态。用 CCR 客户端 Key 向兼容路径发送一个最小模型请求。在日志页面确认请求模型、最终供应商 / 模型、状态码和耗时。注意两点边界管理界面能打开并不代表模型网关已经可用没有配置供应商 / 模型时/health返回502属于预期行为。另外管理 URL 的完整链接包含ccr_web_token查询参数应把完整 URL 当作密码不要粘贴到日志、工单或公开截图里。管理 Token 与 CCR 客户端 Key 是两种独立凭据前者保护 UI / RPC后者验证模型请求不要混用。常见问题与限制以下现象和处理方式均来自 CLI 文档的常见问题章节管理端口发生偏移首选端口3458被占用时CCR 会继续尝试后续端口并打印实际 URL以命令打印的 URL 为准需要固定端口时先停止占用端口的进程。UI 能打开但/health或模型请求失败管理服务可以在没有可用模型网关时运行。添加供应商和模型、创建 CCR 客户端 Key然后从服务页面启动或重启网关启动错误用前台ccr serve的终端输出查看。升级 CLI执行npm install -g musistudio/claude-code-routerlatest之后通过进程管理器重启进程使新版本生效。卸载 npm 包不会删除本地配置和数据库。数据与安全的两条硬性限制不要在 CCR 运行时直接编辑或复制活跃的 SQLite 文件当前配置在config.sqlite。优先使用Settings → Export data文件级备份前先停止 CLI。上游供应商凭据保存在本地数据目录app-data/下有 API Key、请求日志、证书等目录及其备份都应按敏感数据保护。监听地址默认127.0.0.1。监听到0.0.0.0会让管理界面进入局域网或外部网络文档要求只在确实需要时这样配置并同时使用固定强 Token、主机防火墙或私网、可信反向代理提供的 TLS不要在未创建 CCR 客户端 Key 的情况下暴露网关。如果后续希望改为容器化常驻部署镜像内置 PM2 与 Nginx 单入口可参考仓库中的 Docker 部署文档它与 CLI 部署互斥不是同一操作链的延伸步骤。【免费下载链接】claude-code-routerOne local control plane for every AI agent: route across models, fuse new capabilities, orchestrate tools, and stay fully in control.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-code-router创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考