pi-remote-agent

Secure remote agent bridge for pi — delegate tasks to another pi instance over Tailscale. Includes /ask-agent command and ask_remote_agent tool for LLM-driven delegation.

Packages

Package details

extension

Install pi-remote-agent from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:pi-remote-agent
Package
pi-remote-agent
Version
1.0.0
Published
May 6, 2026
Downloads
44/mo · 8/wk
Author
aman_asmuei
License
MIT
Types
extension
Size
15.7 KB
Dependencies
0 dependencies · 2 peers
Pi manifest JSON
{
  "extensions": [
    "./index.ts"
  ],
  "image": "https://placehold.co/600x200/6C5CE7/white?text=pi-remote-agent+bridge"
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README


🧠 What is this?

pi-remote-agent is a pi extension that lets your pi session talk to another pi instance running on a friend's machine. Think pair programming, second opinions, or delegating subtasks — all from within your pi TUI.

Your LLM can even call the remote agent automatically via the ask_remote_agent tool.


🚀 Quick Start

1. Your friend sets up the bridge

On their machine, they run pi with the bridge enabled:

pi --bridge --rpc-port 18777

Their bridge will be reachable at https://<their-tailscale-node>.ts.net/rpc.

2. You configure the peer

Add their bridge URL to your remote agents config:

# ~/.pi/agent/remote-agents.json
{
  "friend": "https://friend-mac.tail1234.ts.net/rpc"
}

Or set it once via environment variable:

export REMOTE_AGENT_URL="https://friend-mac.tail1234.ts.net/rpc"

3. Install the extension

pi install npm:@aman-asmuei/pi-remote-agent

4. Start delegating

# Command (manual)
/ask-agent @friend Refactor the auth module to use JWT instead of sessions

# Tool (LLM auto-invokes)
"When should I use a connection pool vs a single connection?"
→ LLM automatically calls ask_remote_agent

📖 Usage

/ask-agent Command

/ask-agent <prompt>                → Uses default peer (REMOTE_AGENT_URL)
/ask-agent @friend <prompt>        → Targets a named peer from remote-agents.json

The command streams the response in real-time, showing which tools the remote agent is using (read, bash, edit, write).

ask_remote_agent Tool

The LLM can also call the remote agent automatically. It's registered as a tool in your session, so you don't need to manually decide when to delegate — your model routes tasks that benefit from an external perspective.

┌──────────────────────────────────────────────────┐
│  You: "Is this SQL query vulnerable to injection?"│
│                                                   │
│  Arienz: 🔒 Asking Security SME (remote)...        │
│  Remote: ❌ Yes — 3 vulnerabilities found.        │
│          • Unsanitized input on line 12            │
│          • No parameterized query on line 18       │
│          • User input in ORDER BY clause           │
└──────────────────────────────────────────────────┘

⚙️ Configuration

Key Location Description
REMOTE_AGENT_URL Environment Default bridge URL (fallback)
remote-agents.json ~/.pi/agent/ Named peers with bridge URLs
// ~/.pi/agent/remote-agents.json
{
  "alice":   "https://alice-dev.tail1234.ts.net/rpc",
  "bob":     "https://bob-server.tail1234.ts.net/rpc",
  "work":    "https://ci-bot.work-net.ts.net/rpc"
}

🔒 Security

  • All traffic routes through Tailscale's encrypted mesh — no open ports, no public exposure
  • Sessions are ephemeral — created, used, and destroyed per-request
  • Your API keys and credentials are never sent to the remote agent
  • Extensions have full system access — review the source before installing (this repo is MIT-licensed and auditable at index.ts)

📁 Project Structure

pi-remote-agent/
├── index.ts          # Extension entry point (single file)
├── package.json      # pi package manifest
└── README.md         # You are here

🛠️ Development

# Clone and test locally
git clone https://github.com/aman-asmuei/pi-remote-agent
cd pi-remote-agent
pi install ./    # Install from local path

# Or test without installing
pi -e ./index.ts

📄 License

MIT © Aman — share, remix, and build on it freely.