v0.2.1 · open source · zero telemetry

you say it.
dex ships it.

Your terminal-native coding buddy. It reads, edits, tests — you review and ship.

Your code. Your models. Your terminal. ♥

$ curl -fsSL https://raw.githubusercontent.com/sumofbytes/dex/HEAD/scripts/install.sh | sh

windows .zip & all binaries + checksums on github releases

lives in your terminal MCP-native never phones home
review PR 69 — does the input-wrap fix hold up?
◌ Thought for 3s
▸ bash git fetch origin pull/69/head:pr-69-review-tmp 2>&1 | tail -2; git show pr-69-review-tmp:src/ui/wrapping.rs | head -n 120
└ ✓ From github.com:sumofbytes/dex · 3.0s
▸ bash git worktree add /tmp/pr69-check pr-69-review-tmp 2>&1 | tail -2; cargo test --all-targets ui::wrapping 2>&1 | tail -25
└ ✓ Preparing worktree (checking out 'pr-69-review-tmp') · 1m 57s
▸ bash cargo fmt -- --check 2>&1 | head -5; cargo clippy --all-targets -- -D warnings 2>&1 | tail -5
└ ✓ fmt:0 · 51s
▸ bash grep -n "ToolOutput" ../dex/src/ui.rs ../dex/src/ui/render.rs | head -n 40
└ ✓ ../dex/src/ui.rs:97: /// `ToolOutput` can pick the preview · 17ms
▸ read 2 files
└ ✓ 2 files · 320 lines · 1ms
◌ Thought for 51s
PR 69 holds up — wrap fix is sound, fmt clean, clippy green. One nit: no lib target, so --all-targets is the way to test it. Ship it.
Worked for 3m 12s · 18.4k tokens
· session saved · /undo ready
▍

click + type — Enter sends · / for commands · try /clear or /model

// plugs into your stack

openai-compatible apisopencode zenmoonshot/kimianthropiccodex oauthany mcp serverherdr panesmodels.dev catalog

// why dex

no black box. just diffs.

Every tool call, edit, and test — out in the open. Steer it, undo it, ship it.

fast loop. tiny surface. full ctrl.

$ dex

pair in the TUI

Watch it work live. Steer mid-run, ask follow-ups, /undo oopsies, /resume anytime.

$ dex "fix the flaky test"

script it in CI

One-shot, single-tool, or raw JSON. Pipe it, cron it, CI it via $DEX_BIN.

$ dex serve · dex connect

run it anywhere

Agent stays on your big box, you chill on your laptop. Reconnects pick up where you left off.

$ read · bash · ffgrep

tiny, fenced toolset

read, write, edit, grep, find, shell. Sandboxed to your repo. Nothing sneaky, all visible.

$ dex doctor

BYO model

OpenAI, Anthropic, Codex, what's next. One knob: model:. doctor shows where each value came from.

$ dex mcp login github

plugs into MCP

GitHub + any MCP server over stdio / HTTP / SSE. Skills + AGENTS.md ride along with your repo.

// demo

prompt in. green tests out.

One prompt → searched, patched, tested. You just review the diff.

$ dex "rotate refresh tokens"
$ dex "rotate refresh tokens; kill sessions on password change"
→ ffgrep "refresh" · 23 files in src/auth/**
→ read src/auth/session.ts · src/auth/tokens.ts
1 single-use rotation in src/auth/tokens.ts
2 revoke-all on password change in src/routes/account.ts
3 verify: cargo test via bash
permission: trusted · session journaled ✓

// capabilities

sweats the boring stuff.

search, edits, models, memory — handled with care.

$ ffgrep "refrsh" → 23 files, typo forgiven

search at thought speed

Same engine as fff.nvim. Typo-tolerant, ranks definitions first. You land on the thing, not every mention.

ffgrep + fffind: same engine as fff.nvim, sandboxed to your repo.

$ edit src/auth/tokens.ts → /undo ready

edits that can't half-finish

Write → fsync → swap. Crashes never leave half-files. Changed underneath you? dex stops, never clobbers. /undo has your back.

stale file? undo tells you straight, no guessing.

$ /model anthropic/claude-sonnet · /thinking high

every model, natively

Responses, Chat Completions, Anthropic Messages — done right. Thinking stays signed, reasoning survives swaps. codex --login and go.

one knob: model:. zero protocol yoga.

$ 212k → 18k · $0.42 this session

long runs stay coherent

Full context? Older turns get summarized — free, no extra call. Overflow still? Compact once more and retry. Spend always in view.

sessions are JSONL. reconnect = right where you left off.

// open source

built in the open. yours forever.

MIT / Apache-2.0. All of it. For all of us.

  • ✓

    everything, for everyone — TUI, sessions, skills, MCP — no paywall, no seat plan. Ever.

  • ✓

    mit / apache-2.0 — Use it at work, fork it, make it yours.

  • ✓

    your keys, your data — No proxy, no collection, no phone-home. Straight to your provider.

  • ✓

    built in the open, with love — Issues are the backlog. contributing.md shows you how to jump in.

// get started

go ship something you love.

Tell dex what's broken. Grab a coffee. Come back to a tested diff.

$ curl -fsSL https://raw.githubusercontent.com/sumofbytes/dex/HEAD/scripts/install.sh | sh

or download a binary for your platform from github releases