agent utilsPi package

reference

Reference

Installing, configuring and testing Agent Utils. The long-form guides for each extension live in the repository's docs/.

Install

The Pi package installs every extension, prompt template and theme at a tagged release:

pi install git:github.com/harryaskham/agent-utils@v1

The standalone tools are flake packages:

nix build .#ag              # fleet speech, images, audio, questions and healthnix build .#pi-session      # fork sessions between machinesnix build .#skill-search    # skill and MCP discovery (also skill-server)nix build .#durable-extensions  # speech and media modules for pi-daemon sessions

The 41 extensions

FamilyExtensions
speechread-aloud tts-narration tts-queue audio-providers realtime-agent force-agent-speech audio-reel pipe
screenskitty-image-preview shared-images image-413-recovery pi-graphics editor-chips tendril-share macos-native android xvfb firecracker-vm
sessionschoice omni-input ring-input herdr-input-state compaction-continue-guard compact-next self-compact endless after session-fork scrub git-behind-warning copilot-auth-refresh copilot-model-identity pi-self-update effort m nix-devshell cacophony-runtime cacophony-mcp
workweb-search app-automation slack-mcp

Settings

Agent Utils reads its own subtree of Pi's settings.json and never rewrites Pi's or other packages' settings.

KeyConfigures
agentUtils.audio.providersNamed speech providers for every voice surface
selfModelSelection.modelsWhich models agents may switch to themselves
agentUtils.cacophony.autoRegisterWhether unmanaged sessions register with the agent orchestrator
agentUtils.globalShellExpansion.enabledTyped special forms resolved in memory at start-up
piSelfUpdateOpt-in package auto-update at start-up, and reload after it

Environment

VariableUsed for
PI_TTS_QUEUE_DIRThe machine-wide speech spool
PI_AGENT_UTILS_STATE_DIR, PI_TTS_MUTE_PATHDurable archives and the speech mute policy
PI_AUTO_UPDATE_ON_STARTUP, PI_AUTO_RELOAD_AFTER_UPDATE, PI_OFFLINEStart-up updates
DISABLE_PI_CACOTurn off every orchestrator integration
PI_DISABLE_AHPTurn off Agent Host Protocol integration
WEB_SEARCH_MODEL, WEB_SEARCH_MAX_OUTPUT_TOKENS, WEB_SEARCH_*Web search model, limits, proxy and token sources
AG_CONFIGThe ag configuration file

Working with a session host

Every extension must work on its own. When the Paratenic session host is present, portable features are also offered to its remote clients through the Agent Host Protocol, under a few rules:

Testing

npm test                 # 179 test files on Node's built-in runner, no frameworksnpm run check            # lint workflows and validate this sitecargo test               # the Rust cratesnpm run test:choice-ui   # real-terminal checks of the choice interface

Extensions keep their Pi, process and terminal surfaces thin and put logic in pure modules that tests import directly. Slow or environment-dependent checks, such as a real kitty preview reload or a model-restore process, are opt-in behind environment variables.

This site is built from site/ by scripts/site/build.py and checked by scripts/check-site.py.