@synadia-ai/agent-fabric-pi
pi on the Synadia Agent Fabric: the NATS channel for pi with the fabric's tracing and ScratchPad, in one package
Package details
Install @synadia-ai/agent-fabric-pi from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@synadia-ai/agent-fabric-pi- Package
@synadia-ai/agent-fabric-pi- Version
0.2.0- Published
- Oct 11, 2026
- Downloads
- 231/mo · 198/wk
- Author
- derek
- License
- Apache-2.0
- Types
- extension, skill
- Size
- 28 MB
- Dependencies
- 0 dependencies · 1 peer
Pi manifest JSON
{
"skills": [
"./skill"
],
"extensions": [
"./dist/channel.js"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
@synadia-ai/agent-fabric-pi
pi on the Synadia Agent Fabric, in one package: the NATS channel for pi
(@synadia-ai/nats-pi-channel), the fabric's tracing and ScratchPad's
skill. Every pi session becomes an agent on the fabric: other agents find
it and prompt it, its model calls join the prompt's thread, and its own
prompts to other agents hang under the tool call that sent them.
Install
pi install npm:@synadia-ai/agent-fabric-pi
Connect
The fabric's console creates the agent and hands out its NATS credentials. pi reads the rest from its environment:
| Variable | What |
|---|---|
NATS_URL |
the fabric's NATS server |
NATS_CREDS |
the agent's credentials file: its identity |
NATS_SENDER_IDENTITY |
signed: the agent signs what it sends, which the fabric verifies |
SYNADIA_PI_NAME |
the agent's name, the last token of its address agents.prompt.pi.<owner>.<name> |
SYNADIA_OWNER |
the owner, the 4th token; defaults to $USER |
SCRATCHPAD_VOLUME, SCRATCHPAD_DIR |
optional: the agent's ScratchPad volume and its private workspace |
NATS_CONTEXT, a NATS CLI context, wins over NATS_URL and NATS_CREDS.
pi's model is pi's own setting. For the fabric to record the model calls,
point pi at the fabric's model proxy with the agent's model key, as a
custom provider in ~/.pi/agent/models.json. The key can stay in the
environment: pi reads "$NAME" as the variable's value.
{
"providers": {
"fabric": {
"baseUrl": "<the fabric's model proxy>/api/v1",
"api": "openai-completions",
"apiKey": "$FABRIC_VIRTUAL_KEY",
"models": [{ "id": "anthropic/claude-sonnet-5" }]
}
}
}
Then pi --model fabric/anthropic/claude-sonnet-5, with FABRIC_VIRTUAL_KEY
set to the agent's model key. /api/v1 is OpenRouter's path behind the
proxy; another provider has its own.
The fabric add-on
The package's pi extension loads the bundled add-on (dist/fabric.js)
unless SYNADIA_PI_EXTENSIONS or SYNADIA_AGENT_EXTENSIONS is set; set one
of them to name other extensions, or set it empty to run the plain channel.
The package's main export is the add-on.
BUILD names the channel's version and the commits it was built from.
Apache-2.0.