An open API service indexing awesome lists of open source software.

https://github.com/issueye/open_cc

OpenCC 是一个功能强大的 Anthropic 协议转换代理工具,旨在将 Anthropic API 请求无缝转换为 OpenAI 格式,并提供企业级的令牌管理、使用统计和监控界面
https://github.com/issueye/open_cc

ai anthropic golang openai wails

Last synced: 5 months ago
JSON representation

OpenCC 是一个功能强大的 Anthropic 协议转换代理工具,旨在将 Anthropic API 请求无缝转换为 OpenAI 格式,并提供企业级的令牌管理、使用统计和监控界面

Awesome Lists containing this project

README

          

# OpenCC - Anthropic to OpenAI Proxy

OpenCC 是一个功能强大的 Anthropic 协议转换代理工具,旨在将 Anthropic API 请求无缝转换为 OpenAI 格式,并提供企业级的令牌管理、使用统计和监控界面。

![OpenCC](./build/icon.ico)

## 🌟 核心特性

- **协议转换**:完美支持 Anthropic 的 Messages API 和 Legacy Completions API。
- **深度兼容**:
- 支持 **Reasoning Content**(如 DeepSeek R1 的思维过程输出)。
- 支持 **工具调用 (Tool Use)**,包括流式模式下的工具调用转换。
- 支持 **Token 计数** 接口 (`/v1/messages/count_tokens`)。
- **企业级令牌系统**:
- 多令牌管理:支持创建多个 Access Token。
- 额度限制:实时追踪令牌的 Token 使用量和请求次数。
- 状态管理:一键启用或禁用特定令牌。
- **高可用保障**:
- **智能重试**:针对网络波动、429 (限流) 及 5xx (服务器错误) 自动进行指数退避重试。
- **网络优化**:支持配置 HTTP 代理,优化空闲连接超时设置。
- **全方位监控**:
- **实时日志**:记录每一次请求的详细信息,包括 **请求 Body**、状态码、耗时和模型映射。
- **使用统计**:按供应商和模型维度统计 Token 消耗。
- **桌面级体验**:
- 基于 **Wails (Go + Vue 3)** 构建,提供流畅的桌面管理界面。
- **系统托盘支持**:点击关闭按钮自动最小化到托盘,后台持续运行;右键托盘菜单可快速显示或彻底退出。

## 📊 界面预览

### 控制台

控制台界面

### 供应商管理

供应商管理界面
添加供应商界面

### 日志监控

日志监控界面

### 系统设置

系统设置界面

## 🚀 快速开始

### 依赖要求

- [Go](https://golang.org/dl/) (1.23+)
- [Node.js](https://nodejs.org/en/download/) (用于前端开发)
- [Wails CLI](https://wails.io/docs/gettingstarted/installation)

### 开发模式运行

```bash
wails dev
```

### 编译打包

```bash
wails build
```

## 🛠️ 配置说明

- **数据库**:使用 SQLite 本地数据库,文件默认存储在用户目录下的 `.open_cc/config.db`。
- **模型映射**:通过管理界面灵活配置源模型(Anthropic 格式)与目标模型(OpenAI 格式)的映射关系。
- **自动路由**:支持 `provider/model` 格式的自动路由功能。

## 📅 后续开发计划

- [ ] **多端同步**:支持配置云端同步,实现多设备间映射关系与令牌同步。
- [ ] **增强缓存**:引入 Redis 缓存支持(可选),进一步提升高并发场景下的令牌验证效率。
- [ ] **更精细的配额管理**:支持设置令牌的过期时间、总配额(按金额或 Token)以及每分钟请求数 (RPM) 限制。
- [ ] **自定义转换插件**:提供插件机制,允许用户针对特定非标准模型编写自定义的协议转换逻辑。
- [ ] **多语言支持**:界面国际化 (i18n),支持英文、日文等更多语言。
- [ ] **导出/导入功能**:支持将配置、供应商信息及令牌导出为 JSON/CSV 格式,方便备份与迁移。

## 🤝 鸣谢

本项目在开发过程中参考了以下优秀项目:

- [one-api](https://github.com/songquanpeng/one-api):令牌管理与多渠道分发的设计灵感。
- [ShakaRover/OpenCC](https://github.com/ShakaRover/OpenCC):Anthropic 协议转换逻辑与 DeepSeek 兼容性处理。

## 📄 开源协议

MIT License