Onclave is a Pi extension for secure LAN discovery, explicit trust, and
prompt routing between Pi sessions on trusted machines.
Note
This project expands on IndyDevDan's Pi coding agent extension work for two-way communication between agents and takes it further into secure LAN discovery, explicit machine trust, and authenticated cross-host messaging. Watch his video here: Pi coding agent extension with two-way agent communication
- starts or reuses one local machine hub per host;
- discovers peer hubs on the LAN over UDP broadcast;
- requires explicit Ed25519 trust exchange before remote access is allowed;
- routes prompts and responses over authenticated WSS connections;
- supports static peers when UDP discovery is unavailable;
- shows peer status directly in Pi with a compact widget.
Before installing dependencies in a fresh environment, run the bootstrap preflight that matches your shell:
pwsh -File ./scripts/preflight.ps1bash ./scripts/preflight.shThese bootstrap scripts check for the required repo tools (node, pnpm,
just, git) and report whether pi is available for local extension
loading.
Once bootstrap passes, you can also run the repo-aware Node check:
just preflight-repoRepository-wide environment and package standards live in:
From this repository, the happy developer path is:
bash ./scripts/preflight.sh
just setup
just check
just pi-localbash ./scripts/preflight.shchecks bootstrap tool and workspace readiness.just setupinstalls dependencies with pnpm.just checkruns typecheck and tests.just pi-localstarts Pi with./extensions/onclave-commsloaded.
For a named local session, run Pi directly:
pi -e ./extensions/onclave-comms --name host-aUse one of these install/load paths depending on what you are trying to do.
Use this while working in this repo:
bash ./scripts/preflight.sh
just setup
just pi-localEquivalent direct Pi command:
pi -e ./extensions/onclave-commsUse this to test package metadata from a local checkout:
pi install .Use this to install from a Git remote:
pi install git:git@github.com:traefikturkey/onclave.gitAfter installing from a local path or Git URL, start Pi normally and run:
onclave_status
Loading extensions/onclave-comms directly is supported when the directory
remains inside this repo checkout.
Then inside Pi:
onclave_status
onclave_agents
onclave_peers
If you want help preparing a host for manual acceptance testing:
pnpm run onclave:acceptance-host -- --host-name host-a- Development Environment - repository-wide tool, package, dependency, and preflight standards for the monorepo
- Usage Guide - quick starts, extension loading, flags, status dots, and tool examples
- Operator Guide - runtime state, trust exchange, discovery, messaging, and troubleshooting
- Manual Acceptance - step-by-step host-to-host validation flow
- Status - implementation progress and delivered scope
- Design Decisions - key v1 design choices
- onclave-comms Requirements - original communication extension requirements and success criteria
- Start Pi with
extensions/onclave-commsloaded from inside this repo checkout. - Run
onclave_statusto initialize or reuse the local hub. - Exchange
ssh-ed25519public key lines with trusted peers. - Use
onclave_peersandonclave_remote_agentsto find reachable remote sessions. - Use
onclave_sendoronclave_remote_sendto route prompts.
For the full tool reference and examples, start with docs/extensions/onclave-comms/README.md.