claude-local-proxy
v1.1.0
Published
A proxy server that converts Anthropic protocol requests into the OpenAI protocol format.
Maintainers
Readme
Claude-Local-Proxy
一个将 Anthropic 协议请求转换为 OpenAI 协议请求的代理服务器。
功能特性
- 将 Anthropic API 格式转换为 OpenAI API 格式
- 支持流式和非流式响应
- 支持工具调用
- 支持图片输入
- 完整的 token 使用统计
- 简单的认证机制
安装
作为 npm 包(推荐)
npm install -g claude-local-proxy从 GitHub Release 下载
- 从 GitHub Releases 下载
- 解压文件
- 运行:
# 如果使用 dist 文件夹
node dist/cli/index.js start
# 如果使用源码,先构建
npm install
npm run build
node dist/cli/index.js start快速开始
clp start如果没有配置文件,服务会自动引导你进行配置:
? Configuration file does not exist. Do you want to configure now? (y/N): y
? Enter API Key: xxx-xxxxxxxxxxxxxxxx
listening on localhost:8888完整配置指南:
启动服务(如无配置会自动引导):
clp start配置 Claude Code 模型(推荐):
clp model setup这将引导你分别为 HAIKU、SONNET 和 OPUS 选择模型:
=== Claude Code Model Configuration === Found 2 available models: 1. z-ai/glm4.7 2. minimaxai/minimax-m2.7 Available models for ANTHROPIC_DEFAULT_HAIKU_MODEL: 1. z-ai/glm4.7 (default) 2. minimaxai/minimax-m2.7 Select model for ANTHROPIC_DEFAULT_HAIKU_MODEL [1-2, default: 1]: 1 Available models for ANTHROPIC_DEFAULT_SONNET_MODEL: 1. z-ai/glm4.7 2. minimaxai/minimax-m2.7 (default) Select model for ANTHROPIC_DEFAULT_SONNET_MODEL [1-2, default: 2]: 2 Available models for ANTHROPIC_DEFAULT_OPUS_MODEL: 1. z-ai/glm4.7 (default) 2. minimaxai/minimax-m2.7 Select model for ANTHROPIC_DEFAULT_OPUS_MODEL [1-2, default: 1]: 1 ======================================== Model configuration complete: ANTHROPIC_DEFAULT_HAIKU_MODEL -> z-ai/glm4.7 ANTHROPIC_DEFAULT_SONNET_MODEL -> minimaxai/minimax-m2.7 ANTHROPIC_DEFAULT_OPUS_MODEL -> z-ai/glm4.7 ======================================== Please start or restart Claude Code to apply the configuration.此命令会:
- 备份现有的 Claude Code 配置
- 自动配置三个模型层级(HAIKU、SONNET、OPUS)
- 安装配置到
~/.claude/settings.json - 自动启动或重启代理服务
重启 Claude Code 使配置生效。
其他命令
clp config- 配置或重新配置代理(需要 API Key)clp start- 启动代理服务clp stop- 停止代理服务clp restart- 重启代理服务clp status- 查看服务状态clp logs- 查看最近日志clp logs --tail- 实时跟踪日志clp logs --lines=100- 查看最近 N 行日志clp logs --error- 只查看错误日志clp logs --access- 只查看访问日志clp model list- 列出可用模型clp model add <model>- 添加新模型(如:clp model add z-ai/glm4.7)clp model rm <model>- 删除模型(按名称或索引)clp model setup- 配置 Claude Code 模型层级(HAIKU、SONNET、OPUS)clp test- 测试所有可用模型clp test <model>- 测试指定模型
配置
配置文件
| 操作系统 | 位置 |
|---------|------|
| Windows | C:\Users\<username>\.claude-local-proxy\settings.json |
| macOS / Linux | ~/.claude-local-proxy/settings.json |
格式:
{
"PROXY_URL": "localhost:8888",
"API_BASE_URL": "https://integrate.api.nvidia.com/v1/chat/completions",
"API_KEY": "your-api-key",
"SERVER_KEY": "your-secret-key",
"TIMEOUT": 300000,
"LOG_BODY_MAX": 4096,
"LOG_STREAM_PREVIEW_MAX": 256
}配置项
| 配置项 | 说明 | 默认值 |
|--------|-------------|---------|
| PROXY_URL | 服务器监听地址 | localhost:8888 |
| API_BASE_URL | API 地址 | 必填 |
| API_KEY | API 密钥 | 必填 |
| SERVER_KEY | 服务器认证密钥 | 可选 |
| TIMEOUT | 上游请求超时(毫秒) | 300000 |
| LOG_BODY_MAX | 日志最大字符数 | 4096 |
| LOG_STREAM_PREVIEW_MAX | 流预览字符数 | 256 |
环境变量
环境变量可覆盖配置文件(优先级更高):
| 变量 | 说明 | 默认值 |
|----------|-------------|---------|
| PROXY_URL | 服务器监听地址 | 配置值 |
| API_BASE_URL | API 地址 | 配置值 |
| API_KEY | API 密钥 | 配置值 |
| SERVER_KEY | 服务器认证密钥 | 配置值 |
| TIMEOUT | 上游超时(毫秒) | 配置值 |
| LOG_BODY_MAX | 日志最大字符数 | 配置值 |
| LOG_STREAM_PREVIEW_MAX | 流预览字符数 | 配置值 |
日志系统
| 操作系统 | 日志位置 |
|---------|-------------|
| Windows | C:\Users\<username>\.claude-local-proxy\logs\ |
| macOS / Linux | ~/.claude-local-proxy/logs/ |
日志类型:
proxy-YYYY-MM-DD.log- 主日志error-YYYY-MM-DD.log- 错误日志access-YYYY-MM-DD.log- 访问日志
特性:
- 按日期轮转
- 单文件最大 10MB
- 自动清理 7 天前的日志
- 同时输出到控制台和文件
API 使用
请求格式
curl -X POST http://localhost:8888/v1/messages \
-H "Content-Type: application/json" \
-H "x-api-key: your-secret-key" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "z-ai/glm4.7",
"max_tokens": 100,
"messages": [
{"role": "user", "content": "Hello!"}
]
}'支持的模型
z-ai/glm4.7minimaxai/minimax-m2.7
Claude Code 配置
使用 model setup 命令
推荐使用 model setup 命令自动配置 Claude Code:
clp model setup此命令会:
- 读取可用模型列表(从
~/.claude-local-proxy/models.json) - 引导选择三个模型(HAIKU、SONNET、OPUS)
- 自动生成 Claude Code 配置文件
- 备份原有配置(如存在)
- 安装新配置到
~/.claude/settings.json - 自动启动或重启代理服务
- 显示模型配置映射
- 提示重启 Claude Code
模型管理
使用 model setup 前可管理模型列表:
clp model list- 列出可用模型clp model add <model>- 添加新模型(如:clp model add z-ai/glm4.7)clp model rm <model>- 删除模型(按名称或索引,如clp model rm z-ai/glm4.7或clp model rm 1)
注意:
- 添加时如已存在会提示 "Model already exists"
- 删除时如只剩一个会提示 "Cannot remove the last model"
手动配置
手动创建 ~/.claude/settings.json:
{
"env": {
"ANTHROPIC_AUTH_TOKEN": "your-secret-key",
"ANTHROPIC_BASE_URL": "http://localhost:8888",
"API_TIMEOUT_MS": "300000",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "z-ai/glm4.7",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "z-ai/glm4.7",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "z-ai/glm4.7"
},
"includeCoAuthoredBy": false
}模型配置
可用模型存储在 ~/.claude-local-proxy/models.json
默认模型:
["z-ai/glm4.7", "minimaxai/minimax-m2.7"]故障排查
服务无法启动
检查配置是否存在:
clp status运行配置命令:
clp config检查端口是否被占用:
# macOS/Linux lsof -i :8888 # Windows netstat -ano | findstr :8888查看错误日志:
clp logs --error
重置配置
rm ~/.claude-local-proxy/settings.json
clp config重置 Claude Code 配置
clp stop
# 或手动删除备份后重新配置
rm ~/.claude/settings.json.claude-local-proxy.bak
clp model setup许可证
MIT
贡献
欢迎提交 Issue 和 Pull Request!详见 .github/CONTRIBUTING.md
