2026-10-11 16:37 UTC

Prux releases a minimal terminal coding agent in Rust with extension system, session management, and multi-provider support — a lightweight alternative to heavyweight coding-agent harnesses.

state: seedheat: lowuncertainty: mediumnovelscott: lowcoding-agent terminal-harness lightweight-agent agent-harnessesheng30

What is this?

The web results do not mention a project called 'Prux'. They extensively cover 'Pi' (pi.dev), a minimal terminal coding agent in Rust by Mario Zechner (creator of libGDX) and Armin Ronacher (creator of Flask), now under Earendil Inc. Pi features a minimal core (~418 lines), tree-structured sessions, 15+ provider support, an extension system, and MIT licensing. A GitHub repo 'Dicklesworthstone/pi_agent_rust' appears to be a Rust rewrite of Pi with SQLite session storage. The case's evidence titles claim Prux is a 'rewrite of pi-coding-agent', but the web snippets provide no independent confirmation of a separate 'Prux' release.

Why it matters to Scott

Grounding finds no evidence of a 'Prux' release by 'heng30' — the described project matches Pi (pi.dev) by Mario Zechner and Armin Ronacher, or the Dicklesworthstone/pi_agent_rust rewrite. The case as filed is a phantom. Even if real, a minimal Rust terminal agent with extensions/sessions/multi-provider is merely another example of the pattern Scott already builds (ask) and theorizes (code-first, Markdown OS, micro-agents) — it does not challenge, extend, or affect his active work.
dev:project.askip:framework.code-first-architectureip:framework.markdown-osdev:technology.litellmradar:concept.agent-harnessesradar:concept.coding-agent-harnessesradar:ante-self-organizing-terminal-agentradar:49-ide-agent-fleet-workspace
queries asked of Scott's wikis
  • agent-harnesses minimal-core philosophy
  • terminal coding agent extension systems
  • multi-provider routing architecture
  • session management tree-structured JSONL
  • Rust CLI agent performance vs TypeScript
  • open-weights model sovereignty local inference

Measured heat

now 0 pts/hpeak 1 pts/hcomments 0/hpeers p16momentum: steady2 platformsage 56h
points/hour across evidence · reading as of 2026-10-12 02:59:37.977291+11:00 · deterministic, not a model opinion

How the heat travelled

10-09 10:32 (minted)⭐ origin echo-reconstructedMinimal terminal coding agent in Rust with extension system, session management, multi-provider support, rewrite of pi-coding-agent.
heng30 on github (echo) · attributed from hn.story.50017597 · published time unknown
—
10-09 08:21first on hacker news · published · lag ?Prux is a minimal terminal coding agent
heng30
—
10-09 08:21amplified on hacker news 👑hn.story.50017597
heng30
peak 1 · 0 comments · 106% of case engagement
10-09 09:28our radar first saw it · lag ?discovery anchor: hn.story.50017597—
pace: p10 vs 1204 stories at the 48h mark (now 56h old) — behind 3jsbench-llm-3d-generation-benchmark (0.5x)

Evidence (2) — ⭐ canonical anchor

sourceobjectauthorscorecomments
🟧 hnPrux is a minimal terminal coding agent
Retrieved article excerpt

Open article · Retrieved 2026-10-09T09:41:35.758004+00:00

