vm2api 是一个面向 Claude Code/Anthropic 协议的“订阅转 API”项目,核心思路是通过 Docker 槽位或真实虚拟机模拟独立电脑环境,将 Claude Code 的能力包装成兼容 Anthropic `/v1/messages` 以及部分 Chat/Completions/Responses 风格入口的 API 服务。项目提供 Node.js 控制面、Web 管理台、槽位调度、代理出口绑定、Setup Token 导入、遥测转发和预编译内核组件,主打“虚拟机拟真”和“不依赖提示词注入”。
适用领域
AI API 网关 / Claude Code 集成 / 大模型代理服务 / 容器化部署 / 虚拟机拟真 / 协议适配 / 开发者工具 / 自动化运维
配置难度
中高。若只是按一键脚本在 Ubuntu 24.04 上自建测试,难度中等;但要稳定运行多槽位、配置代理出口、保护凭证、处理 Docker/iptables/反代/系统权限和账号风控,要求开发者具备较强 Linux 运维、容器网络和安全经验。
商业价值
对个人研究和内部实验有较高技术参考价值,可用于学习 Claude Code API 封装、协议适配、容器隔离、代理出口调度和管理台设计。对企业商业化价值需要谨慎评估:一方面它可以降低把 Claude Code 接入内部系统的工程成本;另一方面,非商业许可证、官方服务条款风险、账号封禁风险、凭证安全风险和预编译二进制供应链风险都较高。若用于商业产品或对外收费服务,必须先取得项目作者授权,并评估 Anthropic/Claude 官方合规要求。
01
技术亮点
- 提供相对完整的 Docker Compose 部署方案和一键安装/更新脚本。
- 支持 Anthropic `/v1/messages` 协议入口,并声称兼容 Chat、Completions、Responses 等接口风格。
- 提供 Web 管理台,可进行槽位、出口、凭证等管理。
- 采用一槽一容器或一槽一虚拟机的隔离思路,每个槽位具备独立家目录、出口、指纹和遥测环境。
- README 中对部署路径、权限、健康检查、常见错误和升级方式说明较细。
- 仓库内带有 linux amd64 预编译 ELF,Docker 部署时通常不需要在服务器上重新编译 Rust/Go 组件。
- 强调不通过 system prompt 注入模拟官方行为,而是在凭证和运行环境层面接入。
- 支持远程 SOCKS5 或本地出口,适合多出口调度场景。
- 提供多份文档,包括部署、构建、API、协议、面板 API、OAuth 和技术路线。
02
目标用户
- 需要将 Claude Code 能力封装为内部 API 的个人开发者
- 研究 Claude Code 调用链路、协议兼容和代理架构的技术人员
- 有多账号、多出口、多槽位调度需求的自建用户
- 希望使用 Anthropic 兼容接口接入现有 SDK 或业务系统的开发者
- 具备 Linux、Docker、代理网络和安全配置经验的运维/后端工程师
03
配置要求
- 操作系统推荐 Ubuntu 24.04,Debian 12 或旧内核/旧 glibc 环境可能无法运行预编译内核组件。
- 生产部署推荐 Docker Compose,仓库路径必须为 `/opt/vm2api`,容器内外路径需要一致。
- 必须配置 `VM2API_API_KEY`,作为 `/v1`、面板和管理接口的主密钥。
- 必须配置 `VM2API_ADMIN_PASSWORD`,用于管理台登录。
- 必须配置 `VM2API_DB_SECRET`,用于本地数据加密。
- 每个已启动槽位需要绑定远程 SOCKS5 出口或本地出口,否则可能不会进入调度池。
- 需要准备 Claude Setup Token 或相关凭证完成槽位初始化。
- 需要确保 `bin/kin-*` 预编译文件权限为 `755`,不能设置为 `700`。
- 宿主机需要 Docker socket、iptables 和可创建槽位容器的权限。
- 如使用本机 Node 部署,需要准备 `vms/active.json` 和至少一个槽位 JSON,例如 `vms/vm-01.json`。
- 如果前置 Nginx,需要反代 `/v1`、`/api`、`/console`、`/health` 等路径。
- 商业使用需要提前取得作者书面授权。
04
适用场景
- 自建一个兼容 Anthropic `/v1/messages` 的 Claude Code API 服务
- 将 Claude Code 接入已有的 LLM 网关、Bot、IDE 插件或自动化脚本
- 通过多个 Docker/VM 槽位管理不同 Claude 凭证和出口代理
- 为内部开发工具提供统一的 Claude 调用入口
- 测试 Claude Code 原生 subagent 并发能力
- 研究虚拟机指纹、遥测、代理出口与账号环境隔离方案
05
部署与配置
- 准备 Ubuntu 24.04 服务器,安装 Docker、Node 22、iptables 等基础环境;生产环境推荐 Docker Engine,不建议依赖 Docker Desktop/WSL2。
- 将仓库克隆到固定目录 `/opt/vm2api`:`git clone https://github.com/dofastted/vm2api.git /opt/vm2api`。
- 进入目录并复制环境变量文件:`cd /opt/vm2api && cp .env.example .env && chmod 600 .env`。
- 配置 `.env` 中的 `VM2API_API_KEY`、`VM2API_ADMIN_PASSWORD`、`VM2API_DB_SECRET` 等关键变量;若使用一键脚本,空密码默认会生成或使用默认账号。
- 使用推荐方式启动:`docker compose up -d --build`;也可以运行官方一键脚本:`curl -sSL https://raw.githubusercontent.com/dofastted/vm2api/main/deploy/install.sh | sudo bash`。
- 通过 `curl http://127.0.0.1:8787/health` 检查服务健康状态。
- 访问管理台 `http://<服务器IP>:8787/console` 或文档中提到的登录入口,使用管理密码登录。
- 在管理台中配置代理池或本地出口,创建 Claude 槽位,导入 Setup Token,完成官方初装流程。
- 使用 Bearer API Key 调用 `/v1/messages`,例如向 `http://127.0.0.1:8787/v1/messages` 发送 Anthropic 格式请求。
- 如需本机 Node 方式运行,需要执行 `npm ci`、`pnpm -C web install --frozen-lockfile`、`npm run build:web`,并准备 `/etc/vm2api.env`、`vms/active.json`、槽位 JSON 和 systemd 服务。
06
风险与注意事项
- 项目用途涉及将 Claude Code/订阅能力转为 API,可能违反 Anthropic/Claude 的服务条款、订阅协议或风控规则;生产或商业使用存在较高合规风险。
- README 明确声明非 Anthropic 官方项目,与官方无关联,稳定性、可用性和账号安全无法获得官方保障。
- 项目许可证为非商业授权,商用必须获得书面授权;仓库元数据中 license 为 NOASSERTION,企业采用前需审查 LICENSE 原文。
- 需要导入 Setup Token 等敏感凭证,一旦服务器、面板、日志或配置泄露,可能导致账号被盗用或封禁。
- 使用代理池、多出口、虚拟机拟真和遥测转发可能触发平台风控,账号可用性存在不确定性。
- 包含预编译二进制 ELF,使用者需要自行评估供应链安全、二进制可信度和可审计性。
- 项目依赖宿主机 Docker socket 和较高系统权限,若 Web 面板或服务被入侵,可能扩大到宿主机容器管理权限。
- 推荐默认路径和默认管理入口,若未及时修改默认密码或未加反代鉴权/IP 限制,容易暴露管理面。
- README 提到“拟真物理机指纹仍在攻克”,说明核心拟真能力尚未完全成熟。
- 强依赖 Ubuntu 24.04、glibc、Docker、iptables、预编译内核组件,跨平台兼容性有限。
- 项目星标较高但仍属个人/社区项目,长期维护、问题响应和安全更新存在不确定性。
2026-09-21
第27名
新收录 · github_search