@feijiclaudecodex/claude-proxy
v11.0.1
Published
Claude CLI 代理客户端 - 零配置,开箱即用
Readme
Claude Proxy Client v10.0.5
Windows .cmd 文件执行问题修复
问题描述
之前的版本在 Windows 上执行时会出现以下错误:
SyntaxError: missing ) after argument list
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")这是因为 Node.js 错误地将 Windows 的 .cmd 批处理文件当作 JavaScript 执行。
解决方案
v10.0.2 版本完全重写了 Claude CLI 的查找和启动逻辑:
- 智能查找 JS 文件:通过
npm list和解析 package.json 直接定位到实际的 JavaScript 文件 - 避免 .cmd 执行:使用
node直接执行 JS 文件,而不是通过 .cmd 包装器 - 改进的路径解析:正确处理 Windows 路径中的空格和特殊字符
安装使用
1. 安装官方 Claude CLI(必需)
# Windows
npm install -g @anthropic-ai/claude-code
# Linux/Mac
sudo npm install -g @anthropic-ai/claude-code2. 安装代理客户端(v10.0.5 完整修复 Windows 首启向导)
npm install -g @feijiclaudecodex/[email protected]3. 使用
# 直接使用
claude-proxy
# 或使用短命令
claude-p
cproxy核心改进
新的查找算法:
- 优先通过 npm list 查找全局包位置
- 解析 package.json 获取准确的入口文件
- 智能解析 .cmd 文件提取 JS 路径
直接执行 JS:
spawn('node', [ '--require', interceptorPath, claudePath, // 直接的 .js 文件路径 ...args ], { shell: false // 关键:不使用 shell });Windows 兼容性:
windowsVerbatimArguments: true保持参数原样- 正确处理路径分隔符
- 支持包含空格的路径
验证修复
运行以下命令验证是否正常工作:
claude-proxy --version如果看到版本信息且未出现“需要登录/选择主题”提示,说明修复成功。
若仍出现,请执行一次:claude-proxy-fix-auth,它会在 Windows 的 APPDATA 目录同步写入配置后再重试。
技术细节
关键文件:claude-windows-fix.js
- 完全避免执行 .cmd 文件
- 直接定位并执行 Claude CLI 的 JavaScript 入口
- 使用
--require注入请求拦截器 - 自动设置所有必要的环境变量
- 采用官方约定的
~/.claude/.credentials.json字段(claudeAiOauth+ camelCase),并设置CLAUDE_TOKEN_CACHE,避免首次运行登录/主题选择
问题反馈
如果仍然遇到问题,请提供以下信息:
- 操作系统版本
- Node.js 版本 (
node --version) - NPM 版本 (
npm --version) - 错误信息截图或完整输出
