mirror of
https://github.com/aiclientproxy/proxycast.git
synced 2026-09-24 23:10:56 +08:00
- 解决 server 模块重构冲突(删除旧 server.rs,保留 server/ 目录结构) - 解决 kiro.rs 设备指纹逻辑冲突(合并日志记录 + 凭证唯一 ID) - 解决 CodexCredentials 字段缺失问题 - 解决 README.md 和 Cargo.lock 冲突 - 添加第三方 API Key 警告日志(UX 改进) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
241 lines
8.2 KiB
Markdown
241 lines
8.2 KiB
Markdown
<div align="center">
|
||
|
||
# ProxyCast 🚀
|
||
|
||
**把你的 AI 客户端额度用到任何地方**
|
||
|
||
[](https://www.gnu.org/licenses/gpl-3.0)
|
||
[](https://tauri.app/)
|
||
[](https://react.dev/)
|
||
[](https://www.rust-lang.org/)
|
||
|
||
</div>
|
||
|
||
---
|
||
|
||
## 🤔 这个工具能帮你做什么?
|
||
|
||
**场景一:换个更好用的 IDE**
|
||
> 我有 Kiro 账号,可以用 Claude 系列模型,但 Kiro IDE 不太顺手。我想用 Claude Code 或 Cursor 来写代码,但又不想额外付费买 API。
|
||
|
||
**场景二:把额度分享给其他工具**
|
||
> Claude Code 这个月额度还剩很多,与其浪费不如转给 Cherry Studio 聊天用,或者给我的 AI Agent 项目提供 API 接口。
|
||
|
||
**场景三:统一管理多个 AI 账号**
|
||
> 我有 Kiro、Gemini CLI、通义千问好几个账号,想统一管理,哪个有额度就用哪个。
|
||
|
||
**ProxyCast 就是解决这些问题的工具** —— 它把你已有的 AI 客户端凭证转换成标准 OpenAI API,让任何支持 OpenAI 接口的工具都能使用。
|
||
|
||
---
|
||
|
||
## 💡 工作原理
|
||
|
||
```
|
||
你的 AI 客户端凭证 ProxyCast 任意 OpenAI 兼容工具
|
||
┌─────────────────┐ ┌─────────────┐ ┌─────────────────────┐
|
||
│ Kiro OAuth │ │ │ │ Claude Code │
|
||
│ Gemini OAuth │ ───▶ │ 本地 API │ ───▶ │ Cherry Studio │
|
||
│ 通义千问 OAuth │ │ 代理服务 │ │ Cursor / Cline │
|
||
│ ... │ │ │ │ 你的 AI Agent │
|
||
└─────────────────┘ └─────────────┘ └─────────────────────┘
|
||
```
|
||
|
||
> **💡 与 AIClient-2-API 的区别**
|
||
>
|
||
> ProxyCast 是 [AIClient-2-API](https://github.com/justlovemaki/AIClient-2-API) 的桌面版本,提供更友好的图形界面和一键操作体验,无需命令行配置。
|
||
|
||
---
|
||
|
||
## ✨ 核心特性
|
||
|
||
### 🎯 多 Provider 统一管理
|
||
- **Kiro** - 通过 OAuth 使用 Claude 系列模型(Opus 4.5、Sonnet 4.5、Sonnet 4、Haiku 4.5)
|
||
- **Gemini CLI** - 通过 OAuth 使用 Gemini 模型
|
||
- **Gemini API Key** - 多账号负载均衡,支持模型排除
|
||
- **通义千问** - 通过 OAuth 使用 Qwen3 Coder Plus
|
||
- **Antigravity** - 通过 OAuth 使用 Claude 模型
|
||
- **Vertex AI** - Google Cloud AI 平台,支持模型别名
|
||
- **OpenAI 自定义** - 配置自定义 OpenAI 兼容 API
|
||
- **Claude 自定义** - 配置自定义 Claude API
|
||
|
||
### 🖥️ 友好的图形界面
|
||
- **Dashboard** - 服务状态监控、API 测试面板
|
||
- **Provider 管理** - 一键加载凭证、Token 刷新、默认 Provider 切换
|
||
- **设置页面** - 服务器配置、端口设置、API Key 管理
|
||
- **日志查看** - 实时日志记录、操作追踪
|
||
|
||
### 🔄 智能凭证管理
|
||
- 自动检测凭证文件变化(每 5 秒)
|
||
- 一键读取本地 OAuth 凭证
|
||
- Token 过期自动刷新
|
||
- 环境变量导出(.env 格式)
|
||
- **配额超限自动切换** - 自动切换到下一个可用凭证
|
||
- **预览模型回退** - 主模型配额用尽时尝试预览版本
|
||
- **Per-Key 代理** - 为每个凭证单独配置代理
|
||
|
||
### 🔐 安全与管理
|
||
- **HTTPS 部署** - 当前版本不内置 TLS,请使用反向代理进行 HTTPS 终止
|
||
- **远程管理 API** - 通过 API 远程管理配置和凭证
|
||
- **访问控制** - 支持 localhost 限制和密钥认证
|
||
|
||
### 🔌 多路由支持
|
||
- 支持 `/api/provider/{provider}/v1/*` 路由模式
|
||
- 模型映射 - 将请求模型映射到 Provider 支持的模型
|
||
- 管理端点代理 - 代理认证和账户功能
|
||
|
||
### 🌐 完整 API 兼容
|
||
- `/v1/chat/completions` - OpenAI Chat API
|
||
- `/v1/models` - 模型列表
|
||
- `/v1/messages` - Anthropic Messages API
|
||
- `/v1/messages/count_tokens` - Token 计数
|
||
- `/health` - 健康检查
|
||
- `/ready` - 就绪检查
|
||
- `/api/provider/{provider}/v1/*` - Provider 路由
|
||
- `/v0/management/*` - 远程管理 API
|
||
- `/v0/management/backup` - 触发数据库备份
|
||
- `/v0/management/restore` - 从备份恢复
|
||
|
||
---
|
||
|
||
## 📸 界面截图
|
||
|
||
### 仪表盘 - 系统状态与监控
|
||

|
||
|
||
### 凭证池 - 多凭证管理与配额查询
|
||

|
||
|
||
### 路由管理 - 智能路由规则和容错策略
|
||

|
||
|
||
### 配置管理 - 客户端配置切换
|
||

|
||
|
||
### 扩展 - MCP/Prompts/Skills 管理
|
||

|
||
|
||
### API Server - 服务控制与 API 测试
|
||

|
||
|
||
### 设置 - 应用参数和偏好
|
||

|
||
|
||
---
|
||
|
||
## 🚀 快速开始
|
||
|
||
### 下载安装
|
||
|
||
从 [Releases](https://github.com/aiclientproxy/proxycast/releases) 页面下载对应平台的安装包:
|
||
|
||
- **macOS (Apple Silicon)**: `ProxyCast_x.x.x_aarch64.dmg`
|
||
- **Windows (x64)**: `ProxyCast_x.x.x_x64-setup.exe`
|
||
- **Ubuntu/Debian (x64)**: `ProxyCast_x.x.x_amd64.deb`
|
||
|
||
### 使用步骤
|
||
|
||
1. **启动应用** - 打开 ProxyCast
|
||
2. **加载凭证** - 进入 Provider 管理页面,点击"一键读取凭证"
|
||
3. **启动服务** - 在 Dashboard 点击"启动服务器"
|
||
4. **配置客户端** - 在 Cherry-Studio、Cline 等工具中配置:
|
||
```
|
||
API Base URL: http://localhost:8999/v1
|
||
API Key: 启动时自动生成的密钥(可在设置页查看/修改)
|
||
```
|
||
|
||
---
|
||
|
||
## 🧰 运维提示
|
||
|
||
- **自动备份**:数据库默认每天自动备份到 `~/.proxycast/backups/`,保留 7 天。
|
||
- **配置备份**:每次写入配置会生成 `config.yaml.backup` 以便回滚。
|
||
- **日志归档**:7 天游离线日志自动压缩,30 天前压缩日志自动清理。
|
||
- **生产 HTTPS**:当前版本不内置 TLS,生产环境需反向代理终止 HTTPS。
|
||
|
||
---
|
||
|
||
## 🔧 API 使用示例
|
||
|
||
### OpenAI Chat Completions
|
||
|
||
```bash
|
||
curl http://localhost:8999/v1/chat/completions \
|
||
-H "Content-Type: application/json" \
|
||
-H "Authorization: Bearer your-api-key" \
|
||
-d '{
|
||
"model": "claude-sonnet-4-5-20250514",
|
||
"messages": [
|
||
{"role": "user", "content": "Hello!"}
|
||
],
|
||
"stream": true
|
||
}'
|
||
```
|
||
|
||
### Anthropic Messages API
|
||
|
||
```bash
|
||
curl http://localhost:8999/v1/messages \
|
||
-H "Content-Type: application/json" \
|
||
-H "x-api-key: your-api-key" \
|
||
-H "anthropic-version: 2023-06-01" \
|
||
-d '{
|
||
"model": "claude-sonnet-4-5-20250514",
|
||
"max_tokens": 1024,
|
||
"messages": [
|
||
{"role": "user", "content": "Hello!"}
|
||
]
|
||
}'
|
||
```
|
||
|
||
---
|
||
|
||
## 🛠️ 开发构建
|
||
|
||
### 环境要求
|
||
|
||
- Node.js >= 20.0.0
|
||
- Rust >= 1.70
|
||
- pnpm 或 npm
|
||
|
||
### 本地开发
|
||
|
||
```bash
|
||
# 安装依赖
|
||
npm install
|
||
|
||
# 启动开发服务器
|
||
npm run tauri dev
|
||
```
|
||
|
||
### 构建发布
|
||
|
||
```bash
|
||
# 构建生产版本
|
||
npm run tauri build
|
||
```
|
||
|
||
---
|
||
|
||
## 📄 开源协议
|
||
|
||
本项目采用 [GNU General Public License v3 (GPLv3)](https://www.gnu.org/licenses/gpl-3.0) 协议开源。
|
||
|
||
## 🙏 致谢
|
||
|
||
- [AIClient-2-API](https://github.com/justlovemaki/AIClient-2-API) - 核心逻辑参考
|
||
- [Tauri](https://tauri.app/) - 跨平台桌面框架
|
||
- [shadcn/ui](https://ui.shadcn.com/) - UI 组件库
|
||
|
||
---
|
||
|
||
## ⚠️ 免责声明
|
||
|
||
### 使用风险提示
|
||
本项目(ProxyCast)仅供学习和研究使用。用户在使用本项目时需自行承担所有风险。作者不对因使用本项目而导致的任何直接、间接或后果性损失负责。
|
||
|
||
### 第三方服务责任声明
|
||
本项目是一个 API 代理工具,不提供任何 AI 模型服务。所有 AI 模型服务均由各自的第三方提供商(如 Google、Anthropic、阿里云等)提供。用户在通过本项目访问这些服务时,应遵守各第三方服务的使用条款和政策。
|
||
|
||
### 数据隐私声明
|
||
本项目在本地运行,不收集或上传任何用户数据。但用户在使用本项目时应保护好自己的 API 密钥和其他敏感信息。
|