---
slug: "d3ara1n-pi-model-roles"
source_type: "readme"
source_url: "https://cdn.jsdelivr.net/gh/d3ara1n/pi-extensions@main/README.md"
repo: "https://github.com/d3ara1n/pi-extensions"
source_file: "README.md"
branch: "main"
---
# Pi Extensions Monorepo

A collection of small extensions for [Pi Coding Agent](https://pi.dev).

## Extensions

| Package | Description |
|---------|-------------|
| [`pi-ask-user`](https://github.com/d3ara1n/pi-extensions/tree/HEAD/packages/pi-ask-user) | Collapsible ask-user tool — panel renders in the bottom editor slot (not a screen overlay), so the transcript stays visible and scrollable above it |
| [`pi-context-include`](https://github.com/d3ara1n/pi-extensions/tree/HEAD/packages/pi-context-include) | `@path` syntax for AGENTS.md — include files by reference |
| [`pi-provider-agnes`](https://github.com/d3ara1n/pi-extensions/tree/HEAD/packages/pi-provider-agnes) | Agnes AI provider — token-billing + token-plan variants sharing the same text models |
| [`pi-provider-sensenova`](https://github.com/d3ara1n/pi-extensions/tree/HEAD/packages/pi-provider-sensenova) | SenseNova (商汤日日新) Token Plan provider — chat models via OpenAI-compatible API |
| [`pi-usage-block`](https://github.com/d3ara1n/pi-extensions/tree/HEAD/packages/pi-usage-block) | Usage quota status block for powerline and pi-editor-shell |
| [`pi-editor-shell`](https://github.com/d3ara1n/pi-extensions/tree/HEAD/packages/pi-editor-shell) | Unified rounded-corner editor shell — embeds model, context, cache, git, and pinned extension status info in the editor border |
| [`pi-scout`](https://github.com/d3ara1n/pi-extensions/tree/HEAD/packages/pi-scout) <sup>†</sup> | Per-turn side agent — lazy skill injection, automatic model routing, and trivial-ack short-circuit (skips the side model on `好的`/`ok`/`はい`) |
| [`pi-subagent`](https://github.com/d3ara1n/pi-extensions/tree/HEAD/packages/pi-subagent) <sup>†</sup> | Role-based subagent orchestration — delegates tasks to specialized pi child processes with real-time TUI progress |
| [`pi-model-roles`](https://github.com/d3ara1n/pi-extensions/tree/HEAD/packages/pi-model-roles) | Named model role definitions with resolution to Model instances |
| [`pi-command-palette`](https://github.com/d3ara1n/pi-extensions/tree/HEAD/packages/pi-command-palette) | Global command palette — Ctrl+Shift+P to search and run commands from anywhere |
| [`pi-session-namer`](https://github.com/d3ara1n/pi-extensions/tree/HEAD/packages/pi-session-namer) <sup>†</sup> | Auto-name sessions using a cheap side agent |
| [`pi-access-denied`](https://github.com/d3ara1n/pi-extensions/tree/HEAD/packages/pi-access-denied) | Sandbox `write`/`edit`/`bash` to the project dir — prompt / deny / allow modes with per-session allow-deny memory |
| [`pi-peek`](https://github.com/d3ara1n/pi-extensions/tree/HEAD/packages/pi-peek) <sup>†</sup> | Core consult engine — hooks that track the main agent's turns and power the utility-model investigate backend; consumed by `pi-peek-user` and `pi-peek-agent` |
| [`pi-peek-user`](https://github.com/d3ara1n/pi-extensions/tree/HEAD/packages/pi-peek-user) <sup>‡</sup> | `/peek` overlay — ask your own session a question via the utility model, read-after-burn (never disturbs the main agent) |
| [`pi-peek-agent`](https://github.com/d3ara1n/pi-extensions/tree/HEAD/packages/pi-peek-agent) <sup>‡</sup> | Cross-instance peek — `peek`/`peek_list` tools over a zero-dep Unix domain socket mesh; ask another pi instance without disturbing it |

> <sup>†</sup> Requires [`pi-model-roles`](https://github.com/d3ara1n/pi-extensions/tree/HEAD/packages/pi-model-roles) installed; <sup>‡</sup> Requires [`pi-peek`](https://github.com/d3ara1n/pi-extensions/tree/HEAD/packages/pi-peek) installed (which itself requires [`pi-model-roles`](https://github.com/d3ara1n/pi-extensions/tree/HEAD/packages/pi-model-roles))

## Libraries

Pure npm packages — no `pi.extensions` entry point, no hooks/tools/commands. Import them in your own plugins.

| Package | Description |
|---------|-------------|
| [`pi-usage-block-core`](https://github.com/d3ara1n/pi-extensions/tree/HEAD/packages/pi-usage-block-core) | Shared types and singleton registry for usage quota reporting |

## Installation

```bash
pi install npm:@d3ara1n/pi-context-include
```

## Development

```bash
npm install
```

## Publish

Fully automated via GitHub Actions on push to `main`.

Uses [Conventional Commits](https://www.conventionalcommits.org/):

| Commit | Version bump |
|--------|-------------|
| `feat(<scope>): ...` | minor |
| `fix(<scope>): ...` | patch |
| `feat(<scope>)!: ...` or `BREAKING CHANGE:` | major |
| `chore:`, `docs:`, `refactor:` | no publish |

Scope must match the package directory name (e.g. `pi-context-include`).
