metadata
title: AIChatbot2API
emoji: 🏃
colorFrom: yellow
colorTo: indigo
sdk: docker
pinned: false
app_port: 7860
AIChatbot2API (Go版)
本项目是一个将 ai-chatbot.top 服务转换为 OpenAI API 格式的代理服务器,使用 Go 语言实现。它旨在提供一个高性能、易于部署的解决方案,兼容各种支持 OpenAI API 的客户端。
✨ 特性
- 🚀 高性能: 使用 Go 语言原生实现,性能优越,资源占用低。
- 🔄 OpenAI 格式兼容: 完全兼容 OpenAI 的
/v1/chat/completions和/v1/models接口。 - 🌊 支持流式与非流式响应: 可根据客户端请求参数
stream自动切换。 - 🧠 保留思考过程: 将
ai-chatbot.top的思考过程以<think>...</think>标签的形式保留在响应中。 - 🔐 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 文件示例:
API_KEY=your_secret_api_key
RANDOM_UA=true
🚀 如何运行
1. 使用 Docker (推荐)
这是最简单的部署方式。
# 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 环境。
# 1. 安装依赖
go mod tidy
# 2. 创建 .env 文件并填入配置 (参考上文)
# 3. 运行程序
go run main.go
服务将启动在 http://localhost:7860。
📝 API 使用示例
您可以使用任何兼容 OpenAI 的客户端。以下是一个 curl 示例:
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-R1DeepSeek-V3
端点列表
POST /v1/chat/completions: 聊天接口 (需要认证)。GET /v1/models: 获取模型列表 (需要认证)。GET /health: 健康检查接口 (无需认证)。