搜尋套件、儲存庫與 APP 分類

GitHub 儲存庫jacobaraujo7/remote_pi

remote_pi

從手機控制您的樹莓派編碼代理。透過一次性QR碼配對,並與本地代理聊天,即使您離開電腦也能做到。

remote_pi 專案封面
星標
380
分支
96
最近推送(UTC)
2026年9月18日
專案狀態
未封存

原始 README

以下為英文專案原文快照,最新內容請造訪 GitHub。

Remote Pi logo

Remote Pi

Control your Pi coding agent from your phone. Pair with a one-time QR code and chat with your local agent — even when you're away from your computer.


Links

Downloads
Platform Status
Google Play (Android) Get it on Google Play
App Store (iOS) Download on the App Store
APK (sideload, Android) GitHub Releases

What's in this repo

Package Stack Role
app/ Flutter (iOS / Android) Mobile client
pi-extension/ Node + TypeScript Pi extension exposing /remote-pi
relay/ Rust + Tokio WebSocket routing + signed mesh membership storage
site/ NextJS Landing page + legal pages

Architecture

Flutter app ──wss──► Relay (Rust) ◄──wss── Pi extension (Node)
                                                  │
                                           Local Pi process
                                                  │
                                           UDS broker (local mesh)
                                                  │
                                           Other agents on the same machine
  • Pairing via short-lived QR code; peers persisted in Keychain (mobile) and ~/.pi/remote/ (desktop)
  • Ed25519 authentication — the Relay handshake proves possession of the connection key; App↔Pi pairing is enforced by the endpoints. For Pi↔Pi routing, the current Relay permits a route when a correctly signed Owner blob lists both Pi keys; that check does not prove the Owner paired with or controls either Pi
  • TLS protects traffic in transit, but current payloads are not E2E; see relay/README.md for the exact trust boundary

Local agent mesh

When multiple Pi agents run on the same machine, they discover each other through a Unix Domain Socket broker managed by the extension. One agent wins the leader election and binds the socket; the others connect as clients. For targets on that same machine, agents use the opaque addresses returned by list_peers — no relay, no network, no extra config.

Three LLM-facing tools are exposed in the Pi chat:

  • list_peers — lists local and cross-PC addresses available to the agent
  • agent_send — sends a unicast message and waits for a delivery ACK. Compatible ACK values are received, busy, denied, and timeout; current brokers return received, denied, or timeout, while busy only indicates a dropped message from an old broker leader that must be restarted before resending. Broadcast is sent with no ACK. Asynchronous content replies use re
  • agent_request — request/response with timeout, available only as deprecated legacy behavior

This lets you set up local multi-agent workflows (e.g. a backend agent asks a frontend agent for help) entirely on your machine, in parallel with the remote mobile pairing.

Relay

A free community relay is available at:

wss://relay-rp1.jacobmoura.work

It's enough to get started, but the relay operator can see the content of your messages and is a single point of trust for routing. For sensitive work, we strongly recommend running your own relay — it's a single Docker command and the only thing your traffic ever touches is your own infrastructure.

Full security trade-offs and the self-hosting guide live in relay/README.md.

Getting started

Install the Pi extension in any project where Pi runs:

pi install npm:remote-pi

Then in the Pi chat, run:

/remote-pi

The setup wizard walks you through agent name, session name, and relay choice, then prints a QR code. Scan it with the Remote Pi mobile app and you're paired.

Recommended companion: @eko24ive/pi-ask
pi install npm:@eko24ive/pi-ask

With pi-ask installed, the agent's ask_user clarification prompts (structured questions with options, multi-select, and previews) render natively in the mobile app — answer from your phone and the flow resolves on the desktop. Without it, the agent simply asks in plain chat text (also answerable from the phone, just unstructured). Remote Pi works either way; pi-ask is optional.

Status

The MVP is functional. Planning notes and roadmap live in plan/.

License

License is per-package — see each subproject's LICENSE file (the pi-extension is MIT). A repository-wide license decision is pending.

Jacob Moura GitHub avatar
GitHub 作者

Jacob Moura ↗

CEO at Vaden | Founder of Flutterando

FlutterandoMaringá, Paraná - Brazil官方網站 ↗
語言DartTypeScriptRustCShellJavaScriptCSSC++CMakeSwiftHTMLKotlinRubyInno SetupDockerfilePythonPowerShellObjective-C

分類

所在榜單

如何選擇適合專案的儲存庫?

先依使用情境篩選,再比較專案活躍情況,最後到原始儲存庫確認使用要求。

  1. 透過儲存庫名稱、作者或描述搜尋,再依技術分類縮小範圍。
  2. 綜合星標、分支與最近推送比較專案;星標反映社群關注,不保證品質。
  3. 使用前在 GitHub 確認 README、授權條款與 Issues。

來源與維護

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