基于 Iroh 的可信 DSH 主机网状网络:提供加密的节点发现、远程会话投递与连通状态。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-weave
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:baixianger/dsh-weave
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
该插件的 README 只有英文版本。
A private, peer-to-peer fabric for connecting DeepSeek Harness nodes across machines.
DSH Weave turns a collection of local DSH installations into an intentional network: nodes can discover trusted peers, exchange session-aware events, hand off work, and recover after a connection drops — without placing a central server in the execution path.
| Status | Transport | Scope |
|---|---|---|
0.1.0-rc.3 transport MVP |
Iroh + QUIC | Trusted DSH nodes |
Product boundary
dsh-bridge is the local contract: it connects sessions in one DSH host.
dsh-weave carries approved messages between those hosts. dsh-chat is the
optional Web group-chat surface above both layers.
DSH node A ── dsh-bridge ── dsh-weave ── Iroh ── Iroh ── dsh-weave ── dsh-bridge ── DSH node B
Iroh supplies authenticated, encrypted QUIC connections, direct peer-to-peer paths where possible, and relay fallback where required. Weave owns DSH host identity, host trust, endpoint refresh, reachability, the workspace/session directory, and authenticated request delivery. Higher-level plugins own their domain membership and capabilities; for example, Chat owns rooms and room capabilities.
The remote directory reports agent state as idle, running, or offline.
Host reachability is tracked separately as unknown, connecting, online,
or offline; waking a persisted session remains a dsh-bridge responsibility.
Install
The transport MVP provides an Iroh endpoint, ticket exchange, explicit peer
trust, and a message frame that is handed to dsh-bridge when both plugins
run in the same host. It deliberately does not auto-trust a peer that merely
knows an endpoint address.
dsh plugin --profile web add dsh-weave@next
import {
DSH_WEAVE_ALPN,
DSH_WEAVE_PROTOCOL_VERSION,
DSH_WEAVE_STAGE,
} from "dsh-weave";
console.log(DSH_WEAVE_ALPN); // dsh-weave/1
console.log(DSH_WEAVE_PROTOCOL_VERSION); // 1
console.log(DSH_WEAVE_STAGE); // design-preview
The first protocol
| Plane | What it carries | Delivery rule |
|---|---|---|
| Control | invite, membership, heartbeat, capability updates | request/acknowledgement |
| Task | offer, accept, progress, result, cancellation | idempotent at-least-once |
| Session | user-approved context or trajectory references | explicit sharing only |
Every node has a persistent network identity. Joining a mesh requires an expiring invite and an explicit local approval. A transport connection alone never grants permission to execute a task.
Security posture
- End-to-end encryption is supplied by Iroh's authenticated QUIC transport.
- A mesh allowlist and capability grants sit above transport identity.
- Remote work is denied by default until the receiving node approves it.
- Secrets, provider credentials, and raw filesystem access never travel as ordinary session events.
- A self-hosted relay/discovery deployment is the production path; public relays are for development only.
See architecture, wire protocol, and security model.
Pairing and delivery
Exchange each node's ticket out of band, then explicitly trust it before
sending. dsh-weave rejects a frame from an untrusted endpoint even though
Iroh has already encrypted the connection. This separates transport identity
from DSH authorization. The node's Iroh identity is persisted locally under
~/.dsh/dsh-weave/identity.json with owner-only permissions, so a restart
does not silently create a new peer identity. Explicitly trusted peer IDs and
their last accepted endpoint tickets are also stored locally with owner-only
permissions, so paired-host discovery survives a restart. An endpoint ticket
also carries addressing hints; trust a fresh ticket again when a peer changes
its reachable addresses.
The trusted-host /dsh-weave/ticket RPC exposes that current ticket for
pairing UIs.
The Web profile contributes a dedicated Settings → Weave page. It shows
the current Iroh ticket and relay mode, accepts trusted peer tickets, and lists
paired endpoint identities. Higher-level plugins such as dsh-chat consume
the paired-host workspace/session catalog and send by stable host id. They
never receive or persist peer endpoint tickets and do not own transport
identity, pairing, or relay policy.
Roadmap
- Publish the v1 protocol contract
-
dsh-bridgelocal event adapter - Iroh endpoint adapter and ticket-based trust flow
- Remote task request / approval / result streams
- Durable outbox and reconnect replay
- Self-hosted relay and discovery guidance
Development
npm run check
License
MIT © Xiang Bai
链接
同类插件
saya-ch/dsh-mobile★ 33
在手机上通过受保护的局域网使用 DeepSeek Harness:专属移动界面、安全 HTTPS 配对,以及 /mobile 对话定制。
mexiaosqwq/dsh-web-mobile★ 31
DSH Web UI 移动端适配:窄屏下侧边栏变为贴合内容的 overlay 抽屉、会话独占全宽,设置面板改为近全宽 sheet。
liguobao/deepseek-harness-remote★ 23
DeepSeek Harness 多端安全远程访问:手机或浏览器通过端到端加密通道(Noise IK + 自适应传输)连接本地 Harness,设备授权管理,远程端仅开放 ApiProxy 能力,不提供 Shell 与任意文件访问。
AcidGr/dsh-web-lan-access★ 21
Web UI 局域网/远程访问:为纯 HTTP 非安全上下文注入 crypto.randomUUID polyfill,局域网/Tailscale IP 直连时前端不再崩溃。
JUANWANG-BUAA/dsh-full-remote★ 15
远程访问 DeepSeek Harness 且服务端 API 完整:转发时改写 Host/Origin,恢复其他方案必定 403 的 settings.* / credentials.* / host.listDirectory。令牌门、按设备会话、可选首访审批。
Blank-not-black/dsh-Remote#plugin★ 10
移动远程控制套件:原生侧边栏入口 + 管理抽屉的 bundle 插件,自带 Bearer 令牌网关自愈(局域网/Tailscale);Android App 覆盖会话/审批/提问/goal;/fs/* 文件端点(Range 断点续传、2GB 上传);多服务器测速自动切换;聊天记录离线缓存。