@liuscraft/pi-remote
Serve pi sessions to a remote Pi Desktop: run /remote start in a plain pi, then connect from Pi Desktop on another machine.
Package details
Install @liuscraft/pi-remote from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@liuscraft/pi-remote- Package
@liuscraft/pi-remote- Version
0.1.8- Published
- Oct 30, 2026
- Downloads
- 257/mo · 257/wk
- Author
- liuscraft
- License
- MIT
- Types
- extension
- Size
- 694.2 KB
- Dependencies
- 0 dependencies · 3 peers
Pi manifest JSON
{
"extensions": [
"./index.js"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-remote
A pi extension that serves pi sessions to a remote Pi Desktop. Install it on a machine that has only the pi CLI; control it from Pi Desktop on another machine.
pi install npm:@liuscraft/pi-remote # from a checkout: pi install /path/to/pi-desktop/plugin/pi-remote
In pi:
| Command | |
|---|---|
/remote start [--lan] [--port N] |
Start serving (default 127.0.0.1:7431). --lan listens on every interface. |
/remote status |
Address, token and number of connected clients. |
/remote token / rotate |
Show the access token / replace it (disconnects clients). |
/remote stop |
Stop serving. |
pi --remote starts serving as soon as pi starts. In Pi Desktop open Settings → Remote → Connect to a remote
and enter the address and token.
Sessions run inside the pi process, sharing pi's logins (auth.json) and models. State lives in ~/.pi-remote
(PI_REMOTE_HOME overrides it). When pi exits, serving stops.
The token is full control of this machine (sessions run shell commands). The connection is plain HTTP: keep the default loopback binding behind an SSH tunnel or a VPN, and never expose the port to the internet.
This package is a build of src/agent/remote/plugin.ts (npm run build:plugin in the Pi Desktop repo).
It is published from the same tag as Pi Desktop itself, so its version matches the app it was built for; the
two ends compare a protocol version when they connect and refuse a mismatched pair with a message saying
which side to update.