58 lines
2.6 KiB
Markdown

# monotonic-pi-extensions
Experimental monorepo for [Pi coding agent](https://github.com/mariozechner/pi-coding-agent) extensions.
## Extensions
### `pi-turn-limit`
Limits the number of turns (agent round-trips) in a Pi session. When the limit is reached, the user is prompted to continue or abort. Use when you want to be in-the-loop, or when a model misbehaves and does too many tool calls. It is a good way to control the *Time To Next Interaction*.
- **Default limit:** 25 turns
- **Override:** set `PI_MAX_TURNS` environment variable to a positive integer
- **Unlimited:** set `PI_MAX_TURNS=unlimited` or run the `turn-limit unlimited` command to disable the boundary check entirely (the counter still increments for observability)
- **Re-enable:** switch from unlimited back to a number via `turn-limit <N>`; the counter resets to 0
See [packages/pi-turn-limit/README.md](packages/pi-turn-limit/README.md) for details and the [Allium spec](packages/pi-turn-limit/turn-limit.allium).
### `pi-notifications`
Audio alerts via `afplay` when the agent finishes a turn. Run the agent and step away — you'll hear when input is needed. No multi-tasking required, but it gives you the breathing room to stretch, grab a coffee, or write something down without staring at the screen.
- **Config:** `PI_NOTIFICATION_ENABLED`, `PI_NOTIFICATION_AGENT_END`, `PI_NOTIFICATION_AUDIO` (defaults to macOS Glass sound)
- **Platform:** macOS (uses `afplay`)
See [packages/pi-notifications/README.md](packages/pi-notifications/README.md) for details.
### `pi-llm-performance`
Captures and displays LLM inference performance metrics (TTFT, prefill/generation throughput, combined speed) after each prompt. Lets you benchmark shiny new local inference server optimizations at a glance — no need to dig through different server logs.
- **Output:** TUI notification + status bar (`📊 tok/s`) + JSONL log at `.pi/llm-metrics.log`
- **Sanity checks:** Warns when generation speed exceeds 500 tok/s (physically impossible)
See [packages/pi-llm-performance/README.md](packages/pi-llm-performance/README.md) for details.
## Installation
This is an early release — not on npm yet. To install from source:
```bash
# Clone the repo
git clone <repo-url>
cd pi-extensions
# Install dependencies
pnpm install
# Link the extension (or reference it directly in your Pi config)
```
Starting pi in this repository will load the turn-limit extension. Make sure you sandbox it properly, e.g. with 'nono', Docker or a VM. Extensions have not been security checked etc.
## Repository Status
**Experimental.** APIs and behavior may change without notice. Feedback welcome.