DeepSeek Harness 移动端访问插件

前言

DeepSeek Harness (DSH) 的桌面 Web 界面默认绑定在 127.0.0.1 上,这保证了终端、文件和设置等敏感功能的安全。但在实际使用中,开发者往往需要在移动端查看会话或继续对话。直接暴露端口存在安全风险,而使用 VPN 又增加了配置门槛。

下面介绍的插件通过在 DSH 进程内部运行一个独立的 HTTP 监听器,提供了一个仅限聊天的移动端入口。它保持了桌面 Web 表面不变,同时允许通过局域网或自建隧道进行访问。

这是什么

这是一个由 huanlanmie 维护的 DSH 插件。它是一个受 PIN 保护的移动端 Web 客户端,运行在 DSH 的独立端口上。它利用 DSH 自身的服务(如 sessionQuery、permissionPresets)提供对话能力,但不涉及对 DSH 核心功能的重写。

核心功能

移动端客户端 (/m/)

  • 登录与界面:通过 8 位 PIN 码登录,界面包含会话列表、实时对话流。
  • 流式回复与工具调用:支持流式输出,并内联渲染工具调用步骤。
  • 会话内操作:无需离开聊天界面,即可切换模型和权限预设。
  • 统计与导航:显示与桌面端一致的会话统计(轮次、Token、成本),提供回合导航栏,支持分页加载历史记录。
  • 主题:支持浅色/深色模式切换。

桌面端设置页面

  • 全局控制:提供总开关,关闭后监听器不启动。
  • 网络配置:设置监听端口、网络模式(LAN / Tunnel / 两者)、隧道主机名及空闲超时时间。
  • 会话管理:支持扫描二维码连接手机、撤销会话、查看登录历史。

安全特性

  • 默认安全:插件默认关闭且仅监听环回地址,未设置 PIN 前无法从外部访问。
  • PIN 加密:使用 scrypt 算法(参数 N=2^14, r=8, p=1)存储 PIN,包含随机盐值,防止暴力破解。
  • 令牌管理:使用 256 位随机令牌,持久化存储哈希值,设有 7 天过期时间及空闲超时(默认 60 分钟)。
  • 防护机制:具备防暴力破解(每分钟 6 次尝试,5 次失败锁定 IP 15 分钟,加倍惩罚)、主机白名单、CSRF 保护。

安装与启用

在安装前,请确保你的环境满足要求:Node.js ≥ 20,且已安装 DeepSeek Harness(版本 0.1.1-rc.2 及以上)。

执行以下命令安装插件:

dsh plugin --profile web add github:huanlanmie/dsh-mobile-access

安装完成后,重启 dsh web。在桌面 Web UI 的设置卡片中,会出现 Mobile access 选项。

典型用法

  1. 设置 PIN:在桌面 UI 的 Mobile access 设置卡片中,设置一个 8 位 PIN 码。
  2. 启用并配置网络:打开总开关,选择网络模式:
    • LAN:监听 0.0.0.0,在同一 Wi-Fi 下,使用手机浏览器扫描设置页面的二维码访问。
    • Tunnel:配置隧道服务(如 Tailscale、cloudflared 或 cpolar),通过 HTTPS 外网访问。
    • Both:LAN 用于本地,Tunnel 用于外出。
  3. 手机端使用:在手机浏览器访问 /m/,输入 PIN 码即可继续会话。

适用场景与注意

  • LAN 模式限制:LAN 模式使用明文 HTTP,网络中的任何设备都能嗅探到 PIN 和令牌。请勿在不可信的公共 Wi-Fi 下使用 LAN 模式,应优先使用 Tunnel 模式。
  • PIN 重置影响:修改或重置 PIN 会撤销所有现有的会话,需重新登录。
  • 第三方代码:该插件为第三方维护的开源项目,非 DeepSeek Harness 官方组件。在生产环境安装前,建议审查源码。

该插件通过将移动访问与桌面管理界面隔离,在保证安全性的前提下,为 DSH 用户提供了便捷的移动端使用方案。更多细节可参考 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

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

小夜