Multi-account GitHub Copilot API proxy with OpenAI and Anthropic compatibility.
908
GitHub Copilot API proxy with OpenAI, OpenAI Responses, and Anthropic Messages compatibility. It routes new client sessions across enabled GitHub Copilot accounts by least active load while keeping each session bound to its selected account.
Source: https://github.com/tamakiramimy/copilot-api-muluser
docker pull tamakiramimy/copilot-api-muluser:latest
Use an immutable UTC release tag when reproducibility matters:
docker pull tamakiramimy/copilot-api-muluser:vYYYYmmddHHmmss
Images support linux/amd64 and linux/arm64.
Pushing a UTC tag that matches vYYYYmmddHHmmss automatically runs GitHub Actions to publish the immutable version tag and update latest on Docker Hub. The same tag also creates or updates the corresponding GitHub Release. Both workflows can be manually dispatched for an existing UTC release tag.
export LOCAL_ACCESS_PASSWORD="$(openssl rand -base64 24)"
docker run -d \
--name copilot-api-muluser \
-p 127.0.0.1:4141:4141 \
-e HOST=0.0.0.0 \
-e LOCAL_ACCESS_MODE=container-bridge \
-e LOCAL_ACCESS_PASSWORD="${LOCAL_ACCESS_PASSWORD}" \
-v copilot-data:/data \
--restart unless-stopped \
tamakiramimy/copilot-api-muluser:latest
Open http://127.0.0.1:4141/admin and add GitHub accounts through Device Flow. Keep the port mapped to 127.0.0.1; the admin UI and token endpoint are management surfaces. In container bridge mode they require HTTP Basic authentication with username copilot and the password set in LOCAL_ACCESS_PASSWORD.
COPILOT_API_CLIENT_KEYS values for DeepSeek Harness Electron and sub2api to keep their opaque session namespaces separate.The /admin Models view lists supported endpoints and includes a Test button for every catalog model. It sends 请回复一个${模型名称} through the model's declared /responses, /v1/messages, or /chat/completions endpoint and displays the returned text.
Content type
Image
Digest
sha256:465bf09b9…
Size
92.5 MB
Last updated
2 months ago
docker pull tamakiramimy/copilot-api-muluser