A mobile companion app for pi-coding-agent. Run the server on your machine, scan the QR code from your phone, and control your coding agent remotely.
One-line install (Linux / macOS):
curl -fsSL https://raw.githubusercontent.com/anthaathi/pi-companion/main/install.sh | bashThe installer will:
- Detect your OS and architecture
- Download the latest release to
~/.pi/ui/ - Run
pi-server initto set up credentials (first install) - Offer to install as a background service (systemd on Linux, launchd on macOS)
- Add
~/.pi/uito your shell PATH
Options:
# Non-interactive (accept all defaults)
curl -fsSL .../install.sh | bash -s -- --yes
# Install without background service
curl -fsSL .../install.sh | bash -s -- --no-service
# Uninstall (removes binary, service, and PATH entry)
curl -fsSL .../install.sh | bash -s -- --uninstallManual download:
Grab the latest release for your platform from Releases:
| Platform | Binary |
|---|---|
| Linux x86_64 | pi-server-linux-x86_64 |
| Linux ARM64 | pi-server-linux-aarch64 |
| macOS Apple Silicon | pi-server-macos-aarch64 |
| macOS Intel | pi-server-macos-x86_64 |
| Windows | pi-server-windows-x86_64.exe |
chmod +x pi-server-linux-x86_64 # make executable (Linux/macOS)./pi-server initThis will prompt you for:
- Username (default:
admin) - Password (used to authenticate from the mobile app)
It creates a config.toml in the current directory.
The server manages a pi binary. Make sure Node.js is installed, then the server can install it for you via the mobile app, or install it manually:
npm install -g @mariozechner/pi-coding-agent./pi-serverThe server starts on port 5454 and prints a QR code in the terminal:
Scan to connect:
[QR CODE]
pi://connect?hostname=mypc&ips=192.168.1.100&port=5454&qr_id=...&server_id=...
- Install the Pico app on your Android device (APK available in releases)
- Open the app and tap Scan QR Code
- Scan the QR code shown in your terminal
- Accept the pairing request in the terminal (type
yand press Enter) - Log in with your username and password
You're connected! You can now create workspaces, start coding sessions, and interact with the pi-coding-agent from your phone.
The config.toml file supports these options:
[server]
port = 5454
host = "0.0.0.0"
[auth]
username = "admin"
password_hash = "..."
access_token_ttl_minutes = 15
refresh_token_ttl_days = 30
[package]
name = "@mariozechner/pi-coding-agent"
# Optional: specify a custom pi binary path
[agent]
pi_binary = "/usr/local/bin/pi"
# Optional: custom session storage
[sessions]
base_path = "~/.pi/agent/sessions"- Node.js 22+
- Yarn 4 (via Corepack:
corepack enable && corepack prepare yarn@4.9.2 --activate) - Rust toolchain (for the backend)
- Java 17 (for Android builds)
yarn install
yarn start # Expo dev server
yarn android # run on Android
yarn web # run in browserFor direct browser login links, the backend prints http://localhost:8081/connect?... in debug builds and uses the backend server port in release builds. Set PI_UI_WEB_ORIGIN to override the dev web origin if you run Expo web on a different host or port.
yarn web:build # export web assets to dist/
cd backend && cargo build --release # builds with embedded web UIeas build --platform android --profile preview --localRequires Java 17 (JAVA_HOME must point to a JDK 17 installation).





