mirror of
https://github.com/katanemo/plano.git
synced 2026-04-25 00:36:34 +02:00
* Add first-class ChatGPT subscription provider support * Address PR feedback: move uuid import to top, reuse parsed config in up() * Add ChatGPT token watchdog for seamless long-lived sessions * Address PR feedback: error on stream=false for ChatGPT, fix auth file permissions * Replace ChatGPT watchdog/restart with passthrough_auth --------- Co-authored-by: Musa Malik <musam@uw.edu> |
||
|---|---|---|
| .. | ||
| chat.py | ||
| config.yaml | ||
| README.md | ||
| test_chatgpt.sh | ||
ChatGPT Subscription Routing
Route requests through your ChatGPT Plus/Pro subscription using Plano. Uses the OpenAI Responses API under the hood, targeting chatgpt.com/backend-api/codex/responses.
Setup
1. Authenticate with ChatGPT
planoai chatgpt login
This opens a device code flow — visit the URL shown and enter the code. Tokens are saved to ~/.plano/chatgpt/auth.json.
2. Start Plano
planoai up config.yaml
3. Send a request
curl http://localhost:12000/v1/responses \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.2",
"input": "Hello, what model are you?"
}'
Or use the test script:
bash test_chatgpt.sh
How it works
chatgpt/gpt-5.2in the config tells Plano to use the ChatGPT subscription provider- Plano reads OAuth tokens from
~/.plano/chatgpt/auth.json(auto-refreshes if expired) - Requests are proxied to
https://chatgpt.com/backend-api/codex/responseswith the required headers:Authorization: Bearer <access_token>ChatGPT-Account-Id: <account_id>originator: codex_cli_rssession_id: <uuid>
Available models
chatgpt/gpt-5.4
chatgpt/gpt-5.3-codex
chatgpt/gpt-5.2
Managing credentials
planoai chatgpt status # Check auth status
planoai chatgpt logout # Remove stored credentials