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

@3xhaust/codexrelay

v0.4.2

Published

Move Codex sessions and project changes between computers without SSH.

Readme

CodexRelay

English · 한국어

Choose a Codex task. Send it to your other computer. Continue in Codex.

Conceptual overview: carry the conversation and project together

CodexRelay shows your Codex task names, conversation previews, and projects together. It moves a selected task and its Git project directly between computers on reachable private networks. No hosted relay, cloud-storage account, or SSH setup is needed.

Validation and compatibility records the browser workflow, native restoration checks, and remaining platform limits.

Start on both computers

Install Node.js 20+ and Git on both computers. On macOS, an installed Codex desktop app supplies the native helper; a separate CLI is optional. On Windows and Linux, the codex command must be available on PATH; installing only the Windows desktop app is not enough. Sign in to Codex on the destination. Go is not required for npm users.

npx @3xhaust/codexrelay@latest connect

Or install globally:

npm install -g @3xhaust/codexrelay
codexrelay connect

Keep both computers awake with CodexRelay running. On the same LAN they can discover each other automatically. If the firewall asks, allow access on your trusted private network.

  1. Find the task by its Codex name or project and click 보내기 (Send).
  2. Choose the other computer. If it is already connected, transfer starts immediately.
  3. For the first connection, compare the eight-digit code on both screens and confirm on each computer. The selected task then continues transferring automatically.

The destination gets a new project folder, registers the restored conversation with Codex, and requests that task to open. The result reports restoration; Codex에서 열기 (Open in Codex) sends another opening request. If a conversation started outside a Git project, choose its project through the folder picker once.

컴퓨터 (Computers) in the header manages remembered connections. 연결 해제 (Disconnect) revokes future access.

Connect by address

If the computers do not appear automatically, open 컴퓨터 → 주소로 연결 (Computers → Connect by address) on the receiving computer. Enter the sending computer's 이 컴퓨터 주소 (This computer’s address), such as 192.168.1.20:46445, then compare and confirm the eight-digit code on both screens. Both computers need version 0.4 or newer.

Select and send the task on its original computer. The receiver fetches the selected task from the sender's server; the sender does not need to open a connection back to the receiver. Both programs stay running. The default device port is TCP 46445; --port NUMBER changes it, and --port 0 chooses an available port. The private dashboard URL is for the computer running it; enter the device address on the other computer.

Wired and Wi-Fi networks at a school or office may allow direct TCP access even when discovery is unavailable. Address entry still requires a permitted network route to the sending computer. It cannot connect through network isolation; use an approved shared network if that route is blocked.

The project and conversation travel together

Transfers use a Git repository with at least one commit. A conversation outside its project needs an explicit project association; CodexRelay does not guess which unrelated folder to send.

The transfer includes the original task identity and saved conversation through the latest completed or aborted turn, Git history, current files, and staged/unstaged changes. It retains a recovery copy of the exported conversation records. The unfinished tail is omitted.

For the latest complete snapshot, let the current Codex response finish or stop it, then pause project edits while sending. Files reflect their current state, not a rollback to the conversation cutoff. Sending does not stop the source task or prevent concurrent editing on another computer.

An existing destination folder or an already-imported session ID is rejected instead of overwritten. Account credentials, ignored files, installed tools, live processes, and terminals are not transferred. Git remotes must be reconnected separately. Submodules and symlinks are not supported. Old conversations and Git commits may contain sensitive content; encryption does not redact that history.

Codex compatibility

Use the same CODEX_HOME as the Codex CLI or desktop app you want to continue in. Automatic opening also depends on the installed desktop app and platform. An opening failure is shown in the result.

On one Mac running two isolated processes, the new browser flow passed first-time pairing, confirmation on both screens, and transfer of a Desktop-format task. The user confirmed that the exact task opened in Codex. A second, already-trusted CLI-format transfer took two clicks, and the native app reader confirmed its name, conversation, and restored folder. That second task’s visible window was not separately confirmed. See evidence and limits. A physical Windows-to-Mac transfer has not been verified.

The receiving computer must be able to reach the sending computer’s private device address. This does not reach an offline home computer or provide an internet relay.

Select a task and explicitly associate its Git project at startup:

codexrelay connect --session SESSION_ID --workspace "/path/to/project"

Use --name "Home computer" to choose a device name, --no-open to print the dashboard address, and codexrelay doctor to check local tools. Keep the dashboard address private; it contains its access token.

For an explicit encrypted file transfer:

codexrelay export --workspace "/path/to/project" --output task.relay --source-stopped SESSION_ID
codexrelay import --destination "/path/to/new-project" task.relay

--checkpoint selects the latest completed conversation prefix; --attach-workspace explicitly associates a conversation outside the repository. File-transfer passphrases are entered in the terminal and must contain at least 12 characters. Put options before positional arguments. codexrelay --help lists all commands.

Develop and publish

go build -o codexrelay ./cmd/codexrelay
go test -race ./...
go vet ./...
npm test
npm run release:pack
npm run test:install

Release packages include Go binaries for macOS, Linux, and Windows on ARM64 and x64. No install script downloads an extra binary. Use npm run release:pack -- --current for a local smoke build only. Publishing instructions cover the final release gates and npm Trusted Publishing.

License

MIT.