Skip to content

OpenAI subscription runtime

AI OS includes a local, script-only provider named codex-account. It sends text-analysis requests through a locally authenticated OpenAI account and the ChatGPT-backed Codex Responses transport.

When the account can use the requested model, this path uses the account’s ChatGPT/Codex subscription allowance. It is separate from API-key billing. OpenAI still controls model entitlement, quotas, and reset windows.

Provider Current behavior
codex-account Implemented live text runtime through stored account authentication
mock Deterministic credential-free runtime for local checks and tests
disabled Explicit no-analysis state with fallback guidance
openai-api Readiness-only placeholder; it does not send analysis requests

Run from the repository root:

Terminal window
bun run auth:openai -- login
bun run auth:openai -- status
bun run codex:smoke -- --model gpt-5.6-sol --json

Login starts a browser-account flow with a loopback callback and stores the result in ignored local state. A successful login proves authentication was stored; it does not prove that every model is included in the account plan.

The standalone smoke command does not read a Dream or Trend Finder model setting. Pass the intended model explicitly when you need the smoke to match a consumer.

Command Purpose
bun run auth:openai -- status Report a redacted missing, expired, invalid, or ready state
bun run auth:openai -- refresh Refresh stored credentials for diagnostics
bun run auth:openai -- reauth Replace a rejected grant with a fresh login
bun run auth:openai -- logout Remove the configured local authentication state
bun run runtime:check-private Confirm local runtime artifacts remain ignored and untracked

Runtime consumers try to refresh expired credentials automatically. A request that receives an authentication rejection can refresh and retry once. If the refresh grant is rejected, use reauth.

The shipped runtime can be used by Dream and Trend Finder. It is not the runtime for Hermes chat, Floating Oracle, Voice, or the Intelligence portal.

Configured reasoning effort is currently validated runtime metadata. The Codex transport does not yet forward a reasoning field, so the setting must not be treated as proof of a backend control.

State Recovery
Authentication required Run bun run auth:openai -- login
Expired authentication Let automatic refresh run, then use refresh or reauth
Unsupported model Select a model available to the signed-in account and rerun the smoke
Usage limit Wait for the provider-reported reset or use another implemented runtime
Timeout or server error Check connectivity and retry; repeated failure remains a provider issue
openai-api selected Choose codex-account, mock, or disabled

Credentials, account identifiers, request material, and provider bodies stay outside browser state, demo fixtures, scheduler summaries, and normal command output. Requests use store: false, but provider processing still leaves the machine. Submit only material appropriate for the consumer’s intended privacy boundary.