DeepSeek Harness 插件

wikkd/dsh-remote-access-web#remote-access-web

Star 数 ★ 1 分类 开发与运行时 收录于 2026-08-15 npm @froststarinquire/dsh-remote-access-web

DSH Web GUI 反向隧道:通过 frp 把 `dsh --profile web` 发布到公网地址,目录选择器改用应用内浏览器,手机或远程机器可直接打开并管理工作区。

安装

# npm 包(预构建)

dsh plugin --profile web add @froststarinquire/dsh-remote-access-web

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

dsh plugin --profile web add github:wikkd/dsh-remote-access-web#path:/packages/bundle/remote-access-web

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

English | 中文

dsh 浏览器 surface 的远程访问 bundle。cordis.patch.yml 叠加在官方 dsh-web-app 表层之上:它插入 @froststarinquire/dsh-remote-access host 行,由该插件管理一条出站反向隧道,使远程设备能访问 harness web 服务。隧道后端由 provider 配置决定;随附的驱动是 frp provider(provider: 'frp'),运行一个兼容 frpc 的客户端。浏览器 surface(含手机抽屉布局与 remote-auth 配对门禁)由 dsh-web-app 承载;本 bundle 只负责隧道管理,并说明把隧道准入 /api browser-trust 围栏的启动契约。

host 插件改编自 DeepSeek Harness 源码里的 @deepseek-ai/dsh-remote-access(MIT),本仓库以 @froststarinquire scope 发布。

profile 在 dsh.profile.bundles 里把本 bundle 放在 dsh-web-app 之后。因为 bundle patch 替换整行的 config,插入的行全部从部署环境(DSH_REMOTE_ACCESS_*)读取,绝不写死字面量。未配置的安装保持惰性:插件的 provider 默认为 none,所以一个还没有隧道凭据就添加本 bundle 的 profile 不会启动任何子进程。

本 patch 还会把目录选择器固定为应用内 -browse 交互。通过反向隧道时原生 OS 对话框不可用,dsh-web-app 的自适应选择器会让远程操作者无法添加工作区。本 bundle 禁用它,改挂 dsh-host-directory-picker-browse 及其 dsh-client-ui-directory-picker-browse 表层。

配置

该行遵循部署环境变量(全部可选;provider 默认为 none):

环境变量 含义
DSH_REMOTE_ACCESS_PROVIDER 隧道后端;frp 通过兼容 frpc 的客户端挂载隧道,缺省保持 schema 默认 none(惰性)。该字段为部署可配置,便于后续接入其它后端
DSH_REMOTE_ACCESS_FRPC_PATH frpc(或兼容程序)的绝对路径;providerfrp 时必填
DSH_REMOTE_ACCESS_FRP_ARGS 传给 -f 的 frp 快速启动值,即 <访问密钥>:<隧道ID>
DSH_REMOTE_ACCESS_CWD 隧道子进程的工作目录;缺省为进程 cwd
DSH_REMOTE_ACCESS_PUBLIC_URL 隧道就绪后对用户展示的公网 URL;插件的 trustedAuthority() 会将其规范化为信任围栏所需的权威值

providerfrpfrpcPath/frpArgs 缺失时,所属插件会响亮拒绝激活,而非静默地在没有隧道的情况下运行。

隧道的连接地址由你自己提供——插件从不内置默认端点。请用上方环境变量设置你自有提供方的公网主机(DSH_REMOTE_ACCESS_PUBLIC_URL)与启动凭据(DSH_REMOTE_ACCESS_FRP_ARGS);不设置时,安装保持惰性。

启动契约

隧道的公网权威值必须在启动时进入 /api browser-trust 围栏——围栏只在 dsh-web-app 提供 webRuntime 时采样一次,运行期插件无法事后补挂。请把 <your-tunnel-host:port> 换成你自己的隧道权威值,以可信 host 启动(并按需开启远程 facade):

dsh --profile web \
  --trusted-host <your-tunnel-host:port> \
  --allow-remote-privileged \
  --remote-auth

--allow-remote-privileged 让 loopback 锁定的方法(settingscredentials、原生对话框)也接受该可信权威值;--remote-auth 在非 loopback 的 /api 上强制配对会话门禁。部分隧道服务商(包括典型的 frp 边缘)只支持 HTTPS(对 http:// 返回 501),因此手机应通过 https:// 公网 URL 访问。

Known Limitations and Deferred Work

  • 本 bundle 不对远程 surface 做认证——--remote-authdsh-web-app 中启用配对门禁;若不启用,隧道会把 harness 暴露给任何能访问公网权威值的人。只应在你信任的隧道上运行。
  • 信任围栏是启动时快照——隧道权威值必须通过启动时的 --trusted-host 传入;本 bundle 无法在启动后从运行时补加。

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →