📈 GH Trending Explorer 🎲 Surprise me

← all repos

Pluviobyte / dot2api

git clone https://github.com/Pluviobyte/dot2api.git

Turn your OpenAI Dot into an OpenAI- and Claude-compatible API

—
stars, 24h
—
stars, 7 days
+208
stars, 30 days · #1,227
208
★ total
21
forks · 2 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguagePython
LicenseMIT
Created2026-10-06 (14d ago)
Last push14d ago
Watchers2
OwnerUser

Links

README excerpt
Dot2API 
 Turn your OpenAI Dot into an OpenAI- and Claude-compatible API 
 English | 简体中文 
> [!NOTE]
> This project is for technical research and personal use with your own Dot. Comply with OpenAI's terms of use and local laws; you are solely responsible for how you use it.
> [!WARNING]
> Anyone holding an API key can prompt your Dot, which may have access to your connected apps. Issue keys only to callers you trust as much as yourself. See Security.
## Overview
Dot2API is a self-hosted gateway that exposes one OpenAI Dot through the OpenAI Chat Completions and Anthropic Messages formats. Point an existing SDK at it: each request is queued, your Dot is woken through MCP Events, it claims and answers the request over MCP, and the reply comes back as a normal completion.
Unlike most 2API projects, Dot2API does not reverse-engineer a web interface and never touches your OpenAI credentials. It uses the public MCP 2.0 connector and Events protocol, and it never calls a model itself.
### Architecture
 [code] 
### Core capabilities
| Area | Capabilities |
|---|---|
| APIs | OpenAI Chat Completions, Anthropic Messages, model list, and an asynchronous task API |
| Clients | OpenAI-compatible and Anthropic-compatible SDKs, automation tools, and plain HTTP |
| Streaming | SSE in both dialects, with keep-alives while the Dot works |
| Reliability | Durable tasks, atomic claims, leases, bounded retries, deadlines, and cancellation when the caller disconnects |
| Events | MCP Events subscriptions, callback verification, signed at-least-once webhook delivery |
| Security | Expiring keys stored as fingerprints, scoped identities, rate limits, audit records |
| Operations | One-command setup, health and readiness probes, consistent backups, hardened container image |
### Limitations
A Dot is an agent, not a model endpoint, so the API is compatible in shape rather than in behavior.
| Aspect | Behavior |
|---|---|
| Latency | Seconds to minutes per reply. Requests wait up to 300 seconds by default, then return 504 with a `task_id` to read later |
| Streaming | The whole reply arrives in one delta, not token by token |
| Content | Text only. Images and tool-result blocks return 400 |
| Tool calling | Not supported. `tools` is ignored; the Dot uses its own tools and never returns tool calls |
| Parameters | Sampling parameters and `max_tokens` are accepted and ignored. Token usage is reported as zero |
| Concurrency | One Dot answers one queue. Requests wait in line |
This makes Dot2API a good fit for scheduled jobs, automation workflows, custom bots, and delegating a task from another agent. It is not a model backend for coding agents such as Codex or Claude Code, or for real-time chat front ends.
## Quick start
A Dot connects from OpenAI's network, so the service needs a public HTTPS URL. Both options below bind to loopback; put a TLS reverse proxy in front. See Deployment.
### Docker Compose
 [code] 
### Run from source
Python 3.11 or later and uv are required.
 [