dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
English · 中文
同一个 Agent 会话,在桌面浏览器、终端和手机上接续:主机负责干活,手机负责随时接话和审批。
turnwire-host 运行 Turnwire Core;SQLite 保存元数据、事件缓存、审批和命令回执。AgentRuntime 接口将任务交给 DSH。模型凭据和任务执行始终留在主机上。诚实前置,免得你走到一半才发现:
turnwire@next,安装不需要源码仓库权限。它还不是稳定版,也不是已签名的原生桌面安装器;源码仓库仍为私有。最小可用部署是 一台执行主机 + Turnwire + DSH + 模型凭据。浏览器或终端连接这台主机即可,不必先部署 Relay、容器或原生桌面应用。
| 项目 | 需要准备什么 |
|---|---|
| 执行主机 | 能持续运行进程,满足当前安装包与 runtime 要求;不要把浏览器设备的平台当作执行主机要求 |
| 软件 | Node.js(最低版本见下方自动生成的要求)和 npm;首次启动可引导安装 DSH,也可明确连接已有实例 |
| 网络 | 首次安装能访问 npm registry;真实任务能访问所配置的模型服务;仅本机使用无需公网入口 |
| 配置与数据 | 当前用户可写的配置、状态、数据和缓存目录,以及实际项目工作目录;模型凭据只留在主机 |
| 访问端 | 一个可用浏览器或终端;远程访问期间主机必须在线 |
尚未测定统一的 CPU、内存或磁盘最低值,不给出虚假的硬件门槛;资源消耗取决于 DSH、项目规模与并发任务。持久化、端口及平台细节见快速开始。
四种方式都使用同一台执行主机,区别在于客户端如何连接它。
| 部署方式 | 需要准备 | 怎么用起来 |
|---|---|---|
| 本地 | 执行主机和本机浏览器/终端,无需公网入口 | 运行 npx turnwire@next --open,使用已认证的本机连接 |
| 临时隧道 | 执行主机和可用的隧道服务 | 在远程访问设置中选择 localhost.run、cpolar 或 Cloudflare,开启临时访问,再配对远端客户端;地址变化后需要重新配对 |
| 命名隧道 | 已有的 Cloudflare 隧道、固定公开域名和私有隧道凭据 | 填写隧道名称、域名和凭据,启用后通过固定地址配对客户端 |
| 自部署 Relay | 自己的服务器、HTTPS 地址和 Relay 连接密钥 | 部署 Relay 与 PWA,在主机配置地址和密钥,再配对客户端;适合长期远程访问,也是推送的前提 |
Relay 和隧道不能替代执行主机。npm/npx 是安装选择,前台/后台及复用 DSH 是运行配置,不是额外的部署方式。主机准备和详细步骤见快速开始。
选择满足当前安装包与 runtime 要求的执行主机,并准备 Node.js 22.13+ 和 npm。已发布的 npm 预览版 不需要仓库权限、源码构建或系统服务配置:
npx turnwire@next
# 或长期安装:
npm install -g turnwire@next
turnwire --open
发布通道: 推送到 main 时将预览版发布到 npm next。只有明确发布稳定版 GitHub Release 才会发布到 npm latest;推送 main 不会升级稳定版。使用 turnwire@next 获取当前预览版,不固定某个预览版本号。这是 Turnwire 的发布通道,与 DSH runtime 的通道不同。
源码仓库仍为私有;从 npm 安装不需要访问权限。预览版不是稳定版,也不是已签名的原生桌面安装器。统一安装入口不代表支持所有操作系统,仍以安装包约束与 runtime 要求为准。
预览版以前台运行,请保持终端打开,不会安装系统服务。模型密钥通过隐藏输入提供,只留在主机。明确配置了已有 DSH 时会复用;否则询问安装 npm latest,解析为精确版本并先隔离验证。本机使用无需 Relay;手机远程访问需要另行配置。
停止自己的前台实例后,可运行 turnwire start --update-dsh:先安装、检查新版本,通过后再切换。不自动降级、不热替换活跃 runtime、不更新外部 DSH;普通启动不会悄悄更新已有安装。
详见快速开始、npm 安装与发布和DSH 兼容性与边界。兼容矩阵在已配置的主机环境上覆盖基准版/latest/next,不代表对未来任意上游改动的永久兼容保证。
需要主机在后台运行时,请参阅快速开始中的服务安装说明。安装前先确认对应的平台要求与安全边界;手机访问仍需单独明确配置。
本地使用:启动主机 → 打开本机 Web 或终端。远程使用:启动主机 → 配置远程入口 → 配对并访问。远程用户不必先安装原生客户端或在本机浏览器中完成任务;无界面主机可使用 --no-open,直接继续远程访问配置。
node --version、npm --version 确认环境满足要求,再运行 npx turnwire@next --open。--open 会尝试打开已认证的本机 Web;不支持自动打开浏览器时用 --no-open,查看启动器地址,通过 npx turnwire@next connect 获取本机连接信息。此输出含凭据,不要公开。npx turnwire@next status,确认主机及 runtime 在线;npx turnwire@next doctor --json 只做离线环境检查,不能替代在线验证。若默认 Web 端口被占用,可用 npx turnwire@next start --port 9900 --open。保持主机进程运行,Ctrl-C 会停止它拥有的进程,不停止外部 DSH。
有私有仓库访问权限的开发者可按从源码开发构建、运行离线 Demo,或通过 DSH 接入真实模型。Demo 不需要模型凭据,不调用模型、不运行 shell、不修改文件。
客户端是你查看会话、发送任务和处理审批的入口。它们连接同一台执行主机,不各自运行一套任务状态;可以同时使用多个客户端。
| 客户端 | 如何使用 | 连接要求 |
|---|---|---|
| Web / PWA(桌面或手机浏览器) | 本机打开启动器提供的 Web;远程打开配置好的 HTTPS Web 入口,也可添加到主屏幕 | 本机使用本机认证;远程客户端按远程访问说明完成配对 |
| 终端(CLI / TUI,可用于脚本) | npm 安装后运行 turnwire --help 查看命令;未全局安装时用 npx turnwire@next --help | 主机运行中,并具备对应连接权限;详见命令行参考 |
| 原生桌面客户端(可选) | 按客户端说明构建和使用 | 满足该客户端的构建、平台与签名要求,并连接主机 |
执行主机负责运行任务;隧道和 Relay 负责远程连接,均不是客户端。
前置条件仅是执行主机已启动、具备主机管理权限,并准备好所选远程入口的配置;不需要先完成客户端选择。本地使用可跳过本节。远程用户配置入口后,用手机或其他设备的浏览器完成配对即可,无需另装原生应用。
本机地址 127.0.0.1 只代表那台机器自己,手机上的 127.0.0.1 是手机自己 —— 所以异地连接必须有一条公网通道。三种选择:
| 方式 | 使用流程 |
|---|---|
| 临时隧道 | 选 localhost.run、cpolar 或 Cloudflare,点「开启临时访问」;不需要自己的服务器。cpolar 首次需要账号 Auth Token。地址会在 daemon 下次启动时变化,需要重新配对 |
| Cloudflare 命名隧道 | 用你自己 Cloudflare 账号下已存在的隧道与固定域名,地址不随重启变化;需要隧道名、公开域名与隧道凭据文件 |
| 自托管 Relay | 填服务器的 HTTPS 地址与 Relay 连接密钥,点「保存并连接」;长期使用推荐,也是手机推送的前提 |
通道就绪后生成配对二维码,手机打开已部署的 PWA 粘贴配对码即可。配对链接把密钥放在 URL fragment 中,网页接收后立即移除;默认只为本次浏览会话保存,勾选「记住这台受信任设备」才持久保存。
国内网络可能连不上 Cloudflare 临时隧道,或出现延迟与不稳定 —— 它作为快速体验选项保留。长期使用建议选择在主机和手机实际网络中验证过的自托管 Relay;免费 Quick Tunnel 不等同于 Cloudflare China Network(那是另行订阅的企业服务)。
turnwire notifications status 会明确告诉你)。| 文档 | 内容 |
|---|---|
| 命令行参考 | 全部 turnwire 命令与选项 |
| 从源码开发 | 构建、接真实 DSH、验证方式、工程结构 |
| 多端功能对等 | 每项能力在各客户端的覆盖与代码归属 |
| 自托管 Relay + PWA | 固定域名部署、国内网络说明 |
| 一键部署 Relay | 从部署表单一键安装服务器 |
| 用 Turnwire 开发 Turnwire | 开发主机自动更新与安全点 |
| DSH 接口说明 / 协议与状态边界 | 运行时契约与 RPC 边界 |
| 验证记录 | 已验证与未验证的条件,逐条列出 |
| 参与贡献 / 安全策略 | 开发约束、验证要求与漏洞报告渠道 |
当前交付包含一次性配对、经设备凭据认证的每连接 ECDH 会话加密、分阶段连接恢复、持久审批收件箱、Web Push 和可配置的 TLS 局域网入口。首次部署使用独立的数据目录,并从主机创建客户端配对;配对凭据应私密保存。Relay 的连接路由仍在内存中,推送密钥与投递队列持久化。
尚不包含 Codex / Claude adapter、团队账户、原生 iOS、自动更新或发行签名。"哪些只在特定条件下验证过"以 验证记录 为准。
Apache License 2.0 —— 详见 LICENSE 与 NOTICE。可以自由使用、修改和分发(含商用),需要保留版权与许可声明;本项目不提供任何担保。