[prux coding agent](https://raw.githubusercontent.com/heng30/prux/main/icon.png)

**A minimal terminal coding agent**

[Release](https://github.com/heng30/prux/releases)
[License](https://github.com/heng30/prux/blob/main/LICENSE)
[Platform](https://github.com/heng30/prux/blob/main/Platform)
[Rust 2024](https://doc.rust-lang.org/edition-guide/rust-2024/)
[Stars](https://github.com/heng30/prux/blob/main/Stars)

[English](https://github.com/heng30/prux/blob/main/README.md) | [简体中文](https://github.com/heng30/prux/blob/main/README.zh-CN.md)

> ⚠️NOTE: So far only `opencode-go` and `deepseek` have been tested.

## Introduction

`prux` is a minimal terminal coding agent. The core stays small and focused, and its capabilities are extended through extensions, skills, prompt templates, themes, and customizable keybindings. It is a Rust rewrite of [@earendil-works/pi-coding-agent](https://github.com/earendil-works/pi), staying aligned with upstream in behavior and wording for the most part.

[image demo](https://raw.githubusercontent.com/heng30/prux/main/screenshot/image.gif)

[code demo](https://raw.githubusercontent.com/heng30/prux/main/screenshot/code.gif)

## Features

- **Interactive TUI**: a full-screen terminal interface with themes and customizable keybindings. Requires stdin/stdout to be a TTY.
- **Built-in tools**: `read` / `bash` / `edit` / `write` / `grep` / `find` / `ls`, covering common coding tasks.
- **Multiple providers**: supports API providers such as Anthropic, OpenAI, and DeepSeek, with custom and virtual model routing.
- **Session management**: session persistence, `/resume` restoration, forking, and tree navigation.
- **Context compaction**: `/compact` compacts long contexts, with branch summaries.
- **Extension system**: implement the `Extension` trait in Rust to provide tools, commands, keybindings, CLI flags, and event hooks.
- **Built-in extensions**: MCP, subagents, codemode (QuickJS sandbox orchestration), skills, scheduled tasks, plan mode, and more.

## Installation and build

Install the released binary from crates.io (requires a Rust toolchain):

```
cargo install prux
```

Or build from source:

```
cargo build --release
./target/release/prux --version
```

Common commands:

```
make          # cargo build --release
make build    # compile only (debug)
make debug    # cargo run
make check    # cargo check
cargo test    # full test suite
cargo clippy  # static checks
```

## Quick start

```
cd /path/to/project
prux
```

On the first run, configure a provider with `/login` inside the TUI, or set the environment variable before launching:

```
export ANTHROPIC_API_KEY=sk-ant-...
prux
```

Settings are written to `~/.prux/` (the agent directory, overridable with `$PRUX_AGENT_DIR`): credentials in `auth.json`, global settings in `settings.json`, and so on.

## Non-TUI entry points

Besides conversational mode, the following commands do not require a TTY:

- `prux auth`: credential management
- `prux mcp`: MCP server management
- `prux --export`: export a session as HTML
- `prux --list-models`: list available models

## Documentation

The complete documentation is written in Chinese and lives in [`assets/docs/`](https://github.com/heng30/prux/blob/main/assets/docs). It is embedded at compile time and synced to the agent directory at runtime. Start at [`assets/docs/index.md`](https://github.com/heng30/prux/blob/main/assets/docs/index.md), and see [`assets/docs/quickstart.md`](https://github.com/heng30/prux/blob/main/assets/docs/quickstart.md) to get up and running.

## Contributing from source

Development conventions, module layering, and build details are in [`AGENTS.md`](https://github.com/heng30/prux/blob/main/AGENTS.md). The upstream alignment cadence is recorded in `sync.md` and [`migrations/`](https://github.com/heng30/prux/blob/main/migrations).

### Troubleshooting

Windows limitations: under `Git Bash` on Windows, prux goes through the legacy console API used by `crossterm`, which implements neither the kitty keyboard protocol nor bracketed paste. `Shift+Enter` therefore cannot be told apart from a plain `Enter` (use `Ctrl+J` to insert a newline), and pasted text arrives as ordinary keystrokes, so a multi-line paste may be submitted line by line. Running inside Windows Terminal (ANSI/VT support) is recommended.

## License

MIT, see [`LICENSE`](https://github.com/heng30/prux/blob/main/LICENSE).
heng3010
🟧 echo.github ⭐Minimal terminal coding agent in Rust with extension system, session management, multi-provider support, rewrite of pi-coding-agent.heng30——

Interpretation history

Decision trace