A self-learning local coding agent for LM Studio — in a single static binary.
It drives your own local model through a reason → act → observe loop over a handful of fat tools, recovers from errors using lessons it learned on past runs, and gets better over time. Local by default — but the same loop runs any OpenAI-compatible provider (OpenAI, Anthropic, Grok, Groq, OpenRouter, Z.ai), and it can delegate a task to a sub-agent on a different model. Your machine, your keys, under a permission policy you control.
$ curl -fsSL https://raw.githubusercontent.com/ipsupport-llc/ipsupport-code/main/scripts/install.sh | sh
PS> iex (irm https://ipsupport-llc.github.io/ipsupport-code/install.ps1)
macOS · Linux · Windows — one binary, no Python, no runtime, no dependencies · verifies SHA-256
❯ ipsupport-code ✦ ipsupport-code model qwen2.5-7b-instruct cwd ~/myproject ❯ add a /health endpoint and run the tests ⚙ file edit server.go +6 −0 ⚙ run go test ./... → exit 0 ok ./... (0.4s) ✦ noted tests run with: go test ./... Added GET /health returning 200 "ok"; all tests pass. ❯ review that change across grok and claude, then merge ⇉ spawned grok · grok-4.3 · ~/myproject ⇉ spawned claude · claude-sonnet · ~/myproject ✓ grok finished ✓ claude finished → both: correct. grok wants a 503-case test; claude flags a missing Content-Type. Reviewer agrees it's solid; I'll add the 503 test. NEXT: add the 503-case test qwen2.5-7b-instruct · ~/myproject · ctx 4.0k/8k · ↑1.6k · ready
Built for micro-tasks on your own machine. It won't match a frontier model — it's a private, controllable agent that compounds what it learns.
One executable, CGO_ENABLED=0 — no Python, no Node, no runtime, no virtualenv to rot. Download, run, done. It updates itself in place.
After each task it reflects and writes durable lessons and project facts to disk, then folds them into the next run. Tool errors are met with fixes it found before.
One tool per domain — file · run · git · web · calc — so the catalog stays tiny and small models route well. Native tool-calls only.
LM Studio by default over its OpenAI-compatible server. Nothing leaves your box unless you point it at a cloud provider.
One /ai key away from OpenAI, Anthropic, Grok, Groq, OpenRouter, or Z.ai — switch models live with /model (search its 300+).
Delegate a task to a sub-agent on another model — run locally, then have a frontier model review the diff, or compare a review across 2–3 models. Paid spawns ask first.
Per-name sessions with restore-on-startup, plus a token ledger with day/week/month rollups and estimated $ cost by model.
Allow/deny globs, a workspace jail, and a non-overridable safety floor. A plan / auto toggle and non-stealing approval prompts.
Downloadable, toggleable instruction packs — load extra know-how only when the topic fits, so the prompt stays lean.
A settings panel you navigate with the arrow keys, plus a local token ledger broken down by day and provider/model.
Live-streamed tool calls, markdown answers, syntax-highlighted diffs, multi-line paste, and a status bar with model · context · tokens.
Three steps from nothing to a running agent in your project.
~/.local/bin.ipsupport-code then
/ai key openrouter sk-… and /ai openrouter.cd your-project && ipsupport-code, then type a task.
It edits files, runs commands, and reports real output — under your permission policy.Every feature is a slash-command or a keystroke — /help shows this inside the agent too.
/help · /status · /usage · /budget · /config
/ai & /ai key · /model · /reasoning · /agents · /jobs
/goal · /diff · /rewind · /history · /knowledge
/skills · /permissions · /sessions · /cd · /mcp
/new · /clear · /compact · /plan·/auto · /reflect
/loop · /update · /offline · /rename · /color
Enter send · alt+enter newline
Tab complete a /command or @file path
ctrl+r reverse-search prompt history
shift+tab plan ⇄ auto mode
ctrl+u clear input · ctrl+l clear screen
↑ answer approval / edit queued · esc cancel · ctrl+c quit
Define profiles in /config → Sub-agents (provider → model → name).
Then ask, e.g. "review internal/tool across grok and claude, then merge."
They run in parallel, each jailed to its own directory. Manage with
/agents add|add-tool|rm|exec — add-tool plugs in local CLI agents (codex, claude, aider…); relax the per-spawn prompt with /permissions agents on.
Or fire one in the background and keep working — its result folds into the next turn; watch them with /jobs.
OpenAI-compatible at the core, so the agent is model-agnostic — local first, cloud when you want it.