--- title: AIChatbot2API emoji: 🏃 colorFrom: yellow colorTo: indigo sdk: docker pinned: false app_port: 7860 --- # AIChatbot2API (Go版) 本项目是一个将 [ai-chatbot.top](https://ai-chatbot.top) 服务转换为 OpenAI API 格式的代理服务器,使用 Go 语言实现。它旨在提供一个高性能、易于部署的解决方案,兼容各种支持 OpenAI API 的客户端。 ## ✨ 特性 - **🚀 高性能**: 使用 Go 语言原生实现,性能优越,资源占用低。 - **🔄 OpenAI 格式兼容**: 完全兼容 OpenAI 的 `/v1/chat/completions` 和 `/v1/models` 接口。 - **🌊 支持流式与非流式响应**: 可根据客户端请求参数 `stream` 自动切换。 - **🧠 保留思考过程**: 将 `ai-chatbot.top` 的思考过程以 `...` 标签的形式保留在响应中。 - **🔐 API 密钥保护**: 通过环境变量设置 `API_KEY`,保护您的服务不被滥用。 - **🤖 随机 User-Agent**: 可选开启随机 User-Agent,模拟不同设备。 - **⚡️ 智能会话管理**: 自动缓存和异步预加载会话 ID (`chatID`),提升响应速度。 - **🐳 Docker 支持**: 提供 Dockerfile,方便容器化部署。 - **ጤ 健康检查**: 提供 `/health` 端点,方便监控服务状态。 ## ⚙️ 环境变量 在运行前,您需要在项目根目录下创建一个 `.env` 文件,或直接设置环境变量: | 变量名 | 说明 | 是否必须 | 默认值 | |-------------|-------------------------------------------------------------------|----------|--------| | `API_KEY` | 用于访问 API 的密钥,客户端需要在 `Authorization` 头中提供。 | **是** | 无 | | `RANDOM_UA` | 是否为每个请求使用随机的 User-Agent。可选值为 `true` 或 `false`。 | 否 | `false`| **.env 文件示例:** ```env API_KEY=your_secret_api_key RANDOM_UA=true ``` ## 🚀 如何运行 ### 1. 使用 Docker (推荐) 这是最简单的部署方式。 ```bash # 1. 构建 Docker 镜像 docker build -t aichatbot2api . # 2. 运行容器 docker run -d -p 7860:7860 --name aichatbot-api \ -e API_KEY="your_secret_api_key" \ -e RANDOM_UA="true" \ aichatbot2api ``` ### 2. 本地直接运行 如果您本地已经配置好 Go 环境。 ```bash # 1. 安装依赖 go mod tidy # 2. 创建 .env 文件并填入配置 (参考上文) # 3. 运行程序 go run main.go ``` 服务将启动在 `http://localhost:7860`。 ## 📝 API 使用示例 您可以使用任何兼容 OpenAI 的客户端。以下是一个 `curl` 示例: ```bash curl http://127.0.0.1:7860/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer your_secret_api_key" \ -d '{ "model": "DeepSeek-V3", "messages": [ { "role": "user", "content": "你好,请介绍一下你自己" } ], "stream": true }' ``` ### 支持的模型 - `DeepSeek-R1` - `DeepSeek-V3` ### 端点列表 - `POST /v1/chat/completions`: 聊天接口 (需要认证)。 - `GET /v1/models`: 获取模型列表 (需要认证)。 - `GET /health`: 健康检查接口 (无需认证)。