Structured tools
Native-loop intent, target and result stay scannable.
A native agentic loop for local and API models, plus delegated turns through supported coding subscriptions. In your terminal and your editor.
curl -fsSL https://vibedgc.com/install.sh | bashReads, edits, runs the tests and self-corrects. Permission modes, plans, skills, hooks and a multi-agent fleet in one focused TUI.
Reconstructed from the retained DGC result for go/alphametics. The linked evidence bundle preserves scored rounds, grader and agent timings, usage totals, result hashes, and the input hash; the in-session UI steps, diff prose, and their pacing are illustrative because raw harness output is intentionally omitted.
A small fix. A complete loop.
One checklist, updated as the work moves.
Review the approach before the edits begin.
Bring the exact lines into the conversation.
Project guidance, right where you work.
Pick up the context and the pending work.
On native local/API routes: structured tools, readable diffs, goal-aware turns, permission decisions, and plan feedback. Subscription routes retain DGC's local goal record and presentation while the vendor owns its turn.
Actual extension surface · deterministic protocol fixture · real disposable-file edit and unittest run · not a live model session · real time, no speed adjustment.
Native-loop intent, target and result stay scannable.
Additions and removals remain first-class.
Local record, timer, progress, pause and cancel at hand.
Approve, revise, or keep researching on local/API routes.
Explorer, researcher and critic are first-class task specialists. In the editor they land as coloured chips — the mark swirls while they work, stills when they finish. Click a chip for that agent’s own page: duration, answer, files. Child greps stay off the parent thread. A background task can outlive the turn; the composer stays free and DGC wakes a new turn when it lands.
Identity marks · live while working · click opens the agent page
Explorer maps. Researcher writes one findings file. Critic reviews it. Worker implements.
Eight identity marks. Same face for the same id. Animate only while the agent is working.
Back, duration, the child’s tools and a FILES card. Composer stays on the parent.
A detached specialist keeps going after the turn ends. The pill stays; DGC starts a new turn when it lands.
On local/API routes during the current process, a DGC plan can open as a clean page on a private loopback port—not raw Markdown racing past your terminal. The plan text saves with the session, so you can reopen it in DGC after a restart.
NATIVE ROUTES · PRIVATE LOOPBACK PREVIEW · PLAN TEXT SAVED WITH THE SESSION
Move token and verification helpers into one package and update the callers, without changing behavior.
2 files1 file7 importsThe proposed surface stays inside the auth package and its direct callers. No migration or public API change is planned.
movecreateupdateApproval starts the implementation. The proposed definition of done requires every listed check to return a real successful exit code.
npm test -- authnpm run typecheckgit diff --checkLocal inference, direct APIs, or a subscription you already pay for. One harness and one /connect surface.
Native chat or an OpenAI-compatible local server.
DGC sends model-conversation context to the endpoint you configure. Optional integrations receive directed requests; language servers also receive queried document text.
The vendor’s binary keeps ownership of login and terms.
A model on your own machine is not a model with fewer tools. Install a plugin or connect a server and its tools join the same list as the built-ins — one route, one permission prompt, one set of hooks and redaction. The model is told what a connector brokers, so it stops calling a service unreachable that it can already read.
I’ll pull the open issues, then write the notes.
Every one of those passed the same permission prompt, redaction and hooks as a built-in.
Every entry names its licence and, separately, what DGC actually verified — often less than “it works”.
GitHub, Notion, Linear, Sentry, Supabase, Stripe. Installed is not connected, and the model is told which.
Composio, Zapier, Arcade, Make, or n8n on your own instance. Several run the request in their own cloud — DGC says so before you connect.
Stdio or remote, the 2026 protocol or the legacy handshake. Bounded frames, consent before any URL opens.
Pick the vendor in /connect. DGC passes each turn to its official CLI using that vendor account route—without configuring a separate DGC API key. Vendor plan, usage, and fee terms still apply.
Pro, Max, ChatGPT, and other supported first-party subscriptions.
Each vendor binary owns authentication, account policy, and its model/tool turn.
DGC maps the mode, retains session history, runs SessionStart/Stop hooks, and presents the vendor’s result.
A measured slice of 90 tasks across six languages. Every manifest records the same model alias, caller-declared digest, endpoint URL, hardware, and 600-second allowance per round; model weights were not independently verified.
pass@2 · axis runs 80–100%, not from zero
| Harness | Solved | pass@2 | Evidence note |
|---|---|---|---|
| goose | 86 / 90 | 95.6% | direct result rows |
| DGC | 85 / 90 | 94.4% | 0 timeouts · 121.7 s/round · 293,675 output tokens |
| pi | 85 / 90 | 94.4% | direct result rows |
| OpenCode | 80 / 90 | 88.9% | direct result rows |
| Codex CLI | 79 / 90 | 87.8% | direct result rows |
Every manifest records qwen3.8:27b-orig, the same caller-declared digest, endpoint URL, and hardware. The runner verified context size; model weights were not independently verified. The saved manifest reports DGC 0.24.0; its runner commit was not recorded, so this is labelled a measured slice rather than a release-gating league.
Method, caveats, raw-source checksums and reproducible commands live on the full benchmark page →
DGC’s bet is that the harness matters more than the model. We parse tool calls straight from the model’s text, so a local model with no function-calling API still runs the full read → edit → run → verify loop. The capability lives in the harness—not the weights.
Optional modes for data-heavy tasks, verified unattended native-model runs, and turning your own sessions into scrubbed training data.
Load a dataset once, then operate on variables without repeating it into context.
Command: /code-action onOn local/API routes, failures return to the next turn and completion waits for a real exit code. Delegated vendor turns bypass this gate.
Command: dgc --autonomous-gate "npm run check"Export heuristic-filtered sessions as bounded, credential-scrubbed JSONL; review them before training.
Command: dgc export-training --successful-onlyEach turn DGC runs opens a recovery point—the exact conversation and the pre-edit bytes of every file the edit tools touch, saved before the tool runs. Rewind restores both, survives resume and compaction, and refuses a file-tool edit it cannot snapshot.
Command: /rewindA second surface under the transcript. Open the file explorer, browse and pick files for the next prompt, watch the model’s edits land—the agent never stops streaming above it. And a measured estimate of when the turn will finish, so you can walk away.
I’ll read the implementation and tests, then fix the bounds.
# Clamp example Keep a value within a range. Run the tests: python3 -m unittest -v
/files · a file explorer in the loopThree columns, previews, copy/cut/paste, rename, trash with undo. Enter drops @path into your prompt; files the model changed this turn carry a mark.
A range, not a promise: ~2–4 min left with the task count beside it, from this project’s own history and the turn’s task list. /eta stats reports how often it held.
/notify · walk awayA terminal notification, an editor toast, or your Stop hook when the turn ends. Your choice.
Writes follow the permission mode and stay inside the project; nothing enters the model’s context unless you insert it. No shell, ever.
/diff opens a live view of everything the model has changed—every file with its added and removed line counts, and the diff itself—under the transcript while the turn keeps running. Select the lines you want to talk about and press Enter: they land in your next prompt as a quoted diff, so “why did you change these two lines?” quotes exactly those two lines.
I’ll inspect the bounds and make the smallest fix.
No changes yet
Changes appear here as the agent edits.
def clamp(value, lower, upper): """Keep value within the bounds."""/diff · what changed, liveGit’s own answer, read-only: the working tree against HEAD, staged and untracked files, +12 −3 per file, the whole set summed in the header. Re-read every two seconds while it is open, so edits appear as they land.
Space starts a selection, Enter attaches it as a fenced diff block with the file and line range; a takes the whole hunk. Nothing else about the file enters the model’s context.
Wide terminals show the file list and the diff together; narrow ones swap between them with Tab. J / K step through files without leaving the diff.
It never writes, stages or runs a shell command. Approving or undoing a turn stays with /review and the editor’s Changes view; /diff is for looking and asking while the work is still moving.
On native local and API routes, the model proposes while DGC orchestrates boundaries, execution, persistence, verification, and the evidence you review. Subscription routes delegate the model-and-tool turn to the vendor CLI.
/mode setsactual contractPermission modes, plan review and thinking control.
Sandbox, MCP, artifacts and lifecycle hooks.
Standing goals, sessions, rewind and project memory.
Fleet sessions, isolated sub-agents and reusable skills.