Show HN: I Built the AI command center that runs all local models in one place
v2.3.6·What's new→ The coding agent that runs on your machine. Offline, at zero token cost, with your choice of model, and it asks before it changes a single line. Download GIDE ✓30-day trial · no card Other platforms &…
v2.3.6·What's new→ The coding agent that runs on your machine. Offline, at zero token cost, with your choice of model, and it asks before it changes a single line. Download GIDE ✓30-day trial · no card Other platforms & CLI → 1 Explorer project src JScart.jsM JScart.test.js JScart.test.js JScart.js srccart.js ⋮ 1// A tiny shopping cart, used as the demo project for the GIDE website. 2// cartTotal has a real bug: it ignores line quantities. 3 4export function applyDiscount(total, pct) { 5 if (pct = 100) return 0; 7 return total - total * (pct / 100); 8} 9 10export function cartTotal(cart) { 11−removed: return cart.reduce((sum, i) => sum + i.price, 0); 11+added: return cart.reduce((sum, i) => sum + i.price * i.qty, 0); 12} 13 14export function cartCount(cart) { 15 return cart.reduce((n, i) => n + i.qty, 0); 16} 17 18export function isEmpty(cart) { 19 return cartCount(cart) === 0; 20} 21 22export function formatMoney(cents) { 23 return $${(cents / 100).toFixed(2)}; 24} 25 26export function summarise(cart) { 27 return { 28 items: cartCount(cart), 29 total: cartTotal(cart), 30 display: formatMoney(cartTotal(cart)), 31 }; 32} 33 ⋮ Chat ❯fix the failing test in src/cart.test.js ✻ Thought for 3s ● read_file(src/cart.test.js) ⎿ ✓ ✻ Thought for 3s ● read_file(src/cart.js) ⎿ ✓ ✻ Thought for 8s ● Update(src/cart.js) Accept · Allow all · Reject → accepted ● replace_file_content(src/cart.js) ⎿ ✓ ✻ Thought for 3s $ node --test src/cart.test.js Run command? → accepted ⎿ exit 1 ✻ Thought for 3s Fixed cartTotal to multiply price by quantity instead of ignoring qty. _Verified by: syntax (node --check). That is a static check: the code was not run and no ✓ run finished ❯explain this repo briefly ⏸ write gate on · enter loads that session main*10exit 1Ln 11, Col 1Spaces: 2JavaScriptornith-9b · local · $0.00 A real recorded session. The edit is waiting on you. Keep it or undo it. Or install the CLImacOS & LinuxWindows install → $ curl -fsSL https://generativeide.com/install.sh | sh See it do the work Real sessions, recorded from the running agent, the same tool calls, diffs and approval gates you get after you install it. Pick a job and watch it happen. The work you actually do all day, across files, with the tests run and the diff shown. Dropped into an unfamiliar codebase, it maps it before it answers Semantic retrieval across the whole repo rather than a guess from the file names. It reads what it needs, then tells you how the pieces fit. gide · ~/project Session gidev2.3.6·ornith-9blocal · offline ~/project replaying a session recorded here · 10s ❯explain this repo briefly ✻Thought for 4s ● glob_files(/*.{js,jsx,ts,tsx,json})✓ succeeded ✻Thought for 6s ● outline(src/cart.js)✓ succeeded ✻Thought for 6s ● read_file(src/cart.js)✓ succeeded ✻Thought for 24s This is a tiny JavaScript project implementing a simple shopping cart. Files:** - package.json — project config - src/cart.js — cart logic with three exported functions: ✓ done ❯fix the failing test in src/cart.test.js ⏸ write gate on · type a task and press enter to load that session Run these yourselfEvery feature The write gate Nothing is written until you say so An agent that edits your repo behind your back is a liability. Every file write and every shell command stops here first, with the diff in front of you. Accept it, allow the rest of the session, or reject it, and a rejection is fed back to the agent so it tries something else rather than silently giving up. ✓The same gate in the editor, in the CLI, and in CI ✓Identical whether the model is local or your own cloud key ✓Every decision lands in a local JSONL audit log How the gate works → gide · src/cart.js ● Update (src/cart.js)1 added, 1 removed 12 export function cartTotal(cart) { 13−removed: return cart.reduce((sum, i) => sum + i.price, 0); 13+added: return cart.reduce((sum, i) => sum + i.price * i.qty, 0); 14 } Allow write to src/cart.js? ←→ to move · esc rejects · nothing is written until you decide This one is live, click it, or tab to it and use the arrow keys. Any model, one command Running a real local LLM usually means a package manager, a Python environment and a GPU toolchain. Here it means opening the app. The harness above the model, plan gate, write gate, memory, tools, never changes. Ornith 9B The default. It ships with GIDE, so the first time you open the editor there is a working local model and nothing to install. No ollama, no Python environment, no CUDA toolkit, no config file. gide # already installed, nothing to run Runs on 12 GB VRAM on Windows · 18 GB unified on Mac Context window 32K at 18 GB, 48–64 GB machines go higher Zero token cost, no rate limit, and it keeps working with the wifi off. Full memory and context matrix Gide CLI · v2.3.6 The same agent, in your terminal Gide is not only an editor. The CLI runs the same local model, shares the same conversation history, and approves every edit through the same gate. Use it next to neovim, inside CI, or alongside the app itself. ✓Runs offline on your hardware, so no tokens are billed and no code leaves the machine ✓Scriptable with real exit codes, so it pipes and composes like any other shell tool ✓Ships an OpenAI-compatible endpoint, so your own tools can use the local model ✓macOS, Linux and Windows Read the CLI docsDownload the app gide $ gide > fix the failing test in src/cart.js ✻ reading src/cart.test.js ● Read(src/cart.js) ● Update(src/cart.js) - sum + i.price + sum + i.price * i.qty Allow write to src/cart.js? [y/n] ✓ done. 1 passed, 0 failed $ curl -fsSL https://generativeide.com/install.sh | sh Windows: PowerShell and CMD commands Local OpenAI-compatible API Your laptop, speaking the OpenAI API Mint a key, point any OpenAI SDK at 127.0.0.1, and every tool you have already built against that protocol runs on the model sitting on your own machine. No rewrite, no gateway, no per-token bill. Step one, mint a key gide $ gide apikey create my-tool sk-gide-•••••••••••••••••••• ⎿ shown once · stored hashed · this machine only $ gide apikey list ⎿ my-tool · created today · 0 requests Never leaves the machine The endpoint is bound to 127.0.0.1. There is no hop to us, because there is no us in the path. Streaming, and reasoning split out Reasoning models return their thinking in its own field rather than smeared through the answer. Metered per key Every key's usage shows up in gide usage, and on a local model the bill is still zero. Shown once, stored hashed Revoking a key takes effect immediately. A busy model answers 429 with a retry header instead of queueing forever. Step two, point anything at it python · http://127.0.0.1:41337/v1 from openai import OpenAI client = OpenAI( base_url="http://127.0.0.1:41337/v1", api_key="sk-gide-...", # gide apikey create my-tool ) stream = client.chat.completions.create( model="local", messages=[{"role": "user", "content": "summarise this changelog"}], stream=True, ) for chunk in stream: print(chunk.choices[0].delta.content or "", end="") The port is whichever one GIDE is listening on, gide apikey create prints the full base URL. This is raw model access: your prompt, your history, and none of GIDE's agent harness or memory. Tool calling, multiple completions, response formats and logprobs are not supported and each returns a clear error. The endpoint is disabled while Private Cloud is connected. API reference Stop Paying for Every Single Token. Cloud-based AI IDEs charge you per line of code generated, effectively punishing you for being productive. As models get larger, these costs will only rise. 0 Zero Token Cost Run powerful AI models locally on your hardware. Pay for the electricity, not the intelligence. Never see an API bill again. ∞ Unlimited Usage Code entirely without limits. Enjoy complete freedom with zero rate limiting, no daily caps, and no throttling during peak hours. Cost Projection GIDE vs. Cloud AI Providers $0 Flat $50 Now $0 Flat ~$200 1 Year $0 Flat $$ Rising Future GIDE (Flat $0) Cloud AI (Rising) Projected costs based on 1 million tokens generated compared to average cloud provider rates. $0. Forever. Download GIDE Powerful Features, Zero Cloud A local-first, private, agentic IDE with your choice of model. Agent Agent Mode Give it a task, not a line to change. Describe a goal and GIDE plans the work, edits across files, runs commands, and verifies its own output, shipping the whole change end to end. Plan→Edit files→Run commands→Verify Private Fully Offline & Private A real LLM running on your machine. No content telemetry, zero cloud round-trips. Your code stays on your machine — we collect aggregate usage counts, never code or prompts. The agentic IDE that actually runs on your laptop. Models Your Model, Your Choice Switch between on-device models (Ornith, Qwen, Gemma, DeepSeek) and frontier models (Claude, GPT, Gemini) with your own key. Private by default, frontier power on demand. Context Codebase Context & Persistent Memory Semantic retrieval (RAG) over your whole repo, plus persistent memory management that carries context across sessions, so it remembers where you left off. Extensible Skills & Tool Connections Teach it your team's conventions with skill files, and connect external tools over MCP (like OpenShell) so the agent acts beyond the editor. Try it yourselfSee all features Frequently Asked Questions Can GIDE run fully offline? Yes. GIDE bundles a local model that runs entirely on your machine via llama.cpp, no internet needed, and your code and prompts never leave it. You can also connect a cloud model with your own API key when you want frontier-model power; the app says so plainly when you do. The only things that need the network in local mode are login and update checks. Read the documentation for architecture details. Do I need to pay for AI tokens? Not for local models: they run on your hardware, so there are no per-token charges no matter how much you use them. If you connect a cloud model with your own key, you pay that provider directly at their rates. New users get a 30-day free trial on any paid plan. Download and try it , no credit card required to start. What AI model does GIDE use? GIDE is model-agnostic. Ornith 9B ships bundled and works on first launch; Qwen, Gemma and DeepSeek are one command away, and you can point it at any GGUF file you like, all running through llama.cpp with GPU acceleration on NVIDIA (CUDA) and Apple Silicon (Metal). Claude, GPT and Gemini work too, with your own key. The agentic harness is identical either way, see the memory and context matrix for what runs on your hardware. Is GIDE suitable for regulated or air-gapped environments? Yes. By default, no network calls are required for core AI features. GIDE includes JSONL audit telemetry, bearer-token authentication, and folder trust. Built for developers in regulated environments who need code to stay on-device. Have specific requirements? Contact us. Start building offline Free to download, a 30-day trial on any paid plan, and no credit card to begin. Windows Mac OS Linux All features·Documentation·Pricing·Contact us Built on VS Code OSS, powered by llama.cpp.