Skip to content

Latest commit

 

History

124 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ThreadMesh

Your agent conversations should talk to each other.
You shouldn't have to relay every message.

Connect separate sessions of the same agent—or different agents.
Let them discover relevant work, share changes, and continue with context.

CI Apache 2.0 Experimental alpha

See the effect · Try it · Harnesses · Docs · 简体中文

You approved a decision in one chat. Another chat is still working from the old version. ThreadMesh helps related agent sessions share useful changes without making you explain them again—even when both sessions use the same product.

You choose the collaborators. The models decide what is worth sharing.

The repeated chore What ThreadMesh offers
“Tell the other session what changed.” Selected peer goals and advisory handoffs; a model chooses whether to contact a peer.
“Remember what we already agreed.” Each receiver keeps its own task context and checks advice against earlier decisions.
“Was it received—or actually done?” Workspace inbox/disposition records plus examples that verify the receiver's own artifact, not just delivery.

Two ways to use it: an optional Codex desktop skill over native task tools, or a local workspace with a persistent inbox, supported harness adapters and explicit portable checkpoints. These are different integration paths, not one universal desktop connector. Codex supplies the skill route's transport. What we add—and when native Codex is enough →

Concept: Agent A sends advice from another task to Agent B while unrelated work stays quiet
Concept illustration of the handoff—not a shipped chat UI or a recording.

A real handoff without the copy-paste

A knows the new product facts. B remembers your earlier website decision.

In one controlled Codex desktop run, both tasks completed their initial work before adopting the skill. B already knew to keep the signup button unchanged. After explicit pairing, the only business request went to A:

Rename the product to Member Portal and limit the free plan to five projects. Use US spelling. Keep the paid-plan price unchanged. Update the approved product facts.

No “send this to B.” A chose to check B's status and send the relevant facts. Original B then continued and edited its own website copy. The manager did not relay the change, resume B manually or write B's file.

Website copy Before After
Product and spelling Organise work with Team Hub Organize work with Member Portal
Free allowance Unlimited free projects Up to five projects on the free tier
Earlier button decision Create my workspace Unchanged
Paid price $12/month Unchanged

The ordinary request to B's completed result took about 49 seconds, excluding setup. In separate controls, A held its advice while B was busy and made no further send after collaboration was stopped. Actual messages, B's diff and audit →

This is one maintainer-operated pair with prior context, not a speed guarantee or independent-user onboarding result. Codex provided native messaging and continuation; the skill provided guidance. The table summarizes checked files, not a screenshot. Simultaneous typing races and plugin hot-loading remain unverified.

Try it

Your starting point Choose this path
I use existing Codex desktop tasks Native-task workflow: no Node/MCP/hook setup, but explicit pairing and available host tools are required.
I want a self-contained real example Codex package example: one terminal, two new disposable sessions, existing account and quota.
I want to connect my project sessions Workspace guide: more setup; persistent inbox and supported harness integration.

Want to connect your existing desktop tasks?

Start in your existing Codex tasks →

Set the selected peer and shared topic in each original task, wait for both setup confirmations, then give one task your ordinary business request. The effect to look for is the other original task acting correctly, not a generated prompt or a sent badge. Ask “Check ThreadMesh status” in the task to distinguish setup, pending advice and observed results; stop in both tasks to stop both directions. These are natural-language requests, not slash commands or a separate control service.

The website helper has been removed. The product target is install once, choose which tasks may collaborate, then work normally in your agent. The manual workflow above is an experimental fallback, not that finished install experience. Desktop plugin installation and adoption by existing tasks remain unverified; a working CLI sample does not close this gap.

Another real case: A changed an API contract; original B updated its own client and tests, retaining the earlier timeout and cursor-encoding decisions. Browser checks and the actual API handoff →

Tested, still experimental: the public-workflow + chat-link run resolved the original two tasks without a global task list. A chose to send; original B updated its own copy and preserved its button and price. The manager supplied the documented link format through native tools; manual GUI onboarding and normal plugin installation remain unverified. The skill cannot add absent host tools or enforce privacy and race-free sending. If native Codex already meets your needs, use it directly; no measured advantage over native-only use is claimed.

Already use Codex? Keep your account

Requires Node 22+ and a working, authenticated Codex installation. Install the version-pinned v0.1.0-alpha.3 package from GitHub Releases; it is not on the npm registry:

npm install --foreground-scripts --loglevel=info \
  https://github.com/fyaic/threadmesh/releases/download/v0.1.0-alpha.3/fyaic-threadmesh-0.1.0-alpha.3.tgz
