Skip to content

RavenholmAlpha/Raven-llm-Router

Repository files navigation

🐦‍⬛ Raven-llm-Router

智能AI模型路由器

一个轻量级的AI模型API路由器,提供统一的OpenAI兼容接口,支持多种AI模型和客户端。内置Web管理界面,让模型管理变得简单直观。

✨ 主要特性

  • 🔄 统一API接口 - 提供标准的OpenAI格式API
  • 🎯 多模型支持 - 支持Ollama、OpenAI等多种AI模型
  • 🚀 流式响应 - 完整支持Server-Sent Events (SSE)流式传输
  • 🌐 Web管理界面 - 内置可视化管理面板,支持模型配置和监控
  • 🔧 简单配置 - 通过JSON文件或Web界面轻松管理模型配置
  • 📱 客户端兼容 - 完美兼容ChatBox、CherryStudio等AI客户端
  • 🛠️ 一键启动 - 提供多平台启动脚本
  • 🌐 跨平台 - 支持Windows、Linux、macOS

🚀 30秒快速启动

📋 系统要求

  • Node.js 16.0 或更高版本
  • npm 或 yarn 包管理器

📥 安装步骤

  1. 克隆项目

    git clone https://github.com/RavenholmAlpha/Raven-llm-Router
    cd Raven-llm-Router
  2. 安装依赖

    npm install

🎯 启动方式

🖱️ 一键启动(推荐)

平台 命令 说明
🪟 Windows start.bat 双击运行或命令行执行
🪟 Windows start.ps1 PowerShell脚本
🐧 Linux/macOS ./start.sh 需要先执行 chmod +x start.sh

🖥️ 桌面快捷方式

# Windows用户可创建桌面快捷方式
create-shortcut.bat

⚙️ 手动启动

# 开发模式
npm run dev

# 生产模式
npm start

# 指定端口
PORT=3001 npm start

🌐 Web管理界面

启动服务器后,访问 http://localhost:3001 即可打开Web管理界面:

  • 📊 实时监控 - 查看API调用统计和服务器状态
  • ⚙️ 模型管理 - 添加、编辑、删除AI模型配置
  • 📋 API文档 - 内置交互式API文档
  • 🔍 日志查看 - 实时查看请求日志和错误信息
  • 📈 性能分析 - 响应时间和成功率统计

手动启动

node src/main/server.js

服务器将在 http://localhost:3001 启动。

⚙️ 配置

模型配置

编辑 db.json 文件来配置您的AI模型:

{
  "models": [
    {
      "name": "qwen2.5:0.5b",
      "baseURL": "http://localhost:11434",
      "apiKey": ""
    },
    {
      "name": "deepseek-chat",
      "baseURL": "https://api.deepseek.com",
      "apiKey": "your-api-key-here"
    }
  ]
}

客户端配置

ChatBox 配置

使用 chatbox-fixed-config.json 中的配置:

  • API Host: http://localhost:3001
  • API Key: 任意值(如:sk-test

CherryStudio 配置

使用 cherrystudio-fixed-config.json 中的配置:

  • Base URL: http://localhost:3001
  • API Key: 任意值(如:sk-test

📡 API 端点

聊天完成

POST /v1/chat/completions

支持标准的OpenAI聊天完成API格式,包括流式和非流式响应。

请求示例

{
  "model": "qwen2.5:0.5b",
  "messages": [
    {
      "role": "user",
      "content": "Hello, how are you?"
    }
  ],
  "stream": true
}

模型列表

GET /v1/models

返回所有可用的模型列表。

响应端点

POST /v1/responses

兼容性端点,功能与 /v1/chat/completions 相同。

🔧 开发

项目结构

APIROUTER/
├── src/
│   ├── main/
│   │   ├── server.js      # 主服务器文件
│   │   ├── index.js       # Electron主进程
│   │   └── preload.js     # Electron预加载脚本
│   └── renderer/          # 前端渲染进程
├── public/                # 静态文件
├── docs/                  # 项目文档
├── db.json               # 模型配置文件
├── package.json          # 项目依赖
└── README.md            # 项目说明

启动脚本

  • start.bat - Windows批处理脚本
  • start.ps1 - PowerShell脚本
  • start.sh - Linux/macOS Shell脚本
  • create-shortcut.bat - 创建桌面快捷方式

🧪 测试验证

使用内置的验证脚本测试功能:

node verify-fix.js

该脚本会测试:

  • 服务器连接
  • 流式响应功能
  • SSE格式正确性

🐛 故障排除

常见问题

  1. 端口占用

    • 确保端口3001未被其他程序占用
    • 可以修改 src/main/server.js 中的端口配置
  2. 模型连接失败

    • 检查 db.json 中的模型配置
    • 确保模型服务正在运行
    • 验证API密钥是否正确
  3. 客户端无法连接

    • 确保API Router服务器正在运行
    • 检查客户端配置中的URL和端口
    • 清除客户端缓存并重启
  4. 流式响应问题

    • 确保请求中包含 "stream": true
    • 检查客户端是否支持SSE

📄 许可证

本项目采用 MIT 许可证。详见 LICENSE 文件。

🤝 贡献

欢迎提交Issue和Pull Request来改进这个项目!

📞 支持

如果您遇到问题或需要帮助,请:

  1. 查看本README的故障排除部分
  2. 运行 verify-fix.js 进行自检
  3. 提交Issue描述您的问题


🎯 使用场景

  • AI应用开发 - 为您的应用提供统一的AI接口
  • 模型测试 - 快速切换和测试不同的AI模型
  • 客户端集成 - 让ChatBox、CherryStudio等客户端连接本地模型
  • API代理 - 统一管理多个AI服务的访问

🤝 贡献

欢迎提交Issue和Pull Request来帮助改进项目!

📄 许可证

MIT License


享受使用Raven-llm-Router! 🎉

About

A easy to use route all your LLM API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published