100% LOCAL-FIRST 100+ BUILT-IN TOOLS OPEN SOURCE · APACHE-2.0

The local-first LLM agent that sees what it builds.

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.

</>
It builds
writes the UI code
It sees
screenshots & looks with a vision model
It fixes
self-corrects until it's right
↻ on a loop, all on your machine
qodex — ~/landing ● visual loop
100+
built-in tools
6
safety guardrails
14+
model providers
$0
to run locally
The part nobody else has

It doesn't guess if the UI looks right. It looks.

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.

◆ Living Artifact · 3-layer engine
01
create
Versioned artifact store — every revision kept, rollback anytime.
02
preview
Renders React / Vue / HTML in real Chromium. No build step.
03
screenshot
Captures exactly what a user would see, pixels and all.
04
review
A vision model critiques the render: LOOKS_GOOD / NEEDS_WORK / BROKEN.
05
fix
Self-corrects from what it saw, then loops — until it's right.

Verified live running the full loop on GPT-4o — create → preview → screenshot → review → automatic fix.

The full toolbelt

Everything an agent needs to ship real code.

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.

Read & edit code

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.

Understand a codebase

A Tree-sitter code-graph powers analyze_impact, find_callers, find_references, find_dead_code, and safe_rename.

Run anything

bash plus sandboxed code_run for Python, Node, TS, PHP & Ruby — with macOS sandbox-exec isolation where available.

Drive a real browser

Playwright-backed Chromium: navigate, click, fill, screenshot, run JS, read console & page errors — to verify your own UI changes.

Dev servers & jobs

Start dev_server_start, hit localhost, kick off background_job_start for async work — all tracked in one session.

Search the web

DuckDuckGo by default, or Tavily / Brave / Firecrawl when you add a key — with an auto-fallback chain across whatever keys are present.

Sub-agents & orchestration

task delegates to a separate model/window; orchestrate runs a DAG of sub-agents; gather fans out reads in parallel.

MCP, fully native

Connect any MCP-compatible server and its tools join the same registry as the built-ins — no glue code, no wrappers.

Skills from GitHub

Install skills from a curated registry or any GitHub repo — each security-scanned on the way in. search_skills to find them.

Git, built in

Status, diff, log, branch, commit, create-pr, release-notes — the agent manages version control as part of the task.

Smart vision

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.

Shareable live artifacts

Build a page / React app / dashboard and serve it with artifact_live that hot-reloads on every editshare="tunnel" gives a private link your team opens (LAN or https, token-protected). A live PR walkthrough.

Trade-off & business analysis

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.

English & Persian

Persian-first: skill auto-loading and tool selection understand Persian prompts (تحلیل، دیتابیس، آرتیفکت…), not just English keywords.

Domain tools

Docker, databases, WordPress (php -l), media via ffmpeg, frontend/print, OpenAPI digest — and more, all first-class.

Why local-first

Cloud agents make you pay — twice.

Every keystroke goes to someone else's server. You pay in money, in privacy, and in being throttled the moment you get productive.

$ / month

The meter never stops

Subscriptions plus per-token bills. The more useful it is, the more it costs you.

⤴ uploaded

Your code leaves the building

Proprietary source and secrets, shipped to a third-party API to be processed. For many teams that's a hard no.

429

Rate limits at the worst moment

You hit flow, the agent hits a quota. "Too many requests." Wait, retry, lose the thread.

✗ blind

It can't see its own output

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.

The payoff

Ship code without asking anyone's permission.

No account. No key. No connection required. Just your machine, your model, and an agent that finishes the job and checks its own work.

// free forever

$0, not $20/mo

Runs on a model you host with Ollama or LM Studio. No subscription, no token meter, no surprise invoice.

// air-gapped

Works on a plane

Fully offline. Your source never touches a third-party server — because there is no server.

// bilingual

English & Persian

Give it a task in either language and it drives the same real agent loop — natively, not bolted on.

Why you can trust it

It doesn't trust the model. So you can.

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.

01Syntax gate

Every edit is parsed before it's written. Broken syntax is rejected and never hits disk — the model gets the error back and retries.

02Completion gate

It can't claim "tests pass" unless a test actually ran. Unsupported "I fixed it" gets bounced back for correction.

03Auto-verify

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.

04Edit approval

See a red/green diff and Accept / Edit / Reject before anything touches disk — or /auto on to let it run unattended.

05Git sandbox

Risky work runs on a hidden branch with checkpoints. Auto-snapshot before destructive commands, one command to undo.

06Skill scanner

Skills from GitHub are scanned for prompt injection, secret exfiltration, destructive shell, and hidden-unicode before they touch disk.

Built for long sessions

It keeps the context window small on purpose.

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.

DelegationHeavy file-exploration runs in a read-only sub-agent with its own window; only the summary returns.
Result-agingStale large tool outputs are stubbed after a few turns and re-read on demand.
CompactionHistory is structured-summarized as the window fills, instead of dropping context.
Tool-gatingOnly relevant tool schemas are sent each turn — a greeting sees ~20, a real task ~50, out of 100+.
// live in the status bar
12.4k/200k ████░░░░░░ 8%
A real context meter shows exactly how full the window is — so you're never surprised by a silent truncation.
Bring your own model

Local by default. Any cloud you want.

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.

Local — runs on your machine
Ollama LM Studio any OpenAI-compatible server
Cloud — optional, switch anytime
OpenAI Anthropic Claude Google Gemini DeepSeek Groq Mistral xAI Grok OpenRouter Together Fireworks DeepInfra GitHub Models Perplexity

$ qodex provider add — guided setup: pick a provider, paste your key, done. No config-file surgery.

60 seconds, no signup

Put the agent on your machine.

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