WindsurfPoolAPI  by guanxiaol

AI model gateway for diverse LLMs

Created 2 months ago
250 stars

Top 100.0% on SourcePulse

GitHubView on GitHub
Project Summary

<2-3 sentences summarising what the project addresses and solves, the target audience, and the benefit.> This project provides an enterprise-grade multi-account pool proxy for the Windsurf AI platform, exposing over 113 models (Claude, GPT, Gemini, Grok, Kimi) via standard OpenAI and Anthropic API interfaces. It targets developers and researchers needing unified access to diverse AI models, offering load balancing, failover, detailed analytics, and a management dashboard to simplify complex AI integrations.

How It Works

A Node.js HTTP server acts as a proxy, supporting both OpenAI (/v1/chat/completions) and Anthropic (/v1/messages) API formats. It manages a pool of Windsurf accounts, distributing requests based on capacity and implementing automatic failover. Requests are proxied to a Language Server Pool, which communicates with the Windsurf Cloud. A key advantage is its zero external Node.js dependencies, relying solely on built-in modules.

Quick Start & Requirements

Prerequisites: Node.js ≥ 20, Windsurf Language Server binary. Installation: Clone repo, place LS binary in /opt/windsurf/, run node src/index.js. Configuration via .env. Docker: docker compose up -d --build. Dashboard: http://localhost:3003/dashboard.

Highlighted Details

  • Dual Protocol: Supports OpenAI (/v1/chat/completions) and Anthropic native (/v1/messages) API formats.
  • Extensive Model Support: Integrates 113+ models from Claude, GPT, Gemini, DeepSeek, Grok, Qwen, Kimi, GLM.
  • Multi-Account Pooling: Features capacity-based load balancing, automatic failover, and per-model rate-limit isolation.
  • Comprehensive Analytics: Detailed token/credit analytics, aggregated per-API/model, down to request level.
  • Admin Dashboard: Full-featured SPA for account management, proxy config, logs, and usage charts.
  • Zero Dependencies: Built entirely with Node.js built-in modules.
  • Multimodal Support: Handles image uploads via image_url blocks.
  • Tool Calling: Compatible with <tool_call> protocol for Cursor, Aider.

Maintenance & Community

No specific details on maintainers, community channels (e.g., Discord, Slack), or active development signals are present in the README. The project acknowledges dwgx/WindsurfAPI as a foundational contribution.

Licensing & Compatibility

Licensed under MIT. However, a strict disclaimer prohibits commercial use, resale, paid deployment, or repackaging as a service without explicit written authorization, limiting its application to personal learning, research, and self-hosting.

Limitations & Caveats

Commercial use is explicitly forbidden. Relies on Windsurf accounts; free tiers offer access only to gpt-4o-mini and gemini-2.5-flash. Token-based login recommended due to a Windsurf bug affecting email/password auth. A separate Language Server binary must be manually downloaded and placed.

Health Check
Last Commit

2 months ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
7 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.