Skip to content

pyx1994/API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AIClient-2-API

一个强大的 AI 模型代理服务,将客户端专用的 AI 模型 API 转换为标准 OpenAI 兼容接口。

🚀 快速开始

Windows 本地部署

  1. 克隆项目
git clone https://github.com/YOUR_USERNAME/AIClient-2-API.git
cd AIClient-2-API
  1. 运行启动脚本
start.bat
  1. 访问管理界面 打开浏览器访问: http://localhost:3000 默认密码: admin123

Linux 服务器一键部署

# 克隆项目
git clone https://github.com/YOUR_USERNAME/AIClient-2-API.git
cd AIClient-2-API

# 给部署脚本执行权限
chmod +x deploy.sh

# 运行部署脚本
./deploy.sh

部署脚本会自动:

  • 检查并安装 Node.js (如果未安装)
  • 安装项目依赖
  • 创建必要的配置文件
  • 可选安装 PM2 进行进程管理
  • 配置开机自启

Docker 部署

docker run -d \
  -p 3000:3000 \
  -p 3100:3100 \
  -p 8085-8087:8085-8087 \
  -p 19876-19880:19876-19880 \
  --restart=always \
  -v /path/to/configs:/app/configs \
  --name aiclient2api \
  YOUR_USERNAME/aiclient-2-api:latest

📋 支持的提供商

本项目支持以下 AI 提供商:

  • OpenAI Custom - OpenAI 官方 API 或兼容接口
  • Claude Custom - Claude 官方 API 或兼容接口
  • Claude Kiro OAuth - 通过 Kiro 免费使用 Claude
  • Claude Orchids OAuth - 通过 Orchids 使用 Claude

⚙️ 配置说明

1. 主配置文件 (configs/config.json)

{
  "REQUIRED_API_KEY": "123456",
  "SERVER_PORT": 3000,
  "HOST": "0.0.0.0",
  "MODEL_PROVIDER": "openai-custom"
}

2. 号池配置 (configs/provider_pools.json)

{
  "openai-custom": [
    {
      "customName": "OpenAI账号1",
      "OPENAI_API_KEY": "sk-your-key",
      "OPENAI_BASE_URL": "https://api.openai.com/v1",
      "uuid": "openai-node-1"
    }
  ],
  "claude-custom": [
    {
      "customName": "Claude账号1",
      "CLAUDE_API_KEY": "sk-ant-your-key",
      "CLAUDE_BASE_URL": "https://api.anthropic.com",
      "uuid": "claude-node-1"
    }
  ]
}

🔧 使用方式

API 调用示例

# OpenAI 格式
curl http://localhost:3000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer 123456" \
  -d '{
    "model": "gpt-4",
    "messages": [{"role": "user", "content": "Hello"}]
  }'

# Claude 格式
curl http://localhost:3000/v1/messages \
  -H "Content-Type: application/json" \
  -H "X-API-Key: 123456" \
  -d '{
    "model": "claude-3-sonnet-20240229",
    "max_tokens": 1000,
    "messages": [{"role": "user", "content": "Hello"}]
  }'

路径路由

通过不同路径访问不同提供商:

# 使用 OpenAI 提供商
curl http://localhost:3000/openai-custom/v1/chat/completions ...

# 使用 Claude 提供商
curl http://localhost:3000/claude-custom/v1/messages ...

# 使用 Kiro OAuth
curl http://localhost:3000/claude-kiro-oauth/v1/messages ...

🛠️ 进程管理 (PM2)

如果使用 PM2 部署,常用命令:

# 查看进程状态
pm2 list

# 查看日志
pm2 logs aiclient2api

# 重启服务
pm2 restart aiclient2api

# 停止服务
pm2 stop aiclient2api

# 删除进程
pm2 delete aiclient2api

# 查看详细信息
pm2 show aiclient2api

🔒 安全建议

  1. 修改默认密码: 首次登录后立即修改 configs/pwd 文件
  2. 保护 API Key: 不要将包含真实 API Key 的配置文件提交到 Git
  3. 使用防火墙: 限制只允许必要的 IP 访问
  4. HTTPS: 生产环境建议使用 Nginx 反向代理并配置 SSL

📝 目录结构

AIClient-2-API/
├── configs/              # 配置文件目录
│   ├── config.json      # 主配置文件
│   ├── provider_pools.json  # 号池配置
│   ├── pwd              # 登录密码
│   ├── kiro/            # Kiro 凭据目录
│   └── orchids/         # Orchids 凭据目录
├── src/                 # 源代码
├── static/              # 前端静态文件
├── start.bat            # Windows 启动脚本
├── deploy.sh            # Linux 部署脚本
└── package.json         # 项目依赖

🐛 故障排查

端口被占用

# Linux
sudo lsof -i :3000
sudo kill -9 <PID>

# Windows
netstat -ano | findstr :3000
taskkill /F /PID <PID>

服务无法启动

  1. 检查 Node.js 版本 (需要 >= 20.0.0)
  2. 检查配置文件格式是否正确
  3. 查看日志文件: logs/app.logpm2 logs

无法访问 Web UI

  1. 检查防火墙是否开放 3000 端口
  2. 确认服务已正常启动
  3. 尝试使用 http://127.0.0.1:3000 访问

📄 许可证

本项目基于原项目 justlovemaki/AIClient-2-API 修改。

⚠️ 免责声明

本项目仅供学习和研究使用。使用本项目时请遵守相关 AI 服务商的使用条款。

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors