@bacnh85/pi-munin
Pi extension that provides native Munin long-term memory tools through direct SDK integration.
Package details
Install @bacnh85/pi-munin from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@bacnh85/pi-munin- Package
@bacnh85/pi-munin- Version
0.5.0- Published
- Aug 1, 2026
- Downloads
- 2,268/mo · 396/wk
- Author
- bacnh85
- License
- MIT
- Types
- extension, skill
- Size
- 44.3 KB
- Dependencies
- 2 dependencies · 2 peers
Pi manifest JSON
{
"extensions": [
"./extensions/index.ts"
],
"skills": [
"./skills"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
@bacnh85/pi-munin
Pi extension that exposes Munin long-term memory as native Pi tools.
Install
pi install npm:@bacnh85/pi-munin
Configuration
MUNIN_API_KEY(required)MUNIN_PROJECT(required)MUNIN_BASE_URL(optional, defaults tohttps://munin.kalera.ai)
Configuration precedence is explicit tool parameters, process environment, trusted project .env.local/.env, then Pi-global .env.local/.env. Project env files are read only when ctx.isProjectTrusted() is true. Env files are parsed without mutating process.env; .env.local wins over .env at each location.
The Pi global config directory honors $PI_CODING_AGENT_DIR when set; otherwise the extension checks ~/.pi/agent and legacy ~/.pi/agents. Base URLs must be HTTP(S), cannot contain credentials, and a tool-level base_url override requires a tool-level api_key so ambient credentials are never sent to a model-selected endpoint.
Always-on Memory Protocol
When Munin is configured, pi-munin injects the condensed always-on Memory Protocol (Before acting / What to store / Memory shape / Lifecycle and safety) into the system prompt via a before_agent_start hook. This travels with the package — no edits to ~/.pi/agent/AGENTS.md are required — and carries zero overhead when pi-munin is not loaded. The full deep reference is in skills/munin/SKILL.md.
Tools
munin_search— search memories.munin_get— retrieve one memory by key.munin_store— store verified durable knowledge.munin_list— list stored memories.munin_recent— list recently updated memories.munin_delete— delete a memory after interactive confirmation.munin_capabilities— inspect server capabilities.munin_share— share memories with other projects after interactive confirmation.
Delete and share safely cancel in non-interactive modes, where Pi cannot obtain confirmation.
Notes
- Treat retrieved memories as leads, not authority. Verify against current repository evidence before relying on them.
- Never store secrets, credentials, tokens, private keys, or sensitive connection strings.
@kalera/munin-sdk@1.5.0exposes no client-side encryption-key or crypto-helper API. This extension does not implement or claim client-side E2EE; use a future official SDK integration when one is available.
Changelog
See CHANGELOG.md for release history.
Troubleshooting
- Missing SDK dependency (
Cannot find module '@kalera/munin-sdk'): when using this repository as a local Pi extension, install runtime dependencies withnpm install --prefix pi-munin, then restart Pi or run/reload. - Missing credentials: run
/munin-statusor setMUNIN_API_KEYandMUNIN_PROJECT. - Auth, validation, feature, rate-limit, network, timeout, and stale-protocol errors are surfaced as typed tool errors.
- Transient network, timeout, and rate-limit failures are retried automatically with exponential backoff (3 retries).