Plexmaton is an AI coding assistant for the terminal, built in Rust by App Automaton. Choose your model, follow the work, and return to saved conversations.
- Keep the work in view. Streaming answers, tool activity and approvals share a responsive workspace with expandable details.
- Choose your models. Use OpenAI Responses, Chat Completions, Anthropic Messages or Gemini APIs.
- Stay in control. Approve an action once, remember a Session or Project permission, and review or revoke it in the Drawer.
- Carry your context forward. Saved conversations and automatic compaction preserve source history. Reusable
SKILL.mdinstructions bring your workflows into the conversation. - Read comfortably. Pastel Markdown and native math with hats and Chinese labels. Reasoning and unfinished math stay compact; tool groups and messages share one consistent gap. Copy follows your selection.
Workspace render preview. Native math support.
macOS Apple Silicon is the development target. Install the pinned Rust toolchain and rg.
git clone https://github.com/appautomaton/plexmaton.git
cd plexmaton
mkdir -p .local/plexmaton
cp examples/providers.toml .local/plexmaton/config.tomlSelect your provider/model in that file, set its api_key_env variable, then launch:
PLEXMATON_HOME="$PWD/.local/plexmaton" cargo run -p plexmaton-cli --bin plexmaton/model chooses a configured model for the open conversation while idle; new/resumed conversations
use your configured default. Model selection.
Project guidance loads from PLEXMATON_HOME/AGENTS.md (default ~/.plexmaton/AGENTS.md), then
AGENTS.md from the checkout root to your working directory. Opening a conversation refreshes
this snapshot; deeper files are read through ordinary tools. Scope and limits.
UI, tools and journals are local; model requests use your configured endpoint. Commands are not OS-sandboxed. File tools stay within the workspace and refuse symlinks.
| Input | Action |
|---|---|
Ctrl-P |
Open the Drawer: configuration and permissions |
Ctrl-J, Shift-Enter, Alt-Enter |
Newline in conversation input |
Alt-↑ |
Take the most recent waiting message into the empty primary composer |
Ctrl-C |
Clear a draft or interrupt its conversation |
Ctrl-D twice within one second |
Quit |
Esc |
Back out one layer |
1–3 |
Choose an approval option while focused |
Approval: Ctrl-O / command click |
Inspect; c / ⧉ copy, Esc / × close |
$ |
Find and complete a skill |
/ |
Commands: /new, /resume, /compact, /permissions, /effort, /model |
Mouse movement and arrows share the focused menu choice. The Drawer’s bottom-center ︽ retracts it; Esc goes back one layer. Copy briefly shows ✓ Copied after local acceptance or Copy sent after terminal delivery. Rate limits offer Retry and Edit & retry.
Full key guide · Skills · Selection and copy · Optional status line
A model/history mismatch leaves available status statistics visible. The pastel example points
to /model; it does not convert incompatible history.
Conversations save on the first message; blank launches save nothing. Use --ephemeral to opt out. Exit prints a resume command. Journal epochs 2026-09-04 and 2026-09-05 remain readable without rewriting history.
One live agent is available today. Multi-agent collaboration is on the roadmap. Linux compatibility is not yet established.
Use the quality gates for local checks and CI coverage. Model fixtures stay local; private state goes in ignored .local/.
Website · GitHub · Hugging Face
pi-arcweld: a curated Pi coding workspace. webmaton: browser and web-research skills.