omni-pi
v0.7.0
Published
Single-agent Pi package that interviews the user, documents the spec, and implements work in bounded slices.
Maintainers
Readme
Omni-Pi
A batteries-included Pi package that interviews the user, documents the spec, and implements work in bounded slices.
Requires Node.js 22 or newer.
What It Does
- One conversational brain interviews the user until the request is precise.
- Writes specs, tasks, and progress into
.omni/as durable project memory. - Breaks work into small, verifiable slices and implements them one at a time.
- Bundles web search, guided interviews, themed UI, native micro-UI via Glimpse, a task viewer, a powerbar, custom provider/model management, and automatic updates out of the box.
Install
npm install -g omni-piThen run it in any project:
cd your-project
omniCustom provider setup and bundled provider behavior are documented in PROVIDERS.md.
Features
Bundled Extensions
| Extension | What it does |
|-----------|-------------|
| omni-core | Brain workflow, themed header, session init, system prompt injection |
| omni-providers | Model provider wiring |
| omni-memory | .omni/ durable memory bootstrap |
| glimpseui | Native micro-UI windows and the optional floating companion widget |
| pi-web-access | Web search and fetch tools for the agent |
| pi-interview | Guided Q&A when the agent needs clarification |
| pi-powerbar | Powerline-style status bar with segments |
| pi-extension-settings | Settings persistence for extensions |
Native Micro-UI
Omni-Pi now bundles Glimpse for native micro-UI windows:
- the bundled
glimpseskill lets the agent open native dialogs, forms, previews, and other rich UI when a task benefits from it - the
/companioncommand toggles an optional floating status pill that follows the cursor and reflects live agent activity - the companion is optional; Glimpse-backed windows remain available even when the floating widget is disabled
Commands
| Command | Description |
|---------|-------------|
| /model-setup | Add custom providers/models or remove custom model entries |
| /manage-providers | Remove stored auth for bundled providers |
| /companion | Toggle the Glimpse floating companion widget |
| /theme | Switch between color presets (lavender, ember, ocean, mint, rose, gold, arctic, neon, copper, slate) |
| /update | Check for Omni-Pi updates |
Keyboard Shortcuts
| Shortcut | Description |
|----------|-------------|
| Ctrl+Shift+T | Toggle the task list widget (.omni/TASKS.md + .omni/STATE.md) |
Auto-Updater
Omni-Pi checks for new versions on startup (cached, re-checks every 4 hours). When an update is available, it prompts to install and restart. Pi's own update notification is suppressed to avoid duplication.
Provider Support
/model-setup is for custom providers and custom model entries only.
Use it when you want to configure:
- a custom provider id
- an API type and base URL
- an API key for that custom provider
- discovered models or manual model entries
Use /manage-providers to remove stored auth for bundled Pi providers.
See PROVIDERS.md for the current supported-provider list and auth-management split.
Durable Memory
Omni-Pi keeps its working notes in .omni/:
| File | Purpose |
|------|---------|
| PROJECT.md | Problem, users, constraints, success criteria |
| SPEC.md | Exact requested behavior and implementation shape |
| TASKS.md | Work broken into bounded slices |
| TESTS.md | Checks for the current slice |
| STATE.md | Current phase, active task, blockers |
| SESSION-SUMMARY.md | Progress notes across sessions |
| DECISIONS.md | Rationale for key choices |
Development
git clone https://github.com/EdGy2k/Omni-Pi.git
cd Omni-Pi
npm install
npm run chat # launch locally in dev mode| Command | Purpose |
|---------|---------|
| npm run chat | Launch the local omni executable |
| npm test | Run the test suite (Vitest) |
| npm run check | TypeScript type-check |
| npm run lint | Biome lint + format check |
| npm run verify | Full local/CI gate: type-check, lint, test, and package dry-run |
| npm run format | Auto-fix lint and formatting |
| npm install -g . | Install globally from local checkout |
CI/CD
- Pull requests and pushes to
mainrunnpm run verify. - The docs are part of the test contract, including a sync check between
PROVIDERS.mdand the bundled-provider setup list in code. - Pushing a
v*tag runs the release workflow, verifies the repo again, publishes to npm through GitHub Actions trusted publishing with provenance, and then creates the GitHub release. - Trusted publishing still requires npm-side setup for this repository/workflow in the npm package settings.
Attribution
Omni-Pi builds on the Pi ecosystem. See CREDITS.md.
License
MIT. See LICENSE.
