by dwgx
Turn Windsurf / Devin Desktop's 100+ AI models (Claude, GPT, Gemini, DeepSeek, Kimi, GLM, SWE) into OpenAI-, Anthropic- & Gemini-compatible APIs. Zero-dependency self-hosted reverse proxy for Claude Code, Cline & Cursor. 把 Windsurf/Devin 云端 100+ 模型变成三套兼容 API。
From $49 · 30 days · terms & refunds
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
Automated security scan — not a certification.
# Add to your Claude Code skills
git clone https://github.com/dwgx/WindsurfAPIGuides for using cli tools skills like WindsurfAPI.
Last scanned: 6/14/2026
{
"issues": [
{
"file": "README.md",
"line": 188,
"type": "secret-exfiltration",
"message": "Instruction appears to send credentials/secrets to an external endpoint",
"severity": "medium"
}
],
"status": "PASSED",
"scannedAt": "2026-06-14T08:15:54.200Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}See how WindsurfAPI compares with popular alternatives.
JavaScript · MIT · ★3,107
把 Windsurf / Devin 的 100+ AI 模型(Claude、GPT、Gemini、DeepSeek、Kimi、GLM、SWE…)变成 OpenAI Chat / Responses / Anthropic / Gemini 四套标准 API。零 npm 运行时依赖。
历史账本 · 把 1387 次提交、196 个版本、82 个 PR、180 个 issue(账本自己的口径,数字跟到 v3.9.34 / 2026-09-15)摊开给你看:时间线主账 + 贡献者分析 + Git 树三形态(竖/横/环)+ 自伤与返工全记录 —— 打开可视化账本(纯原生渲染,零依赖)
没点 Star 和 Follow 的:严禁商业使用、转售、代部署、挂后台对外提供服务、包装成中转服务出售。 点了 Star 和 Follow 的:随便用,我睁一只眼闭一只眼。
代码本体按 MIT License 开源(见 LICENSE),上面这段是作者个人态度。
把 Windsurf(原 Codeium,现 Devin Desktop)的 AI 模型变成四套标准 API 同时兼容:
POST /v1/chat/completions — OpenAI 兼容 任何 OpenAI SDK 直接用POST /v1/completions — OpenAI 旧 Completions(非流式;prompt 包成一条 user turn,流式请走 chat)POST /v1/responses — OpenAI Responses 兼容(另有 GET / DELETE /v1/responses/{id} 读取与删除已存响应,需带身份 header,见下)POST /v1/messages — Anthropic 兼容 Claude Code / Cline / Cursor 直接连POST /v1beta/models/* — Gemini 兼容 直接对接 Gemini SDK100+ 模型:Claude 4.5/4.6/Opus 4.7/5 · GPT-5/5.1/5.2/5.4/5.5/5.6-Luna 全系 · Gemini 2.5/3.0/3.1 · Grok · Qwen · Kimi K2.x · GLM 4.7/5/5.1/5.2 · MiniMax · SWE 1.5/1.6/1.7/2 · Arena 等。零 npm 依赖 纯 Node.js。
关键词:Windsurf 逆向 · Devin 代理 · Claude Code 中转 · Cursor 镜像 · AI 中转 API · OpenAI 兼容接口 · 免费 Claude/GPT/Gemini · 大模型反代 · Codeium 逆向
WindsurfAPI 是一个独立的、开源的、自托管协议兼容网关,用于将部署者自己拥有或获授权使用的 Windsurf / Devin 账号能力接入 OpenAI、Anthropic 和 Gemini 兼容客户端。
WindsurfAPI 是独立开源项目,与 Cognition、Windsurf、Devin、OpenAI、Anthropic、Google 或其他模型提供商不存在隶属、授权或背书关系,除非另有明确说明。
项目代码依据 MIT License 开源。MIT License 授予的是本项目代码的使用权,并不授予任何第三方服务、模型、账号或订阅的访问权。
本节只界定边界;下面说明它具体能做什么。
flowchart LR
subgraph clients["你的客户端"]
A["OpenAI SDK<br/>curl / 前端"]
B["Claude Code<br/>Cline · Cursor"]
C["Gemini SDK"]
end
subgraph gw["WindsurfAPI(本服务 · 端口 3003)"]
direction TB
R["协议翻译层<br/>OpenAI ↔ Anthropic ↔ Gemini"]
P["账号池<br/>轮询 · 限流隔离 · 故障转移 · 熔断"]
N["身份中和<br/>剥掉上游 Windsurf 身份"]
R --- P
R --- N
end
LS["Language Server<br/>(Windsurf 二进制)"]
UP["Windsurf 云端<br/>server.self-serve.windsurf.com"]
DC["Devin 云端<br/>(DEVIN_CONNECT 路径)"]
A -- "/v1/chat/completions" --> R
B -- "/v1/messages" --> R
C -- "/v1beta/models/*" --> R
R -- "gRPC" --> LS
LS -- "HTTPS" --> UP
R -. "HTTPS(可选直连)" .-> DC
classDef gwStyle fill:#1f6feb22,stroke:#1f6feb,stroke-width:2px
classDef upStyle fill:#8957e522,stroke:#8957e5
class gw gwStyle
class UP,DC upStyle
┌─────────────┐ /v1/chat/completions ┌────────────┐
│ OpenAI SDK │ ──────────────────────→ │ │
│ curl / 前端 │ ←────────────────────── │ │
└─────────────┘ OpenAI JSON + SSE │ WindsurfAPI│
│ Node.js │ ┌──────────────┐ ┌─────────────────┐
┌─────────────┐ /v1/messages │ (本服务) │ gRPC │ Language │ HTTPS │ Windsurf 云端 │
│ Claude Code │ ──────────────────────→ │ │ ───→ │ Server (LS) │ ────→ │ server.self- │
│ Cline │ ←────────────────────── │ │ ←─── │ (Windsurf │ ←─── │ serve.windsurf │
│ Cursor │ Anthropic SSE │ │ │ binary) │ │ .com │
└─────────────┘ └────────────┘ └──────────────┘ └─────────────────┘
↑
账号池轮询
速率限制隔离
故障转移
它做了什么:
模型本身不会操作文件 — 文件操作是 IDE Agent 客户端(Claude Code / Cline 等)在本地执行的:
你 "帮我改 bug" Claude Code WindsurfAPI Windsurf Cloud
│ │ │ │
│────────────────────────────→ │ │ │
│ │ POST /v1/messages │ │
│ │ messages + tools + system │ │
│ │ ─────────────────────────────→│ 打包成 Cascade 请求 │
│ │ │ ──────────────────────→ │
│ │ │ │
│ │ │ 模型思考 → 返回
│ │ │ tool_use(edit_file)
│ │ │ ←────────────────────── │
│ │ ←── Anthropic SSE ────────────│ │
│ │ content_block=tool_use │ │
│ │ │ │
│ │ 本地执行 edit_file() │ │
│ │ (读写本地文件) │ │
│ │ │ │
│ │ 带 tool_result 再发一轮 │ │
│ │ ─────────────────────────────→│ ──────────────────────→ │
│ │ ... (循环) ...
│ │ │ │
│ ← 最终答案 │ │ │
重点:WindsurfAPI 只负责传递 tool_use / tool_result,真正改文件的是客户端 CLI。
运行时要求:Node.js 22.13+(24.x 为发布门禁版本)。Node 20 已于 2026-04-30 EOL,不再支持; 本地 Windsurf 账号导入需要 22.13+ 免 flag 的
node:sqlite,更早的 22.x 会返回sqlite_unavailable。
git clone https://github.com/dwgx/WindsurfAPI.git
cd WindsurfAPI
bash setup.sh # 建目录 · 配权限 · 生成 .env
node src/index.js
Dashboard:http://你的IP:3003/dashboard
cp .env.example .env
# 空 API_KEY / DASHBOARD_PASSWORD 是 fail-closed(compose 默认 0.0.0.0,起来也是 401)。
# compose 默认 DEVIN_CONNECT=1,不跑 Language Server,不会自动下载 LS。
# 只有关掉 DEVIN_CONNECT、走 Cascade 时才会在缺二进制时尝试安装 LS。
docker compose up -d --build
docker compose logs -f
默认挂载:
./.docker-data/data:持久化 accounts.json、proxy.json、stats.json、runtime-config.json、model-access.json、logs/./.docker-data/opt/windsurf:Language Server 二进制与数据目录./.docker-data/tmp/windsurf-workspace:临时工作区如果想改持久化目录,可在 .env 里设置 DATA_DIR。Docker 默认已设为 /data。
Docker 部署用 deploy/update.sh:拉新镜像 → 只重建 windsurf-api → 等 /health → 失败自动回滚到上一个镜像;数据卷全程不动,不需要挂 docker.sock,也不需要 Watchtower。
bas
WindsurfAPI is an open-source cli tools skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by dwgx. Turn Windsurf / Devin Desktop's 100+ AI models (Claude, GPT, Gemini, DeepSeek, Kimi, GLM, SWE) into OpenAI-, Anthropic- & Gemini-compatible APIs. Zero-dependency self-hosted reverse proxy for Claude Code, Cline & Cursor. 把 Windsurf/Devin 云端 100+ 模型变成三套兼容 API。. It has 3,108 GitHub stars.
Yes. WindsurfAPI passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/dwgx/WindsurfAPI" and add it to your Claude Code skills directory (see the Installation section above).
WindsurfAPI is primarily written in JavaScript. It is open-source under dwgx on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other CLI Tools skills you can browse and compare side by side. Open the CLI Tools category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh WindsurfAPI against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
Based on votes and bookmarks from developers who liked this skill