npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

harness-remote

v3.1.0

Published

Local-first control plane for native AI coding-agent sessions across Codex CLI, Claude Code, OpenCode, Oh My Pi and PI.

Readme

Harness Remote

Your coding sessions. Any supported agent. Any device.

A local-first control plane for native AI coding-agent sessions.

Run, observe, resume and continue work across Codex CLI, Claude Code, OpenCode, Oh My Pi and PI from desktop, web or Android — while code, credentials and native Sessions stay on your own machines.

GitHub stars Apache-2.0

Harness Remote workspace

Harness Remote is not another coding agent. It is the remote-control and continuity layer around the coding agents you already use.

Quick start

Desktop

Download Harness Remote from the latest release and open it.

On Windows and macOS, the local computer works immediately: you do not need to start a gateway in a terminal. The desktop app starts and supervises its local Machine runtime automatically.

Add another computer

On the computer you want to control, install Node.js 20+ and make sure at least one supported coding-agent CLI is installed and authenticated.

Then run:

npx harness-remote

Direct-from-GitHub fallback:

npx --yes github:giuliastro/harness-remote

Keep that terminal open. Harness Remote automatically detects the installed coding agents, chooses available ports, generates credentials and starts one Machine gateway.

Common options are optional:

npx harness-remote --root ~/dev
npx harness-remote --port 4900
npx harness-remote --cors https://giuliastro.github.io

Android

Start the gateway on the computer you want to control, then:

  1. Open Machines.
  2. Tap Scan machine QR code.
  3. Scan the QR printed by the gateway.
  4. Tap View sessions.

The QR uses a short-lived one-time pairing token. Manual address/credential entry remains available as a fallback.

Web / PWA

Use the hosted web app and allow that browser origin when starting the remote gateway:

npx harness-remote --cors https://giuliastro.github.io

For local web development:

cd web
npm ci
npm run dev

Then start the gateway with:

npx harness-remote --cors http://localhost:5173

See the Quick start guide for advanced options and troubleshooting.

What it gives you

  • Native Sessions — existing Sessions remain owned by Codex, Claude, OpenCode, OMP or PI.
  • Remote control — follow activity, send prompts, Stop turns and handle supported questions/permissions.
  • One workspace — Machines → Projects → native Sessions.
  • Cross-agent continuation — continue a task with another coding agent without pretending their hidden contexts are the same.
  • Cross-machine continuation — continue work on another configured machine while preserving Project identity and lineage.
  • Model discovery — models, defaults and variants come from the running harness instead of hardcoded assumptions.
  • Attention visibility — questions, permissions and other blocking states stay visible even when the Session is not open.
  • Recovery — reconnect, idle/wake and desktop-runtime recovery are built around the native Session as the source of truth.
  • Local-first operation — repositories, credentials, subscriptions and native Session persistence stay on your machines.

Native Sessions stay authoritative

Harness Remote does not create a synthetic universal conversation model.

The coding agent still owns:

  • transcript and message semantics;
  • reasoning and activity;
  • tool execution;
  • questions and permissions;
  • context, memory and compaction;
  • model behavior;
  • Stop/cancel and resume semantics.

Harness Remote owns the layer around it:

  • Machines and Projects;
  • Session discovery and presentation;
  • remote observation and control;
  • capability/model discovery;
  • continuation and lineage;
  • reconciliation and diagnostics;
  • desktop, web and Android access.

That means you can start in a normal CLI, open Harness Remote later, find the same native Session and continue from there.

Supported coding agents

| Coding agent | Integration | | --- | --- | | OpenCode | HTTP + live event stream | | Claude Code | ACP adapter | | Codex CLI | ACP adapter | | Oh My Pi (OMP) | ACP adapter | | PI | ACP adapter |

Harness Remote surfaces capabilities advertised by the harness instead of inventing controls the harness does not support.

See the capability matrix for the detailed runtime contract.

Continue work without copy/paste

A typical flow can be:

Machine
  Project
    OpenCode Session
      └─ Continue with Codex
          └─ Continue with Claude

A continuation creates a real native Session on the target harness and records the relationship to the source Session.

The handoff can carry bounded, inspectable context such as objective, decisions, unresolved work and checks already run. The target harness owns its own context from that point forward.

The same model also works across configured machines, with Project identity checks and fail-closed behavior when the destination does not match.

Local-first and security

Your machine keeps:

  • source code and repositories;
  • coding-agent CLIs;
  • provider credentials and subscriptions;
  • native Session persistence;
  • the real development environment.

Use remote gateways over a trusted LAN or VPN. Do not expose a Harness Remote gateway directly to the public internet.

--root limits which directories Harness Remote offers for Project selection. It is not an operating-system sandbox; coding agents still run with the permissions of the account that launched them.

See REFERENCE.md for security and backend details.

Development

# Gateway / daemon
npm start

# Bridge tests
npm test

# Web client
cd web
npm ci
npm run dev

# Electron desktop app
npm run electron:dev

Documentation


Keep ownership of your tools. Keep ownership of your Sessions. Change agents without losing the work.

Apache-2.0