Windows 下将 Claude Code Router 部署为系统服务
在 Windows 上运行 CLI 工具通常需要一直开着终端窗口,既不美观也不稳定。
本文介绍如何在 Windows Server 或 Windows 10/11 上,使用 Winget 快速配置环境,并利用 NSSM (Non-Sucking Service Manager) 将 Claude Code Router 封装为系统服务。
准备工作
- 网络环境:需确保能访问 Claude API 服务器(api.anthropic.com)。
- API 准备:获取 Anthropic Claude API Key。
- 权限要求:需要管理员权限来安装软件和创建系统服务。
1. 环境安装 (Winget)
我们使用 Windows 自带的包管理器 winget 来快速安装所需软件:NSSM (用于管理服务) 和 Node.js。
打开 PowerShell (管理员) 执行:
1 | # 安装服务管理工具 NSSM |
安装完成后,验证环境:
1 | # 验证 Node.js 版本 |
2. 安装 Claude Code Router
环境就绪后,通过 npm 全局安装 claude-code-router:
1 | npm install -g @musistudio/claude-code-router |
3. 配置文件
Claude Code Router 需要配置 API 密钥和其他参数。通常可以通过环境变量或配置文件来设置。
3.1 环境变量配置
创建一个批处理文件来设置环境变量并启动服务。在用户目录下创建配置文件:
1 | # 创建配置目录 |
3.2 配置示例
创建 $env:USERPROFILE\.claude-code-router\config.json 文件,内容如下:
1 | { |
Claude Code Router 支持环境变量插值以实现安全 API 密钥管理。
您可以使用 $VAR_NAME 或 ${VAR_NAME} 语法在 config.json 中引用环境变量。
设置环境变量(可选,也可以直接在配置文件中写入):
1 | setx ANTHROPIC_BASE_URL "http://127.0.0.1:3456" |
4. 首次运行测试
先在命令行手动运行,确保配置正确:
1 | ccr start |
5. 配置 Windows 服务 (核心步骤)
现在我们将 Claude Code Router 配置为 Windows 服务。
5.1 创建服务
使用 NSSM 创建服务:
1 | # 获取 ccr 命令路径 |
5.2 启动服务与排错
尝试启动服务:
1 | nssm start ccr |
🚨 常见问题:配置加载失败
如果启动后日志报错:
1 | ℹ️ No providers configured. Listening on 0.0.0.0 without authentication. |
解决方法:
修改服务的登录账户为你当前的用户。
1 | # 打开 GUI 编辑界面 |
- 切换到 Log on (登录) 选项卡。
- 选择 This account (此账户)。
- 输入你的 Windows 用户名和密码。
- 点击 Edit service 保存。
最后重启服务:
1 | ccr stop |
现在,Claude Code Router 就会作为 Windows 服务在后台静默运行了。
常用管理命令
1 | # 停止服务 |
安全注意事项
- API Key 保护:确保 API Key 不被泄露,不要在公共代码库中提交包含 API Key 的配置文件。
- 网络访问控制:如果不需要外部访问,建议将 host 设置为
127.0.0.1而不是0.0.0.0。 - 防火墙配置:确保 Windows 防火墙允许 Claude Code Router 使用的端口。
- 定期更新:保持 Claude Code Router 和依赖包的更新,以获得最新的安全补丁。
通过以上步骤,您就可以在 Windows 系统上稳定地运行 Claude Code Router 服务,实现开机自启和无人值守运行。