把桌面端会话通过局域网或 Tailscale 转发到手机浏览器
28.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add 1731988818/dsh-lan-remote该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · desktop
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 12 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 19 处,展示前 17 条)
- 读取本地文件index.js:156
const raw = JSON.parse(await readFile(CONFIG_PATH, 'utf8')) - 写入本地文件index.js:169
await mkdir(DATA_DIR, { recursive: true }) - 发起网络请求index.js:232
const upstream = http.request( - 执行外部命令固定命令index.js:344
execFile( - 执行外部命令固定命令index.js:367
const child = spawn( - 读取本地文件index.js:406
authSet: existsSync(MAIL_AUTH_PATH), - 读取本地文件index.js:409
if (!existsSync(MAIL_CONFIG_SCRIPT)) return { ...empty, error: 'mail-config.ps1 missing' } - 读取本地文件index.js:447
if (!mailConfig || !existsSync(mailConfig)) { - 读取本地文件index.js:451
if (!existsSync(MAIL_AUTH_PATH)) { - 读取本地文件index.js:483
if (!existsSync(MAIL_CONFIG_SCRIPT)) { - 写入本地文件index.js:565
await writeFile( - 发起网络请求client.js:103
const response = await fetch(ROUTE, { headers: { accept: 'application/json' } }) - 写入剪贴板client.js:242
await navigator.clipboard.writeText(text) - 发起网络请求client.js:256
const response = await fetch(RESTART_ROUTE, { method: 'POST', headers: { accept: 'application/json' } }) - 发起网络请求client.js:269
const response = await fetch(MAIL_ROUTE, { headers: { accept: 'application/json' } }) - 发起网络请求client.js:295
const response = await fetch(MAIL_CONFIG_ROUTE, { - 发起网络请求client.js:327
const response = await fetch(MAIL_ROUTE, { method: 'POST', headers: { accept: 'application/json' } })
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
把正在运行的 DeepSeek Harness 桌面网页界面开放给手机,通过回环反向代理访问同一个会话,提供局域网和 Tailscale 两种带 token 的 URL,无需再开第二个 harness。
README
由 DeepSeek 最新模型翻译生成dsh-lan-remote
把正在运行的 DeepSeek Harness Web GUI 暴露到局域网,让手机访问同一个会话(不是另起一个 harness);本机与手机都装 Tailscale 时,不在同一网络也能连。
DeepSeek Harness 桌面版把 web 服务绑定在 127.0.0.1,且拒绝 0.0.0.0 之类的通配地址。本插件不改变宿主绑定,而是在 0.0.0.0:<端口> 上起一个反向代理,把请求转发到宿主正在监听的 loopback 端口,因此手机打开的就是桌面端当前那一个实例。
功能
- 反向代理:LAN 端口 → 127.0.0.1:<webServer.port>,自动改写 Host / Origin / Referer 并通过宿主的认证围栏(WebSocket upgrade 同样转发)。
- 两条地址:卡片里同时给出「局域网(同一 Wi-Fi)」与「异地(Tailscale)」两个带 token 的地址,各自可一键复制。异地地址在本机 Tailscale 已登录时自动出现。
- 浮动听筒按钮:页面右下角(可拖动,位置记忆),点开后显示当前访问地址、复制按钮与「重新探测」。
- 地址通知:插件启动时写桌面文件、弹通知气泡;可选发送邮件(手动按钮或启动时自动发)。
展开完整文档(README 剩余 1 节)
dsh-lan-remote 把正在运行的 DeepSeek Harness Web GUI 暴露到局域网,让手机访问同一个会话(不是另起一个 harness);本机与手机都装 Tailscale 时,不在同一网络也能连。 DeepSeek Harness 桌面版把 web 服务绑定在 127.0.0.1,且拒绝 0.0.0.0 之类的通配地址。本插件不改变宿主绑定,而是在 0.0.0.0:<端口> 上起一个反向代理,把请求转发到宿主正在监听的 loopback 端口,因此手机打开的就是桌面端当前那一个实例。 功能 - 反向代理:LAN 端口 → 127.0.0.1:<webServer.port>,自动改写 Host / Origin / Referer 并通过宿主的认证围栏(WebSocket upgrade 同样转发)。 - 两条地址:卡片里同时给出「局域网(同一 Wi-Fi)」与「异地(Tailscale)」两个带 token 的地址,各自可一键复制。异地地址在本机 Tailscale 已登录时自动出现。 - 浮动听筒按钮:页面右下角(可拖动,位置记忆),点开后显示当前访问地址、复制按钮与「重新探测」。 - 地址通知:插件启动时写桌面文件、弹通知气泡;可选发送邮件(手动按钮或启动时自动发)。 - 邮件设置:卡片内「邮件设置」自行填写 SMTP 服务器、端口、发件账号、授权码与收件地址,保存在插件目录 data/ 下(授权码用 Windows DPAPI 加密)。不含任何预置账号,每个使用者填自己的。 - 状态接口:GET /dsh-lan-remote/api/status、GET/POST /dsh-lan-remote/api/mail、POST /dsh-lan-remote/api/mail/config、POST /dsh-lan-remote/api/restart。 安装 dsh plugin --profile <profile> add github:1731988818/dsh-lan-remote dsh plugin add 会把它写进 profile 的 dependencies 和 dsh.profile.bundles,重载后插件随 harness 启动;dsh plugin remove 反过来注销。也可以把目录链接到 <profile>/node_modules/ 后自行登记。 如果安装一直停在 Progress: resolved ... added 0,通常是 <profile>/node_modules/ 里已经有同名的旧链接(比如先前用 file: 方式链接安装过)。pnpm 需要替换该目录,而 Windows 上被占用的链接会让它不断重试、始终不完成。先停用插件,删除 <profile>/node_modules/dsh-lan-remote 以及 <profile>/node_modules/.ignored/_tmp_,再执行上面的命令,一般几秒即可装完。 配置 在 <profile>/cordis.patch.yml 中可覆盖默认值: - id: dsh-lan-remote config: enabled: true listen: 0.0.0.0 # 反代监听地址 port: 62991 # 反代端口(被占用时自动顺延 20 个) address: null # 固定使用的 LAN IPv4,null 为自动探测 notify: desktopFile: true toast: true mail: true # 启动时是否自动发邮件 mailConfig: null # 邮件配置文件路径,默认 data/notify.config.json 异地访问(Tailscale) 反代监听的是 0.0.0.0,因此本机任何一块网卡上的地址都能用。Tailscale 提供了一条不用公网 IP、不用内网穿透的组网通道: 1. 电脑与手机都安装 Tailscale,用同一个账号登录。 2. 电脑上确认 tailscale status 里自己是在线状态,记下本机 100.x.y.z 地址(插件会自动读取,卡片里「异地(Tailscale)」那一条就是它)。 3. 手机打开 Tailscale(保持连接),用第二条地址访问即可。 发邮件、桌面文件里也会同时写上两条地址,出门前在手机上看一眼就行。若插件没显示异地地址,说明本机 Tailscale 未登录或未启动,登录后打开卡片会自动刷新(或点「重新探测」)。 注意 - 地址里的 ?token= 是访问凭证,等同于登录态,不要外发或截图分享。 - 默认明文 HTTP,仅建议在可信局域网或 Tailscale 私网内使用;跨公网请自行加 TLS 或改用隧道。 - Tailscale 地址同样受这一层认证保护:裸 IP 访问返回 401,必须用带 token 的完整地址。 - 手机端首次访问需要带 token 的完整地址,访问一次后浏览器会保持 30 天登录态。 - 电脑睡眠/切换网络后,点「重新探测」即可刷新地址。 MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
1731988818/dsh-lan-remote
把桌面端会话通过局域网或 Tailscale 转发到手机浏览器
相关插件 · 桌面端
Codex 任务面板chuspeeism/dashi-taskboard
现代化可灵活嵌入的任务面板,支持 Codex、DeepSeek Harness
★ 3,409已汉化DSH
71.7
多智能体自进化开发平台Prism-Shadow/penguin-harness
统一、稳定的 Agent 自进化框架全自动优化:任意模型 · 任意算法 · 任意 Benchmark
★ 3,125已汉化DSH
71.1
桌面宠物PC2005-cloud/dsh-pet
DSH 桌面宠物:一行命令装好即用的透明动画小桌宠,支持多开、大小位置随心配置;还内置 DIY 素材链,能用 AI…
★ 5,465已汉化DSH
71
多端 Agent 工作台GCWing/OpenBitFun
OpenBitFun 是一个高度可定制的开源 Agent 工作台,让任务按你的方式持续推进。
★ 3,457已汉化DSH
70.8
DSH Desktopanywhere-labs/dsh-desktop
为 DeepSeek Harness DSH 插件生态打造的现代化桌面端解决方案。万物皆「插件」,桌面本身也是「插件」。
★ 34,710已汉化DSH
70.7
桌面宠物伴侣OpenPetsHQ/openpets
桌面伴侣平台,带宠物、插件,还能选配本地智能体集成。
★ 1,378已汉化DSH
70.2
这是你的仓库?认领条目