miniagent / README.md
dharun2099's picture
Upload 3 files
0ed8d20 verified

A newer version of the Gradio SDK is available: 6.15.2

Upgrade
metadata
title: Mini Coding Agent
emoji: 
colorFrom: purple
colorTo: blue
sdk: gradio
sdk_version: 4.44.0
app_file: app.py
pinned: false
license: mit

⚡ Mini Coding Agent

A multi-file project scaffolding agent. Describe what you want to build, the agent emits a complete runnable codebase you can download as a .zip.

Architecture

Browser ──► Gradio (Python, app.py) ──► Elixir backend (HTTP) ──► LLM provider
                                    ╲
                                     ╲► (fallback: direct LLM call from Python)
  • Frontendapp.py: Gradio chat UI, provider picker, API-key prompt, streaming tokens, file extraction, zip download.
  • Backendelixir_backend/: Elixir/Plug HTTP service that holds the agent loop and proxies to OpenAI / Anthropic / Groq with SSE streaming.
  • Fallback — if the Elixir backend is unreachable (the default on a plain Gradio Space), the Python frontend talks to the LLM directly, so the Space works out-of-the-box.

Deploy options on Hugging Face

Option 1 — Gradio SDK Space (simplest, recommended)

Just push app.py + requirements.txt + this README to a Gradio Space. The Elixir backend is skipped (frontend uses the direct fallback). Set ELIXIR_BACKEND_URL to a non-existent URL or leave default.

Option 2 — Docker Space (Python + Elixir together)

Use the included Dockerfile to run both processes in one container. Change your Space SDK to docker in this README's frontmatter:

sdk: docker
app_port: 7860

Local dev

# Terminal 1 — Elixir backend
cd elixir_backend
mix deps.get
mix run --no-halt   # listens on :4000

# Terminal 2 — Gradio frontend
pip install -r requirements.txt
python app.py        # http://localhost:7860

Providers

Provider Model Get a key
OpenAI gpt-4o-mini https://platform.openai.com/api-keys
Anthropic claude-3-5-sonnet-latest https://console.anthropic.com/settings/keys
Groq llama-3.3-70b-versatile https://console.groq.com/keys (free tier)

API keys stay in the Gradio session — they are never persisted.

License

MIT