DGC v0.20.8
A coding-agent CLI for the models you run — local (Ollama, llama.cpp, LM Studio, vLLM) or any OpenAI-compatible cloud.
Install
curl -fsSL https://vibedgc.com/install.sh | bash
dgc setup # pick a provider + model
dgc # start codingNew in 0.20.8
- The prompt band auto-compacts on a short terminal. When the window is 20 rows or shorter, the band drops its blank padding rows and the ❯ prefix and keeps just the tint — so a small window isn't dominated by prompt padding. Grow the window and the full band comes back.
New in 0.20.7
- The prompt band is solid at any terminal size and breathes properly. On a narrow/small terminal the band no longer breaks into ragged, fragmented tint — it word-wraps the text (continuation rows indent under the ❯) and paints a full-width rectangle at every size. And it now has proper breathing room above and below instead of sitting flush against the surrounding text.
- One resume hint on exit. Quitting a session used to print two separate "Resume this session" notices; now it's a single block offering both
dgc --continue(most recent here) anddgc --resume <id>(this exact session).
New in 0.20.6
- The prompt band matches a polished terminal CLI exactly. Your submitted prompt now sits in a clean, neutral-grey band at every terminal colour depth — the subtle-tint that used to skew blue (and then too purple) when a 256-colour terminal downsampled it is gone, because the band is a true neutral grey with no colour channel to collapse.
New in 0.20.5
/artifactreads right and never overflows. Preview names render correctly (previously-mangled em-dashes/arrows are healed on load), long names stay inside the menu, and both the private and LAN states carry a plain-language explainer of exactly how to open a preview on another device.- Removing a preview now confirms first — an accidental
xon the wrong row no longer drops it silently (the.htmlon disk is untouched either way). - Served pages are responsive. Generated artifacts get a viewport tag, fluid units, and images/tables that fit — no sideways scroll on a phone.
New in 0.20.4
- A stronger default skill set. Eight new built-in skills cover the parts of coding the old set didn't:
plan(read the real files, write a bounded ≤6-step plan, execute exactly that — the rail that keeps a small local model from sprawling),write-tests(author tests that match your project and are proven non-vacuous),ship(self-review, deliberate staging, conventional commit + PR — nevergit add -A),onboard(understand an unfamiliar repo and optionally capture it to DGC.md),security-review,handoff,refactor, andsetup(which folds the old doctor/providers/permissions skills into one connect-diagnose-configure skill).loopis sharpened into a revert-on-regression convergence rail, and DGC now does exactly what you asked — no unrequested scope — by default.
New in 0.20.3
/handoff— hand your work to another agent. Writes a self-contained handoff doc (objective, what's done incl. files/commands/commits, current state, key decisions, next steps, how to continue) toHANDOFF-<time>.mdand shows it in the chat — paste it into a fresh session, Codex, or a teammate's agent to continue cold.- A settings menu.
/settingsopens a full, editable browser — Model & sampling, Behaviour, Display, Artifacts — each a page ofkey: valuerows; Enter edits one (a picker for choices, a prompt for numbers/text) and it applies live./set <key> <value>is the one-line shortcut (e.g./set temperature 0.7). - Steadier on flaky local servers. A context-overflow error (the real window smaller than your
context_size, common on llama.cpp/Ollama/LM Studio) now compacts and retries the turn instead of ending it; a dropped connection retries with backoff; and compaction keeps a richer, merged summary so long sessions lose less. - Easier on weak models.
editcalls sent in the wrong shape (a JSON string, a single object, alternate key names) are repaired automatically instead of failing. - More lifecycle hooks —
SessionStart,Stop, andPreCompactjoin the existing tool/prompt hooks.
New in 0.20.2
/goal— set a finish line and let it run. Give the session a standing objective with/goal <objective>; DGC keeps it in view every turn and won't stop with it unmet after doing work, until you/goal clearit. It's remembered across turns and restored when you resume the session.- Sampling controls for local models. New
temperature/top_p/top_k/min_psettings (empty = respect the server's default) let you tame a local model that loops or repeats — e.g. Qwen likestemperature 0.7,top_p 0.8,top_k 20. Only what you set is sent. - Better convergence on weak local models. DGC now catches an
edit_filegrind (many near-miss edits that never land) and steers to a whole-filewrite_file; it refuses to run a tool call whose arguments were cut off at the token limit (which used to corrupt a file); and a long shell output is saved to a temp file with a grep hint instead of dropping its middle — so a compiler error mid-stream isn't lost. /artifactshows every way to open it. In LAN mode it now lists the localhost, LAN, and Tailscale URLs (plus an optionalartifact_hostnamefor a reverse-proxy domain) — so "open it on my phone" or "over Tailscale" just works.- A live rail on every tool call. A running tool now wears an animated accent bar down its left edge that settles when it finishes; its header reads in tense ("Running" → "Ran", "Reading" → "Read"), and the call and its output are one grouped block. Reasoning streams as a calm rolling tail instead of an ever-growing wall of grey.
- Resume keeps your prompt band. Reopening a session (
dgc --continue//resume) now redraws each past prompt in its tinted band, and/jumpworks on resumed turns. - No more silent "Thinking…" hang. A turn where the model only reasoned (no reply, no tool) no longer ends with nothing shown and the status stuck on "Thinking…" — it recovers and asks for a real reply.
- Artifacts that actually get built. Sharper instructions stop a model from describing a page instead of serving it (no more "I'm building a dashboard at http://127.0.0.1…" that serves nothing).
/artifactnow always opens — even with none yet — so the LAN-share and a new plan-mode artifact toggle are always reachable, and its menu no longer overflows on narrow terminals. /resumedelete actually deletes.^Don a session now removes it (with a confirm) instead of closing the menu.- Sturdier multi-agent runs. Esc/cancel now reaches a running sub-agent, a denied sub-agent tool sees your reason, and a background session's auto-title / next-prompt suggestion no longer lands on the wrong session when you switch mid-turn.
- Cleaner local-model runs. A timed-out shell command now kills its whole process tree (no orphaned
cargo/go test/gradlewbuilds hogging CPU), weak models are steered to write a whole stub file in one call, and the system prompt sheds instructions it can't use in a given mode. - Fixes: multibyte characters (arrows, °, em-dashes) no longer mangle on some terminals; fenced code blocks stand out more; menus stay centered and inside their box on resize.
New in 0.20.1
- Fixes: headless plan mode (
dgc -p --mode plan) no longer crashes on EOF — it presents the plan and exits cleanly.
New in 0.20.0
- Edits that land on any local model. The edit matcher recovers a weak model's near-misses through more tiers — smart quotes, indentation, LF/CRLF, a drifted interior line, and lazy
... existing code ...elisions — validated on a 19.5k-case corpus at zero wrong-applies. multi_edit— apply several edits to one file in one call; applied hunks are kept even if a later one fails.- A universal thinking switch.
/think offnow genuinely turns reasoning off on every backend (Ollama, vLLM/SGLang, OpenAI, DeepSeek, Anthropic), each with the right wire format; reasoning models still shine with/think high. - Over-thinking watchdog — if a model reasons past a budget without acting, DGC aborts and retries with less reasoning.
- Loop resilience — a grind guard stops a model repeating a failing command,
max_tokensbounds runaway output, and Ollamakeep_alivekeeps your model resident between turns.
New in 0.19.1
- Plans, as artifacts. In plan mode the agent’s plan is now rendered as a clean, dgc-design page and served on your artifact URL —
plan.mdmade to look at, as a rendered page. The CLI proposes opening it alongside the approval. (present_plan→artifacts.serve_plan.)
New in 0.19.0
- Run a fleet of agents at once. DGC is now multi-agent: Ctrl+N spawns another agent (even mid-turn), Ctrl+O cycles, and *Ctrl+* opens the dashboard — every agent with its live state (● on screen · ⋮ working · ◆ needs you · ○ idle), where you attach, close, pin and rename. A background agent that finishes or needs a decision flags itself in the bottom bar; its approval waits until you switch to it. Each agent can use a different model or endpoint.
- Composer grows to fit. Long prompts wrap and the box expands (and scrolls) instead of erroring "window too small" on a small/phone screen.
- /model now tells you which endpoint failed and to /connect a reachable host (e.g. a LAN IP) instead of a bare error.
- Fixes: the
///welcome logo no longer shears apart when the terminal is narrow.
New in 0.18.2
- A visibly highlighted prompt band. Your submitted prompt now sits in a full-width, tinted band (purple lift, breathing room above/below) — it reads distinctly from the model's output.
- Per-phase status timer. The status row now shows
⠧ Thinking… 0.4s(the current phase + its own timer) on the left and the total turn time +⇣tokens+[stop]on the right, and the transcript's live-reasoning label matches the status word. - Centered dialogs. Every popup (context, /docs, /dashboard, pickers) is horizontally centered instead of hugging the left edge.
/dashboardis now an interactive session roster — a status header plus+ New sessionand every session as a selectable row (Enter opens · x deletes). DGC runs one agent per process, so this is the faithful single-process take on a fleet dashboard.- Artifacts: localhost or LAN. New
artifact_bindsetting (toggle withbin/artifact) exposes previews to your local network with a shareable192.168.x.xURL — open them on your phone.
New in 0.18.1
- Artifacts now share ONE server + a dropdown. Every artifact lives on a single fixed local port (
127.0.0.1:45000by default) behind a single page with a top-left dropdown to switch between them — instead of a new port each. The list is saved to~/.dgc/artifacts.jsonand the server auto-starts on launch, so your previews survive adgcrestart. Tune withartifact_port/artifact_autostart.
New in 0.18.0
- Artifacts — when the agent builds something to look at, the new
artifacttool serves it on a local127.0.0.1URL and DGC offers to open it in your browser./artifactlists everything running — open one, or stop it to free its port. Reaches the VS Code / Cursor extension too (an "Open in browser" card). dgc-designskill — a built-in frontend design language (Inter + JetBrains Mono, near-black canvas, one purple accent). Off for normal coding; artifacts load it automatically so previews look intentional by default.- Plan mode that sticks — the proposed plan is saved to a
plan.mdbeside the session; reopen it any time with/view-plan. - In-app
/docs— a searchable how-to library with a scrollable markdown reader, right in the terminal. /dashboard— a one-glance overview of the session (model, context, running artifacts, recent sessions).- Ghost-text suggestions — DGC predicts a sensible next prompt after each turn; press Tab / → to accept.
- Polish — a sub-cell fractional context bar, collapsible thinking sections, a highlighted prompt band, and a click-to-open top-right context meter.
New in 0.7.1
- The CLI welcome is now a polished welcome card (block DGC logo + menu), the product is named Vibe DGC (the command stays
dgc), andmodel · modesits on the composer border.
New in 0.7.0
- New home: vibedgc.com. Install/update, the site, the extension and GitHub all point there; the old domains 301/redirect to it so existing installs and
dgc updatekeep working. - The CLI is now a full-screen terminal app with a rounded composer, a dotted braille wordmark, and a continuously-animated logo.
New in 0.6.1
dgcnow opens as a full-screen terminal application (full-screen style): a continuously-animated wordmark, a scrollable transcript, a live status line, and a pinned❯composer showingmodel · mode. Shift+Tab cycles mode, Esc interrupts, PageUp/Down scrolls.dgc --classickeeps the inline REPL.
New in 0.6.0
- A new look: monochrome black-and-white with a single purple accent, an animated startup wordmark, per-tool icons, a line-numbered diff renderer, a context-usage bar, a
❯composer showingmodel · mode, and/theme(dark|light) +/context.
New in 0.5.2
- A live
working…spinner + a· doneend-of-turn marker (you always know if it's running, finished, or waiting on you);/modeand/thinknow persist across restarts; and folders under $HOME are their own project (no longer rooted at $HOME).
New in 0.5.1
- A cleaner CLI look: decision prompts (permission / plan / pick-an-option) now use the arrow-key menu (bold-white heading, muted secondary), a width-responsive banner, flat tool output, and brand-tinted
/help.
New in 0.5.0
- Sub-agents on their own model + host — the
tasktool delegates to a fresh sub-agent that can run on a different machine/model than the main loop (subagent_model/subagent_base_url/subagent_api_key), plus named.dgc/agents/*.mdpersonas. New/agentsand/subagentcommands. - 10 bundled default skills — code-review, debug, deep-research, doctor, verify, batch, dataviz, loop, fewer-permission-prompts, providers — alongside your own
~/.dgc/skills/and project skills. - VS Code / Cursor extension — a native panel driving
dgc serve: controls in the prompt box, an in-panel Settings page, session resume + rewind. Install from Open VSX orhttps://vibedgc.com/vscode/. - Background bash (
bash_output/bash_kill), MCP servers (/mcp), checkpoints +/rewind, lifecycle hooks, image/vision input (@image), model fallback, custom slash-commands (.dgc/commands/*.md), and an ACP adapter (dgc acp).
Also in the box
- Works with Ollama, llama.cpp, LM Studio, vLLM and any OpenAI-compatible cloud (OpenAI, OpenRouter, Groq, DeepSeek, Together, Mistral)
- Four permission modes: default / acceptEdits / plan / auto (full-auto); simple rules, evaluated deny → ask → allow
- Plan mode: read-only research → approve the plan into any mode
- Thinking levels (
/think, plus think / think hard / ultrathink keywords) - Memory (DGC.md), web search (DuckDuckGo / Brave / Tavily / SearXNG), session resume, self-update (
dgc update), auto context compaction - Automatic fallback to a text tool-call protocol for local models without native tool calling
- Pure Python 3.10+, three dependencies, PolyForm Noncommercial
Site: https://vibedgc.com