通过 LAN 与 Tailscale 远程访问 DeepSeek Harness 会话

前言

DeepSeek Harness(DSH)桌面版默认将 Web 服务器绑定到 127.0.0.1,无法直接从局域网访问。当你在电脑上运行一个 Harness 会话,想用手机继续对话时,只能打开新的会话,无法复用当前状态。dsh-lan-remote 插件通过反向代理,把桌面版 Harness 的 Web 界面暴露到局域网,让手机通过同一会话继续操作。

插件定位

dsh-lan-remote 是一个 DSH 插件,由用户 1731988818 维护,版本 1.1.1,遵循 MIT 许可证。它不启动新的 Harness 实例,而是监听本机端口,将外部请求转发到桌面版 Harness 已有的 Web 服务器(127.0.0.1:<webServer.port>),同时重写 HTTP 头部(Host/Origin/Referer),让手机访问的请求通过 Harness 的鉴权墙。它同时支持 LAN 访问和 Tailscale 访问,满足不同网络环境下的远程需求。

核心功能

反向代理

插件在 0.0.0.0:<port> 启动反向代理,将 LAN 或 Tailscale 的请求转发到桌面版 Harness 的 127.0.0.1:<webServer.port>。它重写 Host/Origin/Referer 头部,让转发请求通过 Harness 的鉴权机制,WebSocket 升级请求也被转发。

双 URL 访问

插件界面提供两个 URL:
- LAN URL:连接同一 Wi-Fi 时使用。
- Tailscale URL:当本机登录 Tailscale 时自动生成,可在任意网络访问。

每个 URL 都有复制按钮,远程 URL 会在本机登录 Tailscale 后出现。如果卡片中看不到远程 URL,说明 Tailsale 未运行或未登录,点击「重新检测」可刷新。

浮动 handset 按钮

页面右下角有一个可拖拽的浮动按钮,位置会记住。点击它展开卡片,显示当前 LAN URL 和 Tailscale URL,提供复制按钮和重新检测操作。

邮件与桌面通知

插件启动时会写入桌面文件(.desktop)并显示 Toast 通知,可选择是否发送邮件。邮件设置需自行配置 SMTP 服务器、端口、账户、应用密码和收件人,密码加密存储在插件的数据目录(data/notify.config.json)。插件不预置任何账户。

状态端点

插件提供一组 API 端点:
- 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 桌面版中执行以下命令,将插件添加到指定 profile 的依赖和 bundles:

dsh plugin --profile <profile> add github:1731988818/dsh-lan-remote

安装完成后,重新加载 DSH,插件会随 Harness 启动。如果安装卡在 Progress: resolved ... added 0,通常是因为 <profile>/node_modules/ 下存在旧的同名链接。解决方法:禁用插件,删除 <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 地址(插件会自动读取)。
  3. 保持手机上 Tailscale 连接,打开插件提供的 Tailscale URL。

邮件和桌面文件都会列出两个地址。如果卡片中没有远程 URL,说明 Tailscale 未运行或未登录,重新登录后点击重新检测即可。

注意事项

  • URL 中的 ?token= 相当于登录会话凭证,不要分享或截图。
  • 默认使用 HTTP,建议在受信任的网络或 Tailscale tailnet 内使用;如需公网访问,请自行添加 TLS 或隧道。
  • Tailscale URL 同样受 Harness 鉴权保护,直接访问 IP 会返回 401,必须使用完整的 token URL。
  • 手机首次访问需要完整 token URL,浏览器会保留 30 天会话。
  • 睡眠或切换网络后,点击重新检测按钮刷新地址。

总结

dsh-lan-remote 解决了 DSH 桌面版 Web 界面无法从手机访问的问题,通过反向代理让手机访问同一个 Harness 会话。它支持 LAN 和 Tailscale 两种远程方式,提供浮动按钮、邮件通知等实用功能。使用前请确认源码与许可证,插件以当前 DSH 进程权限运行。

  • 插件目录:https://www.skillhub.cn/plugins/1731988818/dsh-lan-remote
  • GitHub:https://github.com/1731988818/dsh-lan-remote
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye