Skip to main content

chatjimmy-proxy

OpenAI-compatible HTTP proxy for chatjimmy.ai. Point any OpenAI SDK or tool at it and use model jimmy.

Quick start

  1. clone and install:
    </code></pre>
    </li>
    </ol>
    <p>git clone <repo>
    cd chatjimmy-proxy
    uv sync
    uv run playwright install chromium</p>
    <pre><code>2. configure:
       ```bash
    cp .env.example .env
    # edit PROXY_API_KEY (leave blank to disable auth)
    

    Note: if you have a PROXY_API_KEY set in your shell environment (for example some systems default it to your username), the proxy will require that exact value in the Authorization header. Use export PROXY_API_KEY= to clear it, or choose a different secret.

    1. run discovery once:
      </code></pre>
      </li>
      </ol>
      <p>uv run chatjimmy-discover</p>
      <pre><code>4. start proxy (default port 8000, change with `PORT` env var):
         ```bash
      uv run chatjimmy-proxy
      # or explicitly:
      uv run uvicorn chatjimmy_proxy.main:app --host 0.0.0.0 --port ${PORT:-8000}
      

      If you see "address already in use" set PORT to a free port (e.g. 8001) or kill the process currently listening on the port.

      Usage

      curl http://localhost:8000/v1/chat/completions \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer $PROXY_API_KEY" \
        -d '{"model":"jimmy","messages":[{"role":"user","content":"Hi"}]}'
      

      Streaming: add --no-buffer and "stream": true.

      Python example:

      from openai import OpenAI
      client = OpenAI(base_url="http://localhost:8000/v1", api_key="key")
      print(client.chat.completions.create(model="jimmy", messages=[{"role":"user","content":"Hi"}]).choices[0].message.content)
      

      Editors and agents

      Any tool that lets you supply a custom OpenAI‑compatible provider should work. You need three things:

      1. Base URL – the root of the OpenAI API, not a specific endpoint. Use http://<host>:<port>/v1 (omit /chat/completions); most clients append the path themselves. If you include /chat/completions twice you'll see 404s like /v1/chat/completions/chat/completions.
      2. API key – the secret from .env (or any string if auth is off).
      3. Model – jimmy.

      Correct Roo Code configuration example:

      {
        "provider": "OpenAI Compatible",
        "baseUrl": "http://localhost:8000/v1",
        "apiKey": "<your-proxy-key>",
        "model": "jimmy"
      }
      

      If you accidentally set the base URL to include /chat/completions, the agent will produce 404 errors when it tries to call /v1/chat/completions/chat/completions.

      Development

      uv run pytest tests/ -v
      uv run ruff check src/
      uv run ruff format src/
      

      Packaging & publishing

      Build with uv run hatch build. Releases are made by tagging vX.Y.Z; GitHub Actions tests and publishes to PyPI using PYPI_API_TOKEN.

      Troubleshooting

      • Port already in use – if the proxy fails to start with address already in use:

        # locate the offending PID
        sudo lsof -i :8000 -t   # substitute whatever port you were using
        # kill it (or choose a different port)
        sudo kill <pid>
        # or directly:
        sudo kill -9 $(sudo lsof -i :8000 -t)
        

        alternatively, set PORT to a free port before launching:

        PORT=8001 uv run chatjimmy-proxy
        
      • Discovery failures – run with HEADLESS=false or switch to mode: browser_relay in blueprint.

      • 401/403 – clear .jimmy_blueprint.json/.jimmy_state.json and re-run discovery; ensure PROXY_API_KEY is correct.

      • Slow first response – discovery runs on startup; subsequent requests are fast under HTTP‑replay mode.

      License

      MIT – see LICENSE.

Metadata

Release files for chatjimmy-proxy 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for chatjimmy-proxy 0.1.0
File Size Uploaded
chatjimmy_proxy-0.1.0.tar.gz 3.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for chatjimmy-proxy 0.1.0
File Interpreter ABI Platform
chatjimmy_proxy-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 22.9 kB

Release files / chatjimmy_proxy-0.1.0.tar.gz

Download URL chatjimmy_proxy-0.1.0.tar.gz
Size 3.7 kB
Tags Source
SHA-256 checksum
How to use checksums
2e18a6567d2341296982f66dc2a3792c6fc3ee9e640ac3db021741fd20a997b3
BLAKE2b-256 checksum
How to use checksums
f4eb790fce56840ae8d3c9de62601c6b8f0baf8ef6568182d61d1fa319a454c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release files / chatjimmy_proxy-0.1.0-py3-none-any.whl

Download URL chatjimmy_proxy-0.1.0-py3-none-any.whl
Size 19.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6eeda9833d293bf5716c74fbe8a8877b7a236cc89fcacba15387e5c5736e8e03
BLAKE2b-256 checksum
How to use checksums
c339c3d43d0902afa3c127b1ddcd2b377adb00914866b4a0a42064f2b82fa162
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page