npx threadmesh try --live

The default is the Codex → Codex copy example. No Pi, second subscription, API key change, custom harness, test project or two-terminal setup is required. It uses your existing Codex configuration and normal quota. On macOS, ThreadMesh can choose a newer desktop-bundled runtime over an older PATH installation; you do not always need a separate CLI install.

Installation progress and runtime stages are visible. Native builds, network conditions and model behavior affect timing. The live run has a 300-second overall limit; unfinished or wrong work fails instead of becoming a preview. Omit --live to read instructions without a model call. Processes stop at the end; private results remain for inspection. Permissions, results and failures →

Separate from the desktop case above, this installed-package Codex example passed in about 273 seconds under its default limit. An earlier diagnostic passed in 184 seconds with an extended budget. The runner continues its own receiver after actual delivery; it does not attach existing desktop chats. Packaged-run evidence and retained failures →

Already use Pi instead?

Keep its existing configuration and select it explicitly:

npx threadmesh try preferences --agent pi --live
npx threadmesh try api --agent pi --live

The API example currently requires Pi; Codex first use supports copy only. Neither path requires the other product. Pi options and limits.

Preview without a model

npx threadmesh preview preferences

Simulated agents, real local coordinator. No API key, model quota or chat access. Also try preview api and preview quota. These explain the workflow; they are not evidence of model initiative. For your own projects, use the advanced two-terminal workflow.

Supported harnesses

Harness How it connects Automatic idle follow-up
Codex desktop Optional skill over host-provided native task tools One controlled pair passed; Codex supplies continuation; availability varies by host
Codex package / projects try: native App Server pair; project launcher: scoped MCP + hooks try runner continues its own receiver; not arbitrary old-chat attachment
Pi Native extension; four tools and turn-start context Opt-in --wake-idle; busy-turn guard, not universal typing-race proof
Kimi Code Project MCP configuration; other servers retained No
DeepSeek Harness Official dsh MCP plugin via a Cordis patch Not claimed
Other harnesses Standard MCP configuration or JavaScript SDK Requires host integration

Versions checked: Codex 0.153.1 for the new-pair example, 0.145.0 for the earlier project launcher; Pi 0.84.2, Kimi 0.39.1, DeepSeek 0.1.2-rc.1. DeepSeek passed no-model native tool/delivery checks; live initiative is pending credentials. Kimi's latest attempt hit weekly quota. Earlier Codex→Kimi and Pi→Kimi passes used a more constrained adapter path.

Versioned evidence and compatibility limits →

Where it can help

  • “I already told the other agent.” Share an API change, approved term or research finding with the workstream that needs it, without relaying it yourself.
  • “Don't lose our decisions.” Publish selected constraints and save a checkpoint instead of broadcasting entire private conversations.
  • “My quota ran out halfway through.” Start another harness with the last saved goal, decisions, constraints and next step.

These are practical uses, not a promise that every scenario succeeds.

Continue from a saved checkpoint

For an already configured workspace—not the disposable try sample—run from its directory, or supply --workspace /path/to/your/room:

npx threadmesh status
npx threadmesh continue backend --agent kimi --name recovery

A checkpoint must already exist, and the destination needs available quota. Saving is model-selected, not guaranteed automatic backup. This starts a new native session with explicit context—not full chat history, hidden state, permissions or cross-machine file transfer. Actual quota-blocked long-session recovery is still unverified.

Checkpoint guide: what survives, what doesn't →

Your sessions stay yours

In the workspace route, joining shares published goals and advice, not all private chats. Inbox reads do not consume messages; acceptance does not prove completion. Pi idle wake is opt-in. Use npx threadmesh status to inspect or npx threadmesh mute client to mute.

This is an experimental, same-owner local workspace, not a multi-tenant security boundary. It does not automatically attach arbitrary old tabs, wake every agent product or guarantee correct work. Host tool permissions still apply. The desktop skill uses Codex's native history and model-followed rules instead; workspace inbox and mute commands do not control that separate route.

Safety model · Security policy

Build with us

Next: make same-product session collaboration easy to adopt, preserve full business constraints, and verify prior-session continuity and independent first use. Focused follow-up · Roadmap

Report the first failed step, a silent agent, an irrelevant message or a useful collaboration. Building a harness? Start with the workspace/MCP guide or SDK adapter guide.

Report a first run · Discuss a workflow · Contribute · Documentation

If it saves you a handoff, a star helps others find it. Apache 2.0.

About

Local workspaces for independent agent sessions: useful peer messages, opt-in Pi wakeups, and portable checkpoints.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages