v1.5.0 — Docker + SOCKS5 + 工具調用修復

Windsurf 的 AI 模型
變成你熟悉的 API

同時支援 /v1/chat/completions/v1/messages 雙協定。Claude Code、Cursor、Cline 直接連。零 npm 依賴,Docker 一鍵部署。

零 npm 依賴 Node.js ≥ 20 MIT License Docker 就緒
0
AI 模型
9
供應商
2
相容協定
0
npm 依賴
雙協定 · Dual Protocol

同一個伺服器,兩套標準

不管你手上的客戶端走 OpenAI 還是 Anthropic 協定,指向同一個 Windsurf API 實例就能用。

S

OpenAI 相容

POST /v1/chat/completions
$ curl http://localhost:3003/v1/chat/completions \
  -H "Authorization: Bearer sk-ws-demo" \
  -d '{
    "model": "gpt-5.2",
    "messages": [
      {"role":"user","content":"hello"}
    ],
    "stream": true
  }'
# → Server-Sent Events (OpenAI chunk 格式)
A

Anthropic 相容

POST /v1/messages
$ curl http://localhost:3003/v1/messages \
  -H "x-api-key: sk-ws-demo" \
  -d '{
    "model": "claude-opus-4.6",
    "messages": [
      {"role":"user","content":"hello"}
    ],
    "stream": true
  }'
# → SSE (Anthropic message_delta 格式)
同一個請求體格式、同一個帳號池、同一個速率限制器——切換協定只是換路由前綴。Claude Code、Cline 吃 /v1/messages,Cursor/OpenAI SDK 吃 /v1/chat/completions,互不干擾。
模型 · Models

一個 API 背後,多個供應商

從 Claude Opus 到 GPT-5、從 Gemini 3 到 DeepSeek R1,9 個供應商的模型統一接入。

免費帳號:僅支援 gemini-2.5-flashgpt-4o-mini 已被 Windsurf 下架)。其餘模型需 Windsurf Pro 訂閱。
看不到最新模型?你的 Language Server binary 可能落後 Windsurf 雲端,從桌面端拷貝最新版 LS 覆蓋即可——/v1/models 會自動從雲端發現新模型。
模型清單怎麼更新?本頁面上的清單由 scripts/gen-docs-models.jssrc/models.js 自動生成,不會與後端漂移。
架構 · Architecture

中間多一層,全都接住

請求從客戶端出發,經過協定翻譯、帳號池選號、工具仿真、路徑淨化,再由語言伺服器轉成 Protobuf 送到 Windsurf 雲端。回應原路返回,流式解析後交付。

Client
IDE / CLI
Claude Code · Cursor
Cline · OpenAI SDK
HTTP · SSE
Node.js Proxy
Windsurf API
協定翻譯 · 帳號池輪詢
工具仿真 · 上下文複用
速率限制 · 故障轉移
Protobuf · gRPC
Binary · gRPC
Language Server
Windsurf LS 二進位
Proto 序列化 / 反序列化
TLS · HTTPS
Upstream
Windsurf Cloud
Cascade AI 引擎
100+ 模型推理
雙協定翻譯
OpenAI ↔ Anthropic ↔ Cascade
多帳號池
輪詢 · 故障轉移 · 自動封禁偵測
工具仿真
Prompt 注入 · 三格式解析
上下文複用
Fingerprint 池 · Cascade 會話快取
安全淨化
路徑剝離 · SSRF 防護 · Proto 截斷檢測
SOCKS5 · Docker
每帳號獨立代理 · 容器化部署
請求流 · 回應流
管理後台 · Dashboard

10 個面板,帳號運維全搞定。

訪問 /dashboard,暗色 Web 介面。日誌即時串流、帳號一鍵登入、模型黑白名單、封禁偵測。

1

總覽

運行時間、帳號池狀態、分模型成功率

2

登入取號

Email/密碼直接註冊,自動取得 Token

3

帳號管理

新增、刪除、停用、餘額 Credits 查詢

4

模型控制

全域與帳號層的模型白/黑名單

5

代理配置

全域及個別帳號 HTTP/SOCKS5 代理

6

日誌檢視

即時 SSE 串流,級別篩選,關鍵字高亮

7

請求統計

按模型/帳號維度的指標與圖表

8

封禁偵測

錯誤模式偵測,帳號健康自動監控

9

自動更新

一鍵 git pull + PM2 重啟服務

10

致謝

Contributors 列表

部署 · Deploy

從零到跑起來,五分鐘

兩種方式任選。

安裝 Node.js 20+

bash
$ curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
$ apt install -y nodejs

Clone + 安裝 Language Server

bash
$ git clone https://github.com/dwgx/WindsurfAPI.git
$ cd WindsurfAPI
$ bash install-ls.sh

設定 .env

.env
PORT=3003
API_KEY=                   # 留空 = 不驗證
DEFAULT_MODEL=claude-4.5-sonnet-thinking
LS_BINARY_PATH=/opt/windsurf/language_server_linux_x64
DASHBOARD_PASSWORD=         # 留空 = 後台免密碼

啟動

bash
$ npm install -g pm2
$ pm2 start src/index.js --name windsurf-api
$ pm2 save && pm2 startup
一鍵更新:bash update.sh

準備配置

bash
$ git clone https://github.com/dwgx/WindsurfAPI.git
$ cd WindsurfAPI
$ cp .env.example .env

啟動容器

bash
$ docker compose up -d --build
$ docker compose logs -f
預設掛載:.docker-data/data 持久化帳號/配置,.docker-data/opt/windsurf 放 LS binary。容器首次啟動會自動下載。
客戶端接入 · Integrations

你常用的那個 IDE,已經兼容了

改 BASE_URL,塞 API KEY,完事。

CClaude Code

/v1/messages · Anthropic 協定

export ANTHROPIC_BASE_URL="http://YOUR_IP:3003"
export ANTHROPIC_API_KEY="sk-ws-your-key"
claude

CCursor

/v1/chat/completions · OpenAI 協定

# Settings → Models → Custom OpenAI
Base URL: http://YOUR_IP:3003/v1
API Key:  sk-ws-your-key
Model:    claude-opus-4.6

CCline / Roo Code

AnthropicOpenAI provider 皆可

# Provider: OpenAI Compatible
Base URL: http://YOUR_IP:3003/v1
API Key:  sk-ws-your-key

OOpenAI SDK

/v1/chat/completions

from openai import OpenAI
client = OpenAI(
    base_url="http://YOUR_IP:3003/v1",
    api_key="sk-ws-your-key",
)
常見問題 · FAQ

你可能想問的。

需要 Windsurf 付費帳號嗎?
免費帳號可以跑,但僅限 gemini-2.5-flashgpt-4o-mini 已下架)。Claude、GPT-5 全系、Gemini 3、GLM 5.x、Kimi K2.x 等都需要 Windsurf Pro 訂閱。後台會自動偵測並標記每個帳號的 tier。
可以 Windows 上跑嗎?
HTTP 伺服器和管理後台能跑,但 Language Server binary 只有 Linux 版本(language_server_linux_x64),所以聊天功能僅限 Linux。Windows 建議放 WSL2 或純 Linux VM。
看不到最新模型(opus-4.7、gpt-5.3 之類)怎麼辦?
Exafunction 公開 release 停在 v2.12.5(2026-01),不含 4.7。從 Windsurf 桌面端 App 裡把 LS binary 拷出來即可:
• macOS:~/Library/Application Support/Windsurf/.../language_server_macos_arm
• Linux:~/.windsurf/bin/language_server_linux_x64
拷過去後 /v1/models 會自動從雲端 discover 最新目錄。
帳號會被封嗎?
高頻 burst 確實容易被識別。後台的封禁偵測面板會監控錯誤率,按 5 分鐘窗口做速率冷卻。推薦:每帳號 RPM < 10、配不同出口代理(支援 SOCKS5)、混用思考型和普通模型。
和其他類似專案的區別?
三點核心差異:
(1) 雙協定——同時有 /v1/messages/v1/chat/completions
(2) planner_mode=NO_TOOL——關掉 Cascade 內建工具循環,消除路徑洩露。
(3) 完整管理後台 + 帳號池——多號輪詢 + 故障轉移 + Docker 一鍵部署。
MIT License,可以商用嗎?
代碼本體 MIT License,法律上允許商用。README 顶上有一段作者態度:沒給 Star 和 Follow 的請別商業轉售,點了的隨便用。
致謝 · Credits

這些朋友把這個專案撐起來了。

每一條 PR 都附上 root-cause 分析;每一個 root-cause 都對應半夜在 Issues 區罵 Claude 的瞬間。權重按貢獻次數與精準度排,不是按代碼行數。

aict666
@aict666 S+
PR #44 · #51 · #53 · #54

四連刀。Opus 4.7 注入守衛繞行重寫、redact 標記血淚迭代到 U+2026 省略號、Pro/Trial tier 被誤降級的 inferTier 補丁、tool preamble 從 1600 字符瘦身到 330。每個 PR 都是 root-cause 直擊。

baily-zhang
@baily-zhang S+
PR #36 · #45 · #61

cascade reuse / fingerprint / trajectory offset 整套機器的實質 maintainer。從修 0% 命中率,到切斷舊 step 重放,到 Opus 4.7 多模態上下文爆炸,三次都在同一條技術線上深耕到底。

youfak
@youfak A+
PR #26

Docker 零依賴適配一整套:Dockerfile / docker-compose.yml / DATA_DIR 持久化 / CRLF pipefail 修復 / LS 重啟兜底。讓這個項目從「裸跑 pm2」邁進「docker compose up」。

motto1
@motto1 A
PR #20

逆向 Windsurf 官網真正使用的 Auth1 登入鏈路 —— 4 步流程還原 + 批量導入 + 剪貼板讀取,補上 Firebase 路徑早已不是主鏈路的缺口。

smeinecke
@smeinecke A
PR #43

Dashboard 完整 i18n 國際化 —— 14 個 commit 把每處硬編碼中文改成 I18n.t() 調用,再加 check-i18n.js 校驗防漏。從半成品翻譯到真正中英雙語切換。

abwuge
@abwuge B+
PR #58

首次貢獻就解了部署死鎖。docker-compose 起來後所有容器持續 Restart 的兩個成因(nginx zone 缺失 + config.js join 漏 import),+3 / -2 surgical 全堵上。

dd373156
@dd373156 B+
PR #1

首位外部貢獻者。MODEL_TIER_ACCESS.pro 是模塊載入時的快照,雲端動態合併進來的 claude-opus-4-7-* 永遠進不了 Pro 列表。一行 getter 修。三步 curl 復現寫得教科書級。

colin1112a
@colin1112a B+
PR #13

早期代碼審查先行者,一個 PR 涵蓋 15 個安全 / 並發 / 資源管理 bug:XSS 轉義、grpc HTTP/2 池、16MB frame 上限、varint BigInt。雖未直接合並,方向都對,後續多項被獨立重做。

想加入這份名單?到 Issues 提 bug 或到 Pull requests 直接動手都歡迎。