前言¶
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 或额外隧道服务:
- 在电脑和手机上安装 Tailscale,登录同一账号。
- 在电脑上执行
tailscale status,确认在线,记下100.x.y.z地址(插件会自动读取)。 - 保持手机上 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