Local-first
Runs on Ollama, vLLM or LM Studio on your own machine or home server. Your code never has to leave your network. Prefer a frontier model for a hard problem? Switch to Claude, GPT, Gemini or OpenRouter in one command.
Free & open source · by JKagiDesigns
hexiel is an AI coding agent for your terminal and browser. It reads your project, runs your tests, fixes bugs and builds features — on local models running on hardware you already own, or on any big cloud model when you want one.
AI coding tools are amazing — and most of them are a monthly bill wired to someone else's servers. hexiel gives you the same kind of agent, but you own it, you choose the model, and it's designed to be fast on the computer you already have.
Runs on Ollama, vLLM or LM Studio on your own machine or home server. Your code never has to leave your network. Prefer a frontier model for a hard problem? Switch to Claude, GPT, Gemini or OpenRouter in one command.
Anything that doesn't need a model — searching, mapping the project, waiting on tests, parsing logs — runs locally in Python. A lean prompt halved the time to process each request on an Intel iGPU mini-PC (46.5 s → 23.7 s).
The agent is open source under GPLv3 with the Commons Clause. Use it, change it, share it, contribute back — free. (Only the optional Remote add-on is paid.) It just can't be repackaged and sold without permission, so no one can turn it into the subscription it was built to replace.
A fast full-screen terminal UI and a browser UI share the same brain — plus one-shot headless runs for scripts and an OpenAI-compatible API, so tools like OpenWebUI can talk to it.
/ for a command menu with descriptions/auto
Reads your project's AGENTS.md / CLAUDE.md, keeps file-based memory, and
tracks multi-step work in a todo.md that it maintains automatically — so if your
laptop dies mid-task, hexiel -c resumes from an accurate checkpoint.
Press Ctrl+P: hexiel asks every provider you're connected to what's available at that
moment — your local Ollama, Ollama Cloud, Claude, OpenAI, OpenRouter — and lets you search and switch.
Never a stale list.
Open /config (or ⚙ Settings in the browser), click a value, pick from the real options —
including the models your server actually has — and choose this session or
save permanently.
/update and resumes your conversation
Type @shot.png and vision models see it.
Detects pytest, vitest, Go and Cargo test runners plus Docker and Podman — and runs any other build tool through the shell.
Search + page reading built in, no API key needed.
Ask about the weather and hexiel shows a live forecast card beside the answer — hourly, 4-day, rain chances. No API keys, no sign-ups.
Claude Code skills and OpenWebUI tools work unchanged.
Hit a bug in hexiel? /heal fixes it in a safe copy; review the diff, keep it, or send it back so every user gets the fix.
/ship branches, commits and opens a GitLab MR for your project's changes.
One local script instead of ten slow model round-trips.
Linux, macOS and Windows (PowerShell built in).
Add the docs for Java 21, Tomcat 10.1, Angular… and hexiel answers from them, with citations. Free and local.
Local and remote MCP servers; your Claude Code .mcp.json works as-is.
/model add sonnet, gemini, deepseek, ollama-qwen… one command.
Edits and commands ask first; local models keep code on your network.
Ctrl+P lists every model you can use right now — local, Ollama Cloud, Claude, GPT… never stale.
Hit a rate limit? It counts down and resumes — or continues on your local model.
/undo reverts a turn's edits; /plan proposes changes before making any.
Claude-Code-compatible permission rules and hooks; subagents keep context (and cost) small.
Multi-line prompts with a clean, sanitized paste. Copy an image and press Ctrl+V (or paste in the browser) to attach it; long pastes collapse to a tag and expand when you send. Terminal clipboard images need wl-clipboard/xclip (Linux) or pngpaste (macOS).
A dropped or timed-out model connection is retried automatically. If it breaks mid-reply you're told, and nothing half-finished is saved.
Run a free local model for almost everything and spend cloud tokens only where they count. For a big task, a strong cloud model writes a plan of small, self-contained steps; your local model then does each one in a fresh, short context and checks its own work before moving on.
hexiel judges each request — cheap rules first, your local model only for toss-ups — and offers to delegate the big ones.
Or type /delegate yourself.
Each step ends with a test, build or search that has to pass. Failures are retried, then handed to the planner once, then reported plainly. You approve the plan before anything changes.
Choose the planner and the worker in /config or the browser settings — any mix of local, Ollama cloud, Claude or
OpenAI-compatible models. Stopped plans resume with /delegate resume.
hexiel stays free. Hexiel Remote is an optional add-on for when you want your agent to reach beyond your desk — control the hexiel on your own machine from a browser or phone, and let it work while you're away.
Run hexiel remote login once, then type /remote-control in any chat. Your machine connects
out to the relay — nothing is opened on your network. Sign in at remote.hexiel.tech from any browser
or phone, pick the chat (up to 3 at a time) and you're in that same conversation, with the same approvals before edits and commands
— and a Stop button that works from anywhere.
Schedule a task ("every Monday 8am, summarise last week's sales") or give it a webhook URL that CI, a form or a monitor can call. Runs execute on your machine against your files and model, are read-only unless you opt a schedule into full access, and results go to your account page or a Slack or Discord webhook.
Sign-in plus an active subscription on every connection, revocable per-machine tokens, webhook payloads handed to the model as untrusted data, and a password check before any automation is created. Traffic passes through the relay over TLS (it isn't end-to-end encrypted).
14-day free trial — a card is taken up front and billed when the trial ends unless you cancel. Payments by Stripe; manage or cancel any time from your account page.
Researchers, analysts and small-business owners: ask in plain English. hexiel does the work locally — the AI only sees summaries, so it's fast on a small computer and cheap on a cloud model.
"Which region beat its target — sales.csv vs targets.xlsx?" hexiel answers with real SQL over your CSV, Excel and Parquet files and edits Excel without breaking your formatting.
"Keep a list of my customers and invoices." hexiel creates and maintains a private local database for you — no servers, no setup — or connects to Firebase and Supabase.
"Every Monday at 8am, summarise last week's sales and flag anything odd." It runs even when hexiel is closed — on Linux, macOS and Windows — and the result lands in your inbox.
"Chart revenue by month." You get an interactive chart that opens in any browser.
Ask a big question: hexiel reads many pages at once and writes a report with numbered sources. Or drop in your PDFs and Word files and get answers that cite the exact page.
One command adds Firebase, Supabase, Notion, GitHub or a real browser — plus any MCP server you already use.
Claude Code, opencode and Aider are excellent tools — we use and respect them. Here's an honest look at where hexiel fits. Facts checked against each project's official docs on (pricing and the remote-control row re-checked ).
| Feature | hexiel | Claude Code | opencode | Aider |
|---|---|---|---|---|
| Open source | YesGPLv3 + Commons Clause | Noproprietary | YesMIT | YesApache-2.0 |
| Price of the tool | Yesfree — pay only for cloud models you choose | PaidPro/Max/Team/Enterprise plan or pay-per-token API | Yesfree; optional paid model plans | Yesfree; you pay your LLM provider |
| Local models (Ollama, vLLM, LM Studio…) | Yestuned for modest hardware | NoClaude models only (officially) | Yes | Yes |
| Terminal UI | Yesfull-screen | Yes | Yes | Partialchat REPL, not full-screen |
| Browser / desktop UI | Yesbuilt-in browser UI | Yesweb, desktop and IDE apps | Yesweb UI; desktop app | Partialexperimental --gui |
| Headless / scripting | Yes | Yes | Yes | Yes |
| Project memory + auto-compaction | Yesplus auto-maintained todo.md and memories | Yes | Yes | Partialconventions file via config |
| Uses Claude Code skills | Yesreads ~/.claude/skills | Yesnative | Yesreads .claude/skills | No |
| Screenshot / image input | Yes | Yes | Yes | Yes |
| Remote control from a phone / browser | Paid add-onHexiel Remote, $8/mo, 14-day trial | YesRemote Control, on Pro/Max/Team/Enterprise (not API keys) | Partialweb UI you host yourself | No |
| Self-update | Yes/update, keeps your conversation | Yes | Yes | Yes |
| Undo / checkpoints | Yes/undo per turn | Yes | Yes | Yesgit-based /undo |
| Hooks | YesClaude Code format | Yes | Yesvia plugins | Nonot in docs |
| Subagents | Yesoptionally on a local model | Yes | Yes | Nonot in docs |
| MCP servers | Yesstdio + HTTP; reads .mcp.json | Yes | Yes | Nonot in official docs |
| Resale by others | Nonot without permission | No | YesMIT allows it | YesApache-2.0 allows it |
Sources: Claude Code license, Claude Code model gateways, opencode providers, opencode web, opencode skills, Aider options, Aider + Ollama. Spotted something out of date? Tell us and we'll fix it.
Measured on an Intel iGPU mini-PC, not a datacenter. Searching, mapping, waiting on tests and parsing
run in Python; a python tool batches many steps into one local script; the prompt is kept lean.
Thinking can be switched off per model for speed.
Multi-step requests become tracked tasks with a checkpoint refreshed after every step, and durable facts are saved to memory during compaction — in Python, at zero token cost.
Serve hexiel as an OpenAI-compatible model that OpenWebUI (or any OpenAI client) can connect to, and run existing OpenWebUI tool, pipe and filter plugins inside hexiel without porting them.
Models guess at which Java, Angular or Tomcat you use. hexiel knowledge add <docs-url> -t java-21
downloads the official docs (or copy your own PDFs and Markdown into a folder), and
hexiel knowledge sync indexes whatever is new or changed. Search combines keywords with local
Ollama embeddings, so answers come from your versions’ docs and cite them. Free, open source and
fully local. The first sync is slow on modest hardware (a 40-page site takes a few minutes); later ones
only embed what changed. How it works.
Map read, grep and web_fetch to a small, fast model — even a
Raspberry Pi — and big outputs are condensed for your request before your main model reads them. It
keeps their context clean and queue free, never touches writes or edits, and falls back to the raw text if the
helper is slow or down. hexiel also tells you when another window is using the same local model.
How it works, with Pi measurements.
Paste, drop or mention an image or PDF and it appears — thumbnails and a PDF reader in the browser UI,
clickable lines (and inline thumbnails with pipx install 'hexiel[view]') in the terminal.
Type /remote-control in a chat you already have open and that same conversation is drivable from
any browser through Hexiel Remote; it asks you to sign in first if needed.
Crashes are recorded as incidents; /heal reproduces, fixes, tests and proposes a merge
request, and /ship turns your work into one. Nothing merges without a human.
If you live on Claude models and want deep IDE and desktop integration, Claude Code is superb. If you want a permissive MIT license, opencode is a great choice. If you want a lightweight git-centric pair programmer, Aider is proven. If you want an agent that is free, runs well on modest local hardware, maintains its own memory and todo, and plugs into OpenWebUI — that's what we built hexiel for.
You need Python 3.11+ and a model: Ollama for local, or an API key for a cloud provider.
pipx install 'hexiel[serve]' # no pipx? see the note below
ollama pull qwen3.6:35b-a3b-coding # or use a cloud API key
cd ~/your-project && hexiel
winget install Microsoft.PowerShell
pipx install "hexiel[serve]" # or: pip install "hexiel[serve]"
ollama pull qwen3.6:35b-a3b-coding # or use a cloud API key
cd your-project; hexiel
Don't have pipx, or does pip install say
externally-managed-environment? Modern Linux and Homebrew Python refuse system-wide installs on purpose.
Install pipx first (Arch: sudo pacman -S python-pipx · Debian/Ubuntu: sudo apt install pipx
· Fedora: sudo dnf install pipx · macOS: brew install pipx), then run pipx ensurepath.
Or use a plain virtual environment:
python -m venv ~/.hexiel-venv && ~/.hexiel-venv/bin/pip install 'hexiel[serve]'.
Want to hack on hexiel itself? Install from source.
Run hexiel --doctor any time for preflight checks with copy-paste fixes, or
hexiel --serve for the browser UI.
hexiel is designed and built by JKagiDesigns LLC, a software studio in Kingston, Massachusetts. Our day job is building custom business software for small companies — software that replaces the subscriptions that cost too much or do too little.
We wanted an AI coding agent that worked the same way: one you own. One that runs on the mini-PC in the closet instead of a monthly bill, that doesn't waste tokens watching a test suite scroll by, and that you can open up and improve. So we built hexiel — a guardian angel for your codebase — and we're giving it away.
The name nods to that idea of a watchful helper; the logo is a pair of wings around an H, under a halo.
Visit JKagiDesigns.com →License: GPLv3 with the Commons Clause. Want to build something commercial on top of it? Talk to us.
Yes. The tool costs nothing and has no subscription. The only paid piece is the optional Hexiel Remote add-on ($8/month, 14-day trial) for remote control and cloud automations. If you use a cloud model you pay that provider for what you use; local models are free.
Yes — point it at Ollama or any OpenAI-compatible server on your machine or LAN. Web search obviously needs the internet, but everything else works locally.
Yes — that is what delegation is for. Set a planner model (say, an Ollama cloud model) and a worker model (your local one). For big requests the planner writes a short plan once and your local model does the work, so cloud tokens go to the thinking, not the typing.
On the config file reference: every config.toml setting with its default, model profile examples,
permission rules, MCP servers, environment variables and fixes for common mistakes.
Our test machine — an Intel mini-PC with integrated graphics — runs a 35B mixture-of-experts coding model at about 12 tokens/second. That model needs roughly 25 GB of memory, so plan for 32 GB of RAM or more. Smaller machines can run smaller models, or use a cloud model.
Mixture-of-experts models with ~3B active parameters that support tool calling and vision —
qwen3.6:35b-a3b-coding passed all our checks. Set reasoning_effort = "none" on slow
hardware so it doesn't spend minutes "thinking".
Yes. hexiel reads ~/.claude/skills directly, plus OpenWebUI tool/pipe/filter plugins.
Yes — it’s built in and free. hexiel knowledge find "Tomcat 10.1 documentation" searches the web
for the official docs, hexiel knowledge add <url> -t tomcat-10.1 downloads a docs site, or you copy
files (Markdown, HTML, PDF, Word) into a topic folder yourself. hexiel knowledge sync then
indexes what changed. Models search it automatically and cite the page. It all runs locally; semantic search
uses Ollama’s nomic-embed-text, and keyword search works without it.
Yes — local (stdio) and remote (HTTP) MCP servers. It reads Claude Code's .mcp.json format,
so existing setups work unchanged, and you can expose only some of a server's tools to keep prompts
small on modest hardware. /mcp shows what's connected.
Run /heal (optionally describing the bug). hexiel fixes and tests it in an isolated copy of
its own source — never in your project — then shows you every changed file with a diff. Untick anything
you don't want, then send it back as a merge request so every user benefits, or
keep it just for yourself.
One command: /model add sonnet, gpt, gemini, deepseek,
kimi, openrouter, ollama-qwen and more. hexiel --presets
lists them all, and MODELS.md
has copy-paste config for each.
Yes. Ask about your spreadsheets ("which product sold best last quarter?"), have it keep a small
database for you, make charts, research a topic with sources, or schedule a weekly report. It works in
the browser too: hexiel --serve.
By default every edit and command asks for your approval first. The browser UI is local-only unless you explicitly expose it, and it warns you loudly if you do.
Fork, branch, open a merge request — or let hexiel do it with /ship. Changes are reviewed
and approved by the maintainers.