who are you?
Pairwit
Open a project. Ask. Keep moving.
A calm terminal desk — chat, files, and editor in one place. One install, Plan when you want to think, Build when you’re ready. Approvals stay optional.
pip install pairwit && pairwit
What Pairwit is — and isn’t
Identity is clearer when you name the edges.
Is
- A desk-native coding agent for the terminal
- Plan / Build modes so analysis doesn’t mutate by accident
- Approvals for bash, write, and edit — Once, Session, or Always
- An in-app editor, file tree, diffs, and session resume
- Multi-provider by design (Moonshot, OpenAI, Anthropic, Ollama, …)
Isn’t
- Not a full IDE replacement or monorepo platform
- Not an always-on cloud agent watching your machine
- Not a 75-provider OAuth supermarket on day one
- Not “Pi, but Python” — batteries and consent, not an extension mall
- Not silent about side effects — mutators ask first
How to use
Interactive desk scenes styled from the real Pairwit TUI (chat cards + Files/Editor layout).
$ pip install pairwit && pairwit
Successfully installed pairwit
Launching desk…
The coding agent is online.
One liner from your project root: pip install pairwit && pairwit
The coding agent is online.
Ask anything · @ file · Tab Plan/Build · /model /provider /sessions /help · Esc cancel · Ctrl+P palette
I’m Pairwit, a lightweight coding agent designed to help you with software development tasks. I can:
- Read and edit files in your project
- Run shell commands
- Search documentation
- Help with code reviews and debugging
↑ 1,750 sent · ↓ 90 received · 1,840 total · 3.8s · $0.0020
Default desk: transcript cards, copy chips, token/cost strip, prompt bar.
Type @ to mention files · Tab for Plan/Build.
The coding agent is online.
Drag the ┊ grips between Files, Editor, and Chat — same as the live desk.
Double-click a grip to reset. Header Files / Editor toggles panes.
PAIRWIT · SECURITY GATE
Approve this action to continue
Write file · write_file
pairwit/ai/types.py
Creates or overwrites a file on disk.
Try a choice — keys 1 2 3 n work in-app.
Mutators pause until you decide. Persist rules in .pairwit.permissions.
Use cases
Where Pairwit earns its keep.
-
Refactor with a leash
Plan the change, review the proposal, switch to Build only when you’re ready.
-
Local repo companion
Explore with the file tree, open buffers, add selections to chat, keep context on disk via sessions.
-
Safer shell help
Let it draft commands and patches — then decide before anything mutates.
-
Bring your own model
Moonshot by default; swap providers without leaving the TUI.
The journey
Astro → Greywit → Torso → Pairwit. Same agent, sharper name.
-
Astro
Early prototype name while the Textual desk agent took shape.
-
Greywit
Grey + wit — kimicode-aligned, briefly the public brand candidate.
-
Torso
Where Plan mode, consent gates, editor, and sessions really landed.
-
Pairwit
Locked brand. pairwit.dev, PyPI, and GitHub under one name — pair + wit.
Design philosophy
Opinions you can feel in the product.
Consent when you want it. Approvals are optional — turn them on when a leash helps; keep moving when it doesn’t.
Desk-native, not dashboard-native. A calm light TUI — cream canvas, clear hierarchy, cost and session stats without visual noise.
Batteries included. Editor, tree, diffs, Plan/Build, sessions — not a blank harness that expects a plugin ecosystem on day one.
Extensible without rewriting the loop. Layers for AI, agent, tools, domain, and TUI so new surfaces can subscribe later instead of forking the core.