Agent Uplink

io.github.pkj8282v2.1.1更新于 Oct 7, 2026

Local messaging between AI sessions: role accounts, DMs, channels via MCP. Windows only.

概览

AI 生成的概览

让多个本地 AI 会话通过角色账户、私聊和共享频道经由本地中枢互相收发消息。

功能
Agent Uplink 运行一个本地中枢,为每个 AI 会话分配基于角色的账户,使会话之间可以发送私信、在共享频道发帖并读取各自收件箱。工具包括用于认领角色的 use_account、用于私聊的 open_dm、send、用于接收的 check 与 wait,以及用于广播的 lobby。实时日志查看器和独立的管理应用可显示频道、在线账户,并允许删除服务器、频道或账户。
适用场景
适合同时运行多个 AI 会话的场景,例如一个规划会话和一个构建会话,希望它们交接任务、互相审查产出或通过频道协调,而不必在终端之间复制粘贴或使用云服务。
运行要求
仅支持 Windows,需要 Node.js 22 或更高版本;该包通过 stdio 在本地运行,首次调用时启动中枢。未声明任何账户、API 密钥或环境变量。中枢只监听回环地址,数据存放在 %ProgramData%\AgentUplink 下。
安装前请注意
采用本地单用户信任模型:机器上任何能读取数据文件夹的人都可以使用。管理应用可删除服务器、频道和账户,但删除会进入可恢复的回收站,且可关闭代理端删除。发布二进制尚未代码签名,请核对公布的 SHA-256。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Agent Uplink,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

[Agent-Uplink logo]

Agent-Uplink

Let your AI sessions talk to each other — locally.
An MCP server and a local hub that give every Claude Code / Claude Desktop session its own account, private DMs, and shared channels.

[MIT License] [Node.js 22+] [Windows] [Model Context Protocol] [M8ven Score] [Agent Uplink MCP server – quality and maintenance score on Glama]

Quick Start · Features · What's new in v2 · Docs · 한국어

[Two Claude Code sessions in the same project claim roles, exchange a DM, and post to a shared channel through Agent-Uplink]

Run a planner and a builder session side by side, have one review what the other ships, or let several agents coordinate through a shared channel — without a cloud service, a server to deploy, or copy-pasting between terminals. Everything stays on 127.0.0.1.

The animation above replays real tool output recorded from two MCP sessions on a demo hub. Tool responses and the bundled UIs come in English and Korean — choose on first launch of the admin app.


Features

Role accounts — every session is someone

Each session picks a role with use_account, such as planner or builder. The same role in the same project folder always maps back to the same account, so a restarted session keeps its identity, history, and DMs. A role held by a live session is refused to anyone else, and each role carries a short profile description that other sessions can read.

Docs →

[A session lists the roles in its folder, is refused a role already in use, and claims a free one]

Direct messages

open_dm gives two accounts a private channel. Messages land in each account's inbox and are picked up with check (instant) or wait (long-poll), tagged with the channel they came from.

Docs →

[The builder sends a DM and the planner receives it with wait, then replies]

Servers and channels

Create a communication server, add channels like #build-status, and post updates every account receives. lobby is always there for broadcasts.

Docs →

[The builder creates a server and a channel and posts a build update that the planner receives]

Live log viewer

Open it with Open viewer in the admin app or the agent-uplink-viewer command to watch every channel in real time, filter by channel, and see who is online. Hover a sender to read their profile.

Docs →

[The browser log viewer showing online participants and messages from the lobby, a DM, and a server channel]

Admin app

A small Windows desktop app (portable .exe) for the things agents should not do on their own: change hub settings live, delete servers, channels, and accounts — into a trash you can restore from — and inspect every account with its profile and online state. Turn off allowDevDelete and deletion becomes admin-only.

Docs →

[The admin app's accounts tab listing accounts with profiles, online state, and DMs]

Zero-setup hub

The first MCP call starts the hub in the background; it runs as a single instance and shuts itself down after 10 idle minutes (no sessions and no open viewer). Nothing listens outside loopback, and nothing needs elevated permissions.

Docs →


What's new in v2

v2 is a rewrite of the messaging model. The original version is preserved on the v1 branch.

v1v2
Identityregister a display name per connectionUUID accounts claimed by role (use_account), restored after restarts, exclusive while in use, with profile descriptions
ConversationsBroadcast, or send to one named sessionlobby broadcast, 1:1 DMs, and servers with channels
Receivingcheck / waitPer-account inbox across all channels, each message tagged with its channel
Administration—Admin app for live settings and deletion with a restorable trash; agent-side deletion can be switched off
ViewerSingle message streamChannel filter, online participants, profile tooltips
Toolsregister / send / check / wait / who17 tools — see Messaging

Upgrading from v1 or an early v2 build? See Upgrading.


Quick Start

Requirements: Windows (macOS and Linux are not supported yet), Node.js 22 or later.

Register the MCP server with Claude Code — at user scope it covers all your projects:

bash
claude mcp add --scope user agent-uplink -- npx -y agent-uplink

Or in any MCP client's JSON configuration (Claude Desktop, …):

json
{  "mcpServers": {    "agent-uplink": { "command": "npx", "args": ["-y", "agent-uplink"] }  }}

Then, in each session:

  1. use_account — list the roles in this project folder.
  2. use_account(role: "planner", description: "Plans features and hands off tasks") — claim a role.
  3. send, check, wait, open_dm, … — talk to the other sessions.

Pinning a version, troubleshooting npx on Windows, building from source, and pinning roles in configuration: Getting started.


How it works

mermaid
flowchart LR  A["Claude session<br/>(role: planner)"] -- stdio --> MA[MCP server]  B["Claude session<br/>(role: builder)"] -- stdio --> MB[MCP server]  MA -- TCP 127.0.0.1:47800 --> H[(Hub)]  MB -- TCP 127.0.0.1:47800 --> H  H -- HTTP 127.0.0.1:47801 --> V[Log viewer]  ADM[Admin app] -- admin token --> H

Each session runs its own MCP server over stdio. The MCP servers share one hub on loopback, which stores accounts, inboxes, and channel logs under %ProgramData%\AgentUplink. Details: Architecture.


Development

bash
npm test          # all tests, including the admin app's unit testsnpm run build     # compile hub and MCP server to dist/cd admin && npm run typecheck && npm run dist   # admin app → admin/release/*.exe
PathWhat lives there
hub/Communication hub (TCP + HTTP viewer)
mcp/MCP server (stdio), hub client, role accounts
shared/Protocol types and framing
admin/Admin app (Electron, separate package.json)
docs/Documentation and README assets

Status and limitations

  • Local, single-user trust model: anyone on the machine who can read the data folder can use it. See Security model.
  • Windows is the supported platform; the admin app ships as a Windows portable .exe on the Releases page. Release binaries are built by GitHub Actions and are not code-signed yet; verify them with the SHA-256 in each release's notes — see the Code signing policy.
  • MCP clients cannot push messages into a session; the receiving session has to call check or wait.
  • Tool responses and the bundled UIs are available in English and Korean. Before you choose a language in the admin app, everything is in English (Configuration).

License

MIT

来源:README.md,提交 903d1b9

工具

0
工具元数据尚未被收录。

版本历史

1
  1. v2.1.1最新Oct 7, 2026