Skip to main content

RACHEL (Rpg Agent CHat Evaluation Loop) - OpenAI-compatible Chat Completion API proxy with stateful LangGraph agent and V8 code sandbox

Project description


title: RACHEL (rachel-proxy) emoji: 🎲 colorFrom: red colorTo: blue sdk: docker app_port: 7860 pinned: false

RACHEL (rachel-proxy)

RACHEL (Rpg Agent CHat Evaluation Loop) is a FastAPI proxy that sits between JanitorAI (or any OpenAI-compatible client) and LLM completion providers (OpenRouter, OpenAI, Google Gemini, DeepSeek), running request payloads through a stateful LangGraph agent with a secure Python/V8 code sandbox and dice rolling tools.


One-Click Desktop Launchers (Single-Tenant Mode)

Download the release zip for your operating system from Releases and launch with one click:

Windows

  1. Unzip rachel-proxy-vX.X.X-win-x64.zip.
  2. Double-click launch.bat.
  3. Security Warning Bypass: If Windows SmartScreen displays "Windows protected your PC", click More info $\rightarrow$ Run anyway.

macOS

  1. Unzip rachel-proxy-vX.X.X-mac-arm64.zip (Apple Silicon) or rachel-proxy-vX.X.X-mac-x64.zip (Intel).
  2. Double-click launch.command.
  3. Security Warning Bypass: If macOS blocks execution ("Unidentified Developer"), open System Settings $\rightarrow$ Privacy & Security $\rightarrow$ click Open Anyway, or run xattr -cr launch.command in Terminal.

Linux

  1. Unzip rachel-proxy-vX.X.X-linux-x64.zip.
  2. Double-click launch.sh (or rachel-proxy.desktop).

Multi-Tenant Cloud Deployment (GCP Cloud Run + Neon PostgreSQL)

Deploy RACHEL to GCP Cloud Run using the multi-stage Dockerfile:

1. Database Provisioning

Run scripts/schema_v1.sql against your Neon PostgreSQL database instance to initialize tables.

2. Build & Push Docker Container

docker build -t gcr.io/YOUR_PROJECT_ID/rachel-proxy:latest .
docker push gcr.io/YOUR_PROJECT_ID/rachel-proxy:latest

3. Deploy to GCP Cloud Run

Configure the container with environment variables (using GCP Secret Manager for sensitive keys):

gcloud run deploy rachel-proxy \
  --image gcr.io/YOUR_PROJECT_ID/rachel-proxy:latest \
  --platform managed \
  --region us-central1 \
  --set-env-vars MULTI_TENANT_MODE=true \
  --set-env-vars DATABASE_URL="postgresql://user:pass@ep-cool-db.neon.tech/neondb?sslmode=require" \
  --set-env-vars ENCRYPTION_MASTER_KEY="your-secure-master-encryption-secret" \
  --set-env-vars OIDC_ISSUER_URL="https://your-tenant.clerk.accounts.dev" \
  --set-env-vars OIDC_JWKS_URL="https://your-tenant.clerk.accounts.dev/.well-known/jwks.json" \
  --allow-unauthenticated

Developer Local Setup

If you are cloning this repository for local development:

  1. Install Python dependencies:
    pip install -e .
    
  2. Build Frontend Assets (Required):

    [!IMPORTANT] The compiled static frontend directory (src/rachel/static/) is git-ignored. You MUST build the frontend before launching the backend server:

    python scripts/build_frontend.py --target local
    
  3. Run the development server:
    uvicorn rachel.proxy:app --reload --host 0.0.0.0 --port 8000
    

Initial Setup & LLM Provider Credentials

Once the proxy starts, open the Admin Console in your browser at http://localhost:8000:

  1. Proxy API Key: Enter the local admin key (printed to console logs or saved in data/proxy.key).
  2. Provider Credentials: Configure your preferred provider (OpenRouter BYOK / PKCE, OpenAI, Google Gemini, or DeepSeek) directly in the Provider Credentials card.
  3. Select your Active Provider and save settings.

Captured payloads are appended to docs/example-janitorai-payload.md.

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

rachel_proxy-0.1.0a1.tar.gz (254.6 kB view details)

Uploaded Source

Built Distribution

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

rachel_proxy-0.1.0a1-py3-none-any.whl (71.9 kB view details)

Uploaded Python 3

File details

Details for the file rachel_proxy-0.1.0a1.tar.gz.

File metadata

  • Download URL: rachel_proxy-0.1.0a1.tar.gz
  • Upload date:
  • Size: 254.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for rachel_proxy-0.1.0a1.tar.gz
Algorithm Hash digest
SHA256 94b8e2da77ff13491f0cfe91ea634344850086018c64d1a5c873661120537ee6
MD5 8b7a4cab3e7a0fc47119ce46f8b13aa6
BLAKE2b-256 cf9963d276b1716ce3d9ed26f60d0a2fbdbb2b2cae6ad5f72d4788f9248d2dbc

See more details on using hashes here.

Provenance

The following attestation bundles were made for rachel_proxy-0.1.0a1.tar.gz:

Publisher: release.yml on neolaw84/rachel-proxy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rachel_proxy-0.1.0a1-py3-none-any.whl.

File metadata

  • Download URL: rachel_proxy-0.1.0a1-py3-none-any.whl
  • Upload date:
  • Size: 71.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for rachel_proxy-0.1.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 95fd4dbbd93046986096aea0baa69e5d472bd0b78e5418151d9a03938cc57237
MD5 f60d5c0b9d33f4189fdb592ebe6128bf
BLAKE2b-256 18788b19422d20573073686e482a2073c623348bdaf98c4c928c84193c5b14e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for rachel_proxy-0.1.0a1-py3-none-any.whl:

Publisher: release.yml on neolaw84/rachel-proxy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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