Skip to main content

Unofficial smolagents Model adapter for ChatGPT Codex OAuth device-code auth.

Project description

smolagents-codex

Use a ChatGPT/Codex OAuth session as a smolagents.Model.

Python smolagents Typed

Getting StartedPython UsageSupport MatrixTroubleshooting


smolagents-codex is an unofficial external adapter that lets smolagents.CodeAgent call the ChatGPT Codex Responses backend through OAuth device-code login.

It does not fork smolagents, does not use the Codex CLI, does not require a Platform API key, and does not use LiteLLM or the OpenAI Python SDK.

[!WARNING] This package talks to an internal ChatGPT/Codex transport, not the public OpenAI API. The backend can change without notice.

Features

  • smolagents.Model implementation for CodeAgent
  • OAuth device-code login against ChatGPT/Codex
  • Access-token refresh with local credential storage
  • Direct HTTPS/SSE transport to the Codex Responses backend
  • Text-only message conversion for system, developer, user, assistant, and CodeAgent observation history
  • Client-side stop-sequence trimming

Getting Started

Install the package in editable mode:

pip install -e '.[dev]'

Log in with device-code OAuth:

python -m smolagents_codex login

The command prints a verification URL and one-time code. Open the URL in a normal browser and enter the code only if you started the login.

Check or clear credentials:

python -m smolagents_codex status
python -m smolagents_codex logout

[!IMPORTANT] No default model is hardcoded. Pass a model ID that your ChatGPT/Codex account can use. Model IDs are case-sensitive.

Python Usage

from smolagents import CodeAgent
from smolagents_codex import CodexOAuthModel

model = CodexOAuthModel(model_id="MODEL_ID")

agent = CodeAgent(
    tools=[],
    model=model,
    stream_outputs=False,
    use_structured_outputs_internally=False,
    max_steps=3,
)

print(agent.run("Calculate 17 * 23 and return the result."))

Run the bundled example:

export SMOLAGENTS_CODEX_MODEL=MODEL_ID
python examples/code_agent.py

python examples/code_agent.py MODEL_ID

Credentials

Set SMOLAGENTS_CODEX_HOME to choose the credential directory. Otherwise the package uses ~/.smolagents-codex/credentials.json.

Credential files are written with private Unix permissions where supported, but file permissions are not encryption.

Support Matrix

Area Status
smolagents.CodeAgent Supported
Blocking generate() Supported
Text messages Supported
OAuth device-code login Supported
Access-token refresh Supported
Public smolagents streaming Not supported
ToolCallingAgent / native function calls Not supported
Structured response_format Not supported
Images, audio, video, files Not supported
Codex server-side tools Not supported
Codex CLI state Not used

Troubleshooting

Symptom Fix
Device auth disabled Enable device-code authentication in ChatGPT security settings or ask a workspace admin.
401 after refresh Run python -m smolagents_codex login.
403 Check workspace membership, RBAC, entitlements, and admin restrictions.
404 Check the model ID and whether the endpoint is available to your plan.
429 You hit ChatGPT/Codex plan or usage limits.
Timeout Retry on a stable network.
Corporate proxy/custom CA Use standard httpx environment settings such as HTTPS_PROXY, SSL_CERT_FILE, or SSL_CERT_DIR.
Malformed credential file Run python -m smolagents_codex logout, then python -m smolagents_codex login.

Development

ruff check .
mypy src/smolagents_codex
python -m build

Protocol details and upstream source commits are recorded in PROTOCOL.md. Re-check that file when Codex or smolagents changes.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

smolagents_codex-0.1.0.tar.gz (13.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

smolagents_codex-0.1.0-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

Details for the file smolagents_codex-0.1.0.tar.gz.

File metadata

  • Download URL: smolagents_codex-0.1.0.tar.gz
  • Upload date:
  • Size: 13.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.9

File hashes

Hashes for smolagents_codex-0.1.0.tar.gz
Algorithm Hash digest
SHA256 52d7b947ec434d78a13aabc656e8f7a9c4f486620782466d704d84a4912904ed
MD5 54b6d9b39f1df449823c8b915164c5e4
BLAKE2b-256 259a1ecfb39ec9df2497472b66cfe9a659a43b0c9edf0920a53f8403e7503934

See more details on using hashes here.

File details

Details for the file smolagents_codex-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for smolagents_codex-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1454cee1657d931fbc69b549e53f74a8ea9acd8cf43e3705285b8c6fbeae6cbd
MD5 30c877540b22d348fd469756a0afdef3
BLAKE2b-256 695d7b3f16791e676a19d9f626456caf4ce6c7c6412abfe2e5e42145f0ccf88b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page