outbridge
v0.10.0
Published
Bridge remote coding agents to local projects through an outbound SSH tunnel
Maintainers
Readme
Outbridge
Outbridge lets a coding agent on a remote development machine operate a project on your local Windows, macOS, or Linux computer. The local computer initiates the connection through an SSH tunnel—such as a VS Code Remote SSH port forward—so it does not need to accept inbound network connections.
Configure with your coding agent
Outbridge includes a reusable coding-agent skill at
skills/use-outbridge.
Install it for your coding agents with:
npx skills add DiscreteTom/outbridge --skill use-outbridge -gThen ask the coding agent running on the remote machine:
Use the
use-outbridgeskill to configure Outbridge so you can operate my local project from this remote machine.
The skill guides the agent and user through downloading Outbridge, starting the remote server and local worker, configuring the SSH or VS Code Remote SSH port forward, discovering Outbridge's operation commands through built-in help, and operating the project safely.
How it works
The server runs beside the remote coding agent and listens only on loopback. Each local worker initiates an outbound WebSocket connection through an SSH port forward and registers a named workspace. The agent uses Outbridge's operation commands, which invoke the server's loopback HTTP API and route each operation to the selected local workspace.
sequenceDiagram
actor User
participant Agent as Remote coding agent
participant Server as Outbridge server<br/>(remote loopback)
participant Tunnel as SSH / VS Code port forward
participant Workers as Outbridge workers<br/>(local computers)
participant Projects as Local projects
Agent->>Server: Start persistent server
User->>Tunnel: Forward remote worker port to local
User->>Workers: Start a worker in each project directory
Workers->>Tunnel: Open outbound connections
Tunnel->>Server: Establish named workspace sessions
Agent->>Server: Run an Outbridge operation command
Server->>Workers: Route request to its named session
Workers->>Projects: Perform the operation
Projects-->>Workers: Return result
Workers-->>Server: Relay response
Server-->>Agent: Return resultSecurity and limits
- The remote services bind to loopback and must not be exposed publicly.
- Multiple named workspaces may connect concurrently. A new connection with the same name replaces the previous session.
- File transfers may contain arbitrary binary data and are limited to 64 MiB.
- The worker cancels shell execution after 60 seconds by default and supports requested deadlines up to one hour. Shell output is limited to 4 MiB combined.
- Shell environment overrides are kept in worker memory, survive reconnects,
and are cleared when the worker process exits.
env listexposes configured values, so treat its output as potentially sensitive. Overrides are limited to 256 variables and 16 KiB total. - Writes replace files directly; atomic writes and conflict hashes are not yet implemented.
- File transfers are workspace-relative. Shell working directories may be absolute or use parent traversal, so shell operations can access anything permitted to the local OS user.
