An open-source LLM agent & CLI coding agent for your terminal — it builds a UI, looks at the result, and fixes it, 100% on your machine. No keys, no cloud.
$ a local-first agentic CLI with a visual feedback loop
git clone · npm install · done. Nothing to sign up for.
Most agents write front-end code blind — they emit JSX and hope. QodeX closes the loop: it renders the artifact in a real Chromium, screenshots it, sends that image to a vision model for a verdict, and self-corrects until it actually looks right.
Verified live running the full loop on GPT-4o — create → preview → screenshot → review → automatic fix.
Not a chat box with a couple of tools bolted on. QodeX drives a real agent loop with 100+ tools across reading, editing, understanding, running, browsing, and verifying — all in one session.
AST-aware edits with edit_symbol, atomic multi_file_edit across up to 50 files, and a red/green diff you approve before anything hits disk.
A Tree-sitter code-graph powers analyze_impact, find_callers, find_references, find_dead_code, and safe_rename.
bash plus sandboxed code_run for Python, Node, TS, PHP & Ruby — with macOS sandbox-exec isolation where available.
Playwright-backed Chromium: navigate, click, fill, screenshot, run JS, read console & page errors — to verify your own UI changes.
Start dev_server_start, hit localhost, kick off background_job_start for async work — all tracked in one session.
DuckDuckGo by default, or Tavily / Brave / Firecrawl when you add a key — with an auto-fallback chain across whatever keys are present.
task delegates to a separate model/window; orchestrate runs a DAG of sub-agents; gather fans out reads in parallel.
Connect any MCP-compatible server and its tools join the same registry as the built-ins — no glue code, no wrappers.
Install skills from a curated registry or any GitHub repo — each security-scanned on the way in. search_skills to find them.
Status, diff, log, branch, commit, create-pr, release-notes — the agent manages version control as part of the task.
Uses your own vision-capable model (Gemini, GPT-4o, Claude, or a local Qwen-VL) when your primary or sub-agent can already see — only spins up a separate vision model when neither can.
Build a page / React app / dashboard and serve it with artifact_live that hot-reloads on every edit — share="tunnel" gives a private link your team opens (LAN or https, token-protected). A live PR walkthrough.
Not always coding. Ask it to analyze or plan and it gives decision-grade output: options × weighted criteria → a scored comparison and one clear recommendation — no invented numbers.
Persian-first: skill auto-loading and tool selection understand Persian prompts (تحلیل، دیتابیس، آرتیفکت…), not just English keywords.
Docker, databases, WordPress (php -l), media via ffmpeg, frontend/print, OpenAPI digest — and more, all first-class.
Every keystroke goes to someone else's server. You pay in money, in privacy, and in being throttled the moment you get productive.
Subscriptions plus per-token bills. The more useful it is, the more it costs you.
Proprietary source and secrets, shipped to a third-party API to be processed. For many teams that's a hard no.
You hit flow, the agent hits a quota. "Too many requests." Wait, retry, lose the thread.
Front-end code generated blind, with no idea whether it actually rendered. So the bugs ship.
So we built the opposite: an agent on your machine that watches its own work and fixes it.
No account. No key. No connection required. Just your machine, your model, and an agent that finishes the job and checks its own work.
Runs on a model you host with Ollama or LM Studio. No subscription, no token meter, no surprise invoice.
Fully offline. Your source never touches a third-party server — because there is no server.
Give it a task in either language and it drives the same real agent loop — natively, not bolted on.
Deterministic guardrails run around the model loop — real code, not a prompt asking nicely. This raises the floor on what a weak model is allowed to ship, without needing a bigger one.
Every edit is parsed before it's written. Broken syntax is rejected and never hits disk — the model gets the error back and retries.
It can't claim "tests pass" unless a test actually ran. Unsupported "I fixed it" gets bounced back for correction.
When the model thinks it's done, QodeX runs the real checker — tsc, eslint, ruff, go vet, cargo, php -l — and force-feeds errors back.
See a red/green diff and Accept / Edit / Reject before anything touches disk — or /auto on to let it run unattended.
Risky work runs on a hidden branch with checkpoints. Auto-snapshot before destructive commands, one command to undo.
Skills from GitHub are scanned for prompt injection, secret exfiltration, destructive shell, and hidden-unicode before they touch disk.
Long agent runs burn tokens on a growing history, not the cached system prompt. QodeX fights that with four real levers — so a local model with a modest window can still go the distance.
Run fully offline on your own hardware — or drop in a key and switch per command. Anything OpenAI-compatible plugs in with one line, so you're never locked to a vendor.
$ qodex provider add — guided setup: pick a provider, paste your key, done. No config-file surgery.
Clone it, build it, point it at a model. It's a normal Node project — every push is verified from a clean checkout in CI.
git clone https://github.com/QodeXcli/QodeX.git && cd QodeX && npm i && npm run build && npm link