
Dot2API 是一款可自行部署的开源网关项目,核心作用是将 OpenAI Dot 封装,对外暴露OpenAI Chat Completions以及Anthropic Messages两套标准API接口。你可以直接使用现有的OpenAI、Claude SDK对接这个网关,请求进入任务队列后,Dot依靠MCP Events机制被唤醒、领取任务并完成作答,最后以标准补全格式返回结果。
重要提示:项目仅用于技术研究与个人Dot使用,使用者需要遵守OpenAI服务条款与当地法律,使用风险自行承担。
安全警告:持有API Key即可调用你的Dot,Dot可联动各类应用,密钥仅可交付给高度可信调用方。
和大部分同类2API转发项目最大区别:Dot2API不逆向网页接口、不获取你的OpenAI账号凭据,依托公开MCP 2.0连接器与Events协议工作,网关本身不会直接调用任何大模型。
核心能力
- 多格式API接口:支持OpenAI Chat Completions、Anthropic Messages、模型列表接口,附带异步任务接口。
- 客户端兼容:原生兼容OpenAI、Anthropic的SDK,支持HTTP直接调用,SSE流式输出。
- 任务可靠性机制:任务持久化存储、原子任务领取、租约机制、有限重试、超时截止;调用方断开连接会自动取消任务。MCP事件订阅、回调校验、带签名的至少一次Webhook投递。
- 安全设计:短期有效密钥,数据库仅存储密钥指纹;支持身份权限划分、接口限流、审计日志。
- 运维友好:一条命令完成初始化,内置存活/就绪健康探针、一致性备份,提供加固容器镜像。
能力边界(重点)
Dot本身是AI智能体Agent,不是基础大模型端点。项目只是API格式兼容,并非模型行为完全兼容。
- 延迟:单次回复耗时几秒至数分钟,请求默认最长等待300秒,超时返回504,可凭借task_id后续查询结果。
- 流式输出:完整回复一次性推送至增量块,不是逐Token流式输出。
- 内容限制:仅支持文本,图片、工具结果块会返回400;不支持工具调用,传入tools参数会被直接忽略,Dot会使用自身内置工具,不会返回tool call结构。
- 参数处理:采样参数、max_tokens可传入但直接忽略,token用量固定返回0。
- 并发限制:单个Dot对应一个任务队列,请求需要排队串行处理。
适用场景:定时任务、自动化流程、自建机器人、其他AI Agent委托任务。不适合作为Codex、Claude Code这类编码Agent后端,也不适合低延迟实时聊天前端。
快速部署
部署前提:Dot需要从OpenAI侧主动连接网关,服务必须具备公网HTTPS地址;程序默认仅监听本机,前端需要配置TLS反向代理。
方案1:Docker Compose
git clone https://github.com/Pluviobyte/dot2api.git
cd dot2api
docker compose build
docker compose run --rm dot2api init
docker compose run --rm dot2api setup
docker compose up -d
方案2:源码直接运行
环境要求:Python3.11+,uv包管理器
uv sync --frozen --no-dev
uv run --no-sync dot2api init
uv run --no-sync dot2api setup
uv run --no-sync dot2api serve
执行setup会一次性输出两组凭据,数据库只保存指纹,原始密钥不会入库:{"api_key": "d2a_...", "dot_token": "d2a_...", "queue": "dot"}
- api_key:给客户端SDK调用使用
- dot_token:供Dot访问MCP端点认证
Dot接入配置
- 在Dot中新增MCP连接器,地址填写
https://<host>/mcp,使用dot_token作为Bearer凭证;
如果连接器无法携带认证请求头,可开启DOT2API_CAPABILITY_URLS=1,使用https://<host>/mcp/<dot_token> - 配置Dot监听队列
dot的task.available事件 - 写入常驻系统提示词,让Dot实现:读取排队任务、领取任务、对话作答、提交结果。
完整提示词模板、故障排查文档可查看项目docs/dot.md
API端点一览
| 端点 | 用途 |
|---|---|
| POST /v1/chat/completions | OpenAI兼容对话补全 |
| POST /v1/messages | Anthropic兼容消息接口 |
| GET /v1/models | 模型列表,仅返回dot |
| POST /v1/tasks、GET /v1/tasks/{task_id} | 异步任务提交与结果查询 |
| POST /mcp | Dot侧MCP工具与事件订阅 |
| GET /healthz、GET /readyz | 存活、就绪健康检查 |
鉴权方式:Authorization: Bearer <api_key> 或者请求头x-api-key: <api_key>;model字段可以填写任意值,原样透传。
相关导航


OmniInfer

AI21 Studio

GPT-5.6 混用检测器

DS2API

FreeLLMAPI

Prime Inference







