WindsurfAPI:Windsurf 模型转标准 API
把自己 Windsurf / Devin 账号的 100+ 模型转成 OpenAI、Anthropic、Gemini 兼容 API 的自托管网关。
- 浏览
- 5
- 访问
- 0
- 下载
- 0
- 版本
- v3.141.592658
- 平台
- Windows、macOS、Linux
详细介绍
项目简介
WindsurfAPI 是一个零 npm 运行时依赖、纯 Node.js 编写的自托管协议兼容网关。它把部署者自己拥有或获授权使用的 Windsurf(原 Codeium,现 Devin Desktop)/ Devin 云端 100+ AI 模型——Claude、GPT、Gemini、DeepSeek、Kimi、GLM、SWE 等——转换成 OpenAI、Anthropic、Gemini 兼容的标准 API,方便 Claude Code、Cline、Cursor 等客户端直接接入。
请求会经协议翻译层转为 Windsurf 内部 gRPC 协议,通过本地 Language Server 发往 Windsurf 云端;也可选用 DEVIN_CONNECT 路径直连 Devin 云端。
主要功能
- 多套兼容接口
POST /v1/chat/completions:OpenAI Chat 兼容,各类 OpenAI SDK 可直接使用POST /v1/completions:OpenAI 旧 Completions(非流式)POST /v1/responses:OpenAI Responses 兼容,附GET/DELETE /v1/responses/{id}POST /v1/messages:Anthropic 兼容,Claude Code / Cline / Cursor 可直连POST /v1beta/models/*:Gemini 兼容,对接 Gemini SDK
- 账号池:轮询、限流隔离、故障转移与熔断,用于同一部署者持有的账号集合
- 身份中和:返回前剥离上游 Windsurf 身份信息
- Dashboard:默认在
http://你的IP:3003/dashboard查看状态 - 两种部署方式:源码 / PM2 部署与 Docker Compose 部署,另带更新与回滚脚本
注意:模型本身不会操作文件。文件读写由 Claude Code、Cline 等客户端在本地执行,本服务只负责传递 tool_use / tool_result。
安装与使用
运行时要求:Node.js 22.13+(24.x 为发布门禁版本)。本地 Windsurf 账号导入依赖 22.13+ 免 flag 的 node:sqlite,更早的 22.x 会返回 sqlite_unavailable。
一键部署:
git clone https://github.com/dwgx/WindsurfAPI.git
cd WindsurfAPI
bash setup.sh
node src/index.js
Language Server 二进制可单独下载:
bash install-ls.sh
Docker 部署:
cp .env.example .env
docker compose up -d --build
docker compose logs -f
Docker 更新使用 deploy/update.sh,会拉取新镜像、只重建 windsurf-api、等待 /health,失败自动回滚,数据卷不动:
bash deploy/update.sh
bash deploy/update.sh --tag 3.9.52
bash deploy/update.sh --rollback
源码 / PM2 部署的更新命令为 cd ~/WindsurfAPI && bash update.sh。完整文档见 项目文档站。
注意事项
- 项目采用 BYO-account 模式:账号与凭据由部署者自行提供和控制;本项目不提供、出售、出租或打包任何 Windsurf / Devin 账号、订阅或凭据,多账号能力仅用于同一部署者持有的账号集合。
- 空
API_KEY/DASHBOARD_PASSWORD属于 fail-closed:compose 默认监听0.0.0.0,此时启动后访问会返回 401。 - 代码以 MIT License 开源,但 MIT 只授予本项目代码的使用权,不授予任何第三方服务、模型或账号的访问权;部署者需自行确认使用方式符合上游服务条款与适用法律。
- 本项目为独立开源项目,与 Cognition、Windsurf、Devin、OpenAI、Anthropic、Google 等无隶属或背书关系。
本作品整理自 GitHub 开源项目 dwgx/WindsurfAPI,原作者 @dwgx,许可证 MIT。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v3.141.592658当前版本
Gemini 原生 ToolDefs 中 JSON Schema 的 type 数组改为 anyOf,不再被上游以 400 拒绝;新增默认关闭的签名 thinking 回放开关,让 Claude 模型在工具循环内与后续轮次读取此前带签名的推理。
- v3.141.592657
供应链安全加固:banner 生成器改为按 commit + 逐文件 sha256 锁定,Docker 镜像按 digest 签名并在 dashboard OTA 中强制校验,源码 OTA 改动 Git 前校验签名的 release-attestation.json;同时修复 phase timeout 最后一毫秒误分类。
评论