diff --git a/packages/ai/README.md b/packages/ai/README.md index ed80af9c4..2f0cc8967 100644 --- a/packages/ai/README.md +++ b/packages/ai/README.md @@ -61,7 +61,7 @@ Unified LLM API with provider collections, automatic auth resolution, token and - **B.AI** (credential-scoped multi-provider catalog) - **Ant Ling** - **Azure OpenAI (Responses)** -- **OpenAI Codex** (ChatGPT Plus/Pro subscription, requires OAuth, see below) +- **ChatGPT Subscription** (ChatGPT Plus/Pro subscription, requires OAuth, see below) - **DeepSeek** - **NVIDIA NIM** - **Anthropic** @@ -1532,7 +1532,7 @@ Use this when one process needs different provider settings per request, or when Several providers support OAuth authentication instead of static API keys: - **Anthropic** (Claude Pro/Max subscription) -- **OpenAI Codex** (ChatGPT Plus/Pro subscription, access to GPT-5.x Codex models) +- **ChatGPT Subscription** (ChatGPT Plus/Pro subscription, access to GPT-5.x Codex models) - **GitHub Copilot** (Copilot subscription) - **OpenRouter** (OAuth PKCE that mints a user-controlled API key) - **Cursor** (Pro/Ultra/Teams subscription; browser deep-link + poll flow. After login, the per-account model catalog is discovered through `GetUsableModels` and chat streams over the native `cursor-agent` protocol with in-band tool execution — hosts supply `CursorAgentOptions.execHandlers` to bridge Cursor's server-driven tool calls onto local tools) @@ -1613,7 +1613,7 @@ Built-in login and refresh flows are private provider implementations. Use provi Provider notes: -**OpenAI Codex**: Requires a ChatGPT Plus or Pro subscription. Provides access to GPT-5.x Codex models with extended context windows and reasoning capabilities. The library automatically handles session-based prompt caching when `sessionId` is provided in stream options unless `cacheRetention` is `"none"`. You can set `transport` in stream options to `"sse"`, `"websocket"`, or `"auto"` for Codex Responses transport selection. When using WebSocket with a `sessionId` and cache retention enabled, connections are reused per session and expire after 5 minutes of inactivity. +**ChatGPT Subscription**: Requires a ChatGPT Plus or Pro subscription. Provides access to GPT-5.x Codex models with extended context windows and reasoning capabilities. The library automatically handles session-based prompt caching when `sessionId` is provided in stream options unless `cacheRetention` is `"none"`. You can set `transport` in stream options to `"sse"`, `"websocket"`, or `"auto"` for Codex Responses transport selection. When using WebSocket with a `sessionId` and cache retention enabled, connections are reused per session and expire after 5 minutes of inactivity. **Azure OpenAI (Responses)**: Uses the Responses API only. Set `AZURE_OPENAI_API_KEY` and either `AZURE_OPENAI_BASE_URL` or `AZURE_OPENAI_RESOURCE_NAME`. `AZURE_OPENAI_BASE_URL` supports both `https://.openai.azure.com` and `https://.cognitiveservices.azure.com`; root endpoints are normalized to `.../openai/v1` automatically. Use `AZURE_OPENAI_API_VERSION` (defaults to `v1`) to override the API version if needed. Deployment names are treated as model IDs by default, override with `azureDeploymentName` or `AZURE_OPENAI_DEPLOYMENT_NAME_MAP` using comma-separated `model-id=deployment` pairs (for example `gpt-4o-mini=my-deployment,gpt-4o=prod`). Legacy deployment-based URLs are intentionally unsupported. diff --git a/packages/coding-agent/docs/providers.md b/packages/coding-agent/docs/providers.md index ec87c9064..16f7b36d6 100644 --- a/packages/coding-agent/docs/providers.md +++ b/packages/coding-agent/docs/providers.md @@ -28,7 +28,7 @@ Use `/login` in interactive mode, then select a provider: Use `/logout` to clear credentials. Tokens are stored in `~/.senpi/agent/auth.json` and auto-refresh when expired. OpenRouter instead mints a user-controlled API key that does not expire automatically. -### OpenAI Codex +### ChatGPT Subscription - Requires ChatGPT Plus or Pro subscription - Officially endorsed by OpenAI: [Codex for OSS](https://developers.openai.com/community/codex-for-oss) @@ -41,7 +41,7 @@ Anthropic subscription auth is active for Claude Pro/Max accounts. Third-party h - If the browser lands on a page saying the login belongs to a different session or an earlier attempt, that page's address was sent to another login's listener: paste the full address from the address bar into the session whose prompt is still waiting, or run the login again from that session. - A login that receives neither the browser callback nor a pasted redirect URL for 10 minutes fails with a timeout and releases its port; run `/login anthropic` again. -### Claude SDK OAuth +### Anthropic Subscription The `anthropic-subscription` provider routes LLM calls through the official [Claude Agent SDK](https://www.npmjs.com/package/@anthropic-ai/claude-agent-sdk) - it spawns the real Claude Code engine - while senpi executes every tool itself. Subscription usage flows through Anthropic's official Claude Code surface. @@ -101,7 +101,7 @@ If your Claude Pro/Max subscription usage through `anthropic-subscription` feels | Lane | Effective TTL | Who controls it | How to override | | --- | --- | --- | --- | - | Claude SDK OAuth (subscription, `anthropic-subscription`) | 5 minutes | The Claude SDK owns `cache_control`; senpi cannot add breakpoints. senpi reports 300s for this lane so cache-aware budgets (tool waits, goal timing) size themselves correctly. | Not overridable | + | Anthropic Subscription (subscription, `anthropic-subscription`) | 5 minutes | The Claude SDK owns `cache_control`; senpi cannot add breakpoints. senpi reports 300s for this lane so cache-aware budgets (tool waits, goal timing) size themselves correctly. | Not overridable | | Direct Anthropic API (`api.anthropic.com`, API key or OAuth token) | 5 minutes | senpi follows Anthropic's default cache retention. Opting into 1h retention makes cache writes cost 2x base input vs 1.25x for 5m ([Anthropic prompt caching](https://docs.claude.com/en/docs/build-with-claude/prompt-caching)). | Set `PI_CACHE_RETENTION=long` or `cacheRetention: "long"` | | Anthropic-compatible providers (kimi-coding, fireworks, gateways) | 5 minutes | The 1h TTL is gated on the native `api.anthropic.com` base URL, so these lanes stay short. | `cacheRetention` | diff --git a/packages/coding-agent/docs/rpc.md b/packages/coding-agent/docs/rpc.md index 0597c568a..42eb837b1 100644 --- a/packages/coding-agent/docs/rpc.md +++ b/packages/coding-agent/docs/rpc.md @@ -1338,7 +1338,7 @@ Response: #### set_fast_mode -Turn fast mode (the OpenAI Codex `priority` service tier) on or off for the active model. The choice is remembered +Turn fast mode (the ChatGPT Subscription `priority` service tier) on or off for the active model. The choice is remembered per model, so a later session on the same model starts the same way; `enabled: false` records an explicit `"auto"` so it also overrides a tier inherited from the model catalog. @@ -1355,7 +1355,7 @@ Response: "data": { "enabled": true, "serviceTier": "priority", - "provider": "openai-codex", + "provider": "chatgpt-subscription", "modelId": "gpt-5.6-sol" } } @@ -1369,7 +1369,7 @@ The command returns an error instead of a silent no-op when the request cannot b | Situation | `error` | |-----------|---------| -| Active model is not an OpenAI Codex model | `Fast mode is only available for OpenAI Codex models.` | +| Active model is not a ChatGPT Subscription model | `Fast mode is only available for ChatGPT Subscription models.` | | `enabled: false` while the model selection pins `:priority` | `Fast mode is fixed by the active model selection's priority tier.` | | `enabled` is not a boolean | `set_fast_mode requires a boolean 'enabled' field.` | @@ -2221,7 +2221,7 @@ command, a retry fallback, or a session restore. ```json { "type": "model_changed", - "model": {"provider": "openai-codex", "id": "gpt-5.6-sol", "...": "..."}, + "model": {"provider": "chatgpt-subscription", "id": "gpt-5.6-sol", "...": "..."}, "thinkingLevel": "xhigh", "source": "cycle" } diff --git a/packages/coding-agent/docs/settings.md b/packages/coding-agent/docs/settings.md index 42b33e212..a0a495159 100644 --- a/packages/coding-agent/docs/settings.md +++ b/packages/coding-agent/docs/settings.md @@ -605,7 +605,7 @@ The service tier on outgoing requests is resolved as: 2. The model catalog's `compat.serviceTier` 3. `openai.serviceTier` (the global OpenAI setting) -The per-model `modelServiceTiers` memory is not part of that resolution: it applies to OpenAI Codex +The per-model `modelServiceTiers` memory is not part of that resolution: it applies to ChatGPT Subscription models only, through fast mode. It acts as the session-start default for `/fast` (a remembered `"priority"` starts the session fast) and as an explicit `"auto"` opt-out of a catalog-inherited priority tier, which keeps `service_tier` off the wire. Under a `:priority` pin the memory has no diff --git a/packages/coding-agent/docs/usage.md b/packages/coding-agent/docs/usage.md index 5cd077416..f9342c3a7 100644 --- a/packages/coding-agent/docs/usage.md +++ b/packages/coding-agent/docs/usage.md @@ -47,7 +47,7 @@ Type `/` in the editor to open command completion. Extensions can register custo | `/scoped-models` | Enable/disable models for Ctrl+P cycling | | `/reasoning [on\|off]` | Show or toggle reasoning for the current model | | `/efforts [level]` | Show or set reasoning effort (graded models only) | -| `/fast [on\|off]` | Toggle fast mode (OpenAI Codex models, persisted per model) | +| `/fast [on\|off]` | Toggle fast mode (ChatGPT Subscription models, persisted per model) | | `/settings` | Theme, message delivery, transport, and other preferences | | `/resume` | Pick from previous sessions | | `/new` | Start a new session | @@ -81,7 +81,7 @@ Type `/` in the editor to open command completion. Extensions can register custo **`/efforts [minimal|low|medium|high|xhigh|max]`** sets the reasoning effort ladder for graded models. On/off-only models are directed to use `/reasoning` instead. `xhigh` and `max` appear only when the model supports them. No-arg shows current effort and available levels. -**`/fast [on|off]`** toggles OpenAI Codex fast mode (`service_tier: "priority"`). The choice is remembered per model and survives restarts. No-arg toggles. Non-Codex models are told fast mode is unavailable. If the active model selection pins `:priority` via a favorite decorator, `/fast off` is blocked and explains why. +**`/fast [on|off]`** toggles ChatGPT Subscription fast mode (`service_tier: "priority"`). The choice is remembered per model and survives restarts. No-arg toggles. Non-Codex models are told fast mode is unavailable. If the active model selection pins `:priority` via a favorite decorator, `/fast off` is blocked and explains why. All three commands work over RPC and headless (no selector opened, status sent as text notifications).