v0.17.9 — a dotted /// welcome, a built-in update nudge, and a VS Code & Cursor extension Get it →

Local-first coding agent

A coding agent for the models you run.

Vibe DGC is a full-screen agent that lives in your terminal — pointed at your own local model. It reads, edits, runs and verifies your code, with permission modes you control.

$curl -fsSL https://vibedgc.com/install.sh | bash

Opens your editor's extension page. No editor? View on the Marketplace or install manually.

PolyForm Noncommercial  ·  Pure Python  ·  15+ providers  ·  CLI + VS Code

dgc — ~/project
Vibe DGC v0.17.9
a coding agent for the models you run
[ New session ] or just start typing
New sessionCtrl+N
Switch modeShift+Tab
Commands/help
QuitCtrl+Q
Ask DGC to build, fix or explain… qwen3:8b · default

Why DGC

A real harness, not a chat wrapper.

Tools, four permission modes, plan mode, memory, web search, localhost artifacts — everything a serious coding agent needs, running against whatever model you point it at.

Local-first

Your model, your machine

Ollama, llama.cpp, LM Studio, vLLM — or any OpenAI-compatible cloud endpoint. Code stays local unless you pick a cloud model.

Agentic

Reads, edits, runs, verifies

Streams every tool call, diff and result. Permission modes decide how much rope it gets — ask, auto-edit, plan-first, or full-auto.

In your editor

Terminal or IDE

A full-screen Python TUI, and a native VS Code & Cursor extension — same agent, same local models, a docked panel with inline diffs.

More than one loop

Sub-agents & hooks

Spawn sub-agents with task — each can run a different model or host. Plus background shells, MCP servers, checkpoints & rewind, and lifecycle hooks.

See what it builds

Artifacts on localhost

When the agent builds something to look at, the artifact tool serves it and DGC offers to open it. All artifacts share one port with a dropdown to switch between them, Claude-Code style — and the list survives a restart. Frontends follow the built-in dgc-design language.

Plan first

Plan mode that sticks

Read-only research → an approved plan → execute. The plan is saved to plan.md beside the session; reopen it any time with /view-plan.

Polished TUI

Built to be lived in

A highlighted prompt band, collapsible thinking, a top-right context meter, a /dashboard overview, in-app /docs, and ghost-text suggestions — press Tab to accept.

The toolbox

read_filewrite_fileedit_filebashbash_outputbash_killglobgrepweb_fetchweb_searchtaskartifacttodoskilladd_skillsave_memorypresent_plan

Also in the box: artifacts (localhost previews the agent proposes opening), in-app /docs, next-prompt suggestions, vision / image input, model fallback, custom slash-commands, 11 bundled skills, and MCP servers.

In the terminal

Watch it work.

Every prompt streams the model's reasoning, each tool call, the diffs it writes and the commands it runs — right in your terminal.

dgc — ~/project
Vibe DGC · qwen3:8b · default
VS Code · Cursor

DGC, docked in your editor.

The same agent and the same local models, inside a native side panel — streaming tool cards, inline diffs, session resume and a purple composer. It installs alongside the CLI.

auth.ts — my-app — Cursor
Explorer — my-app
▾ src
auth.ts
routes.ts
server.ts
▸ tests
package.json
tsconfig.json
auth.tsroutes.ts
1// issue an access token for a verified user
2import jwt from "jsonwebtoken";
3
4export function sign(sub: string) {
5 const now = Math.floor(Date.now() / 1000);
6 return jwt.sign({ sub, iat: now }, KEY, {
7 algorithm: "HS256", expiresIn: "15m",
8 });
9}
10
11export function verify(token: string) {
12 return jwt.verify(token, KEY);
13}
DGCqwen3:8b
I'll add an iat claim so tokens carry an issued-at time, then run the suite to confirm nothing breaks.
✎ edit_file src/auth.ts  +2 −1
const now = Math.floor(Date.now()/1000);- return jwt.sign({ sub }, KEY, {+ return jwt.sign({ sub, iat: now }, KEY, { algorithm: "HS256", expiresIn: "15m",
$ bash npm test -- token
✓ signs a token with an iat claim ✓ verifies a valid token 2 passing (0.4s)
Done — the token now includes iat and both tests are green.
Ask DGC to change this file…acceptEdits
The DGC side panel, running inside VS Code & Cursor. Install in VS Code Install in Cursor Setup guide →

Connect anything

One command to point it at any model.

dgc setup walks you through these with arrow-key menus — local endpoints need no key; cloud ones prompt and store it safely.

ollamallama.cppLM StudiovLLM OpenAIOpenRouterGroqDeepSeekTogetherMistral

local — no API key, runs on your machine

You decide the rope

Four permission modes.

Switch live with Shift+Tab. Fine-grained allow / ask / deny rules layer on top, evaluated deny → ask → allow.

ModeBehavior
defaultreads & known-safe commands auto-run; writes and other commands ask first
acceptEditsfile edits auto-approved; shell commands still ask
planread-only — research and propose a plan you approve
autofull-auto — everything approved; deny-rules still apply