Skip to main content

Pairwit mechanical cat mascot

Pairwit

The coding agent that asks before it acts.

A calm terminal desk — Plan when you think, Build when you’re ready.
Writes and bash pause for Once · Session · Always · Deny.

pairwit.dev · Guide · PyPI · GitHub

PyPI version Python versions License


Install

macOS / Linux

pip install -U pairwit && pairwit

Windows

py -m pip install -U pairwit && py -m pairwit

Public alpha — APIs and UX may change. Feedback welcome.

On first launch, Pairwit opens a guided setup: provider → API key → model → connection check. Keys are saved to ~/.pairwit/.env.


Why Pairwit

Consent-first Mutating tools ask by default. Remember Once / Session / Always in .pairwit.permissions.
Plan / Build Plan to reason read-only; Tab into Build when you’re ready to change files.
One desk Chat, Files, Editor, and /schedule in a local Textual TUI — not a cloud watcher.
Your models Moonshot (Kimi), OpenAI, Anthropic, OpenRouter, DeepSeek, Ollama, and custom OpenAI-compatible endpoints.

What it is — and isn’t

  • Is: a consent-first coding agent for your terminal
  • Is: Plan/Build, approvals, sessions, /schedule
  • Isn’t: a full IDE or silent autopilot

Quick start

cd your-project
pairwit

Then ask anything. Attach with Ctrl+O, mention a file with @, switch Plan/Build with Tab.

Project rules live in .pairwit.md. Home config: ~/.pairwit/.


From a checkout

pip install -e .
pairwit
# or
python -m pairwit
pairwit/           # Python package
  ai/              # providers / streaming
  agent/           # coding loop + events
  tools/           # builtins + MCP
  domain/          # sessions, permissions, prompts
  tui/             # Textual app + theme + widgets/
  core.py          # attachments / mentions
docs/              # product docs
site/              # pairwit.dev (Cloudflare Pages)

Formerly Torso (and before that Greywit / Astro).


License

MIT — see the repo for details.

Metadata

Release files for pairwit 0.0.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pairwit 0.0.10
File Size Uploaded
pairwit-0.0.10.tar.gz 102.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pairwit 0.0.10
File Interpreter ABI Platform
pairwit-0.0.10-py3-none-any.whl Python 3 none any Details

Total release size: 227.6 kB

Release files / pairwit-0.0.10.tar.gz

Download URL pairwit-0.0.10.tar.gz
Size 102.4 kB
Tags Source
SHA-256 checksum
How to use checksums
1d5fd27e315115933480c590bbdd2890efc9700a4afc66ffb5fc7d8e567256e6
BLAKE2b-256 checksum
How to use checksums
839c64a1aadf626bfa1550cfc41f5619c9be88e1be03c74debd94e64145d6d77
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.4

Release files / pairwit-0.0.10-py3-none-any.whl

Download URL pairwit-0.0.10-py3-none-any.whl
Size 125.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fb09d580a4c59be3ea36a184973d377c3dafd72e467e8e0d85e79c87a5ef9af0
BLAKE2b-256 checksum
How to use checksums
85b9c110a9e13937457f7501125442d7e98d64e80c9b4d0f1c8e5f33cf50a69a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.4

Release history Release notifications | RSS feed

0.0.14

2 release files

0.0.13

2 release files

0.0.12

2 release files

0.0.11

2 release files

This release

0.0.10 This release

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page