
Security News
Agent Baseline Publishes Security Reference Architecture for Software Factories
Agent Baseline’s new reference architecture shows how to secure software factories with four boundaries enforced outside the AI agent.
dsh-mobile
Advanced tools
在手机上安全、实时地使用电脑中的 DeepSeek Harness。
能做什么 · 快速开始 · 连接教程 · 扩展与自定义 · 设备管理 · 第三方插件适配 · 安全 · 兼容性 · 贡献者 · 更新记录 · English
DSH Mobile 是 DeepSeek Harness 社区插件,原生 App 仅支持 Android。
当前正式版本:0.6.5。优化移动页面模块管理与字体设置,改善设置操作可达性,修复 Windows cpolar 解包及部分皮肤造成的轨迹空白。更新记录 · 版本下载。
版本说明:自插件 0.6.2 起,Android App 与插件独立编号、独立发布,版本号无需一致;插件升级不代表 App 需要同步升级。兼容说明。
下载 Android App 0.6.3
版本说明与校验文件
DSH Mobile 是一个 DeepSeek Harness 插件,让手机浏览器或 Android App 通过局域网,或可选的 Tailscale Funnel、cpolar、cloudflared、自建 FRP 或自有反向代理远程通道连接电脑,继续使用同一份会话、工作区、消息和工具。电脑端分别启停局域网与远程访问、分别管理配对授权;Android App 统一显示已配对电脑。插件不修改 DeepSeek Harness 源码。
移动访问使用独立 HTTPS 与设备配对;Android App 固定局域网私有 CA,公开远程通道使用系统信任的证书;自签 FRP 入口还需由 0.4.6 App 在配对时固定远程 CA。
它还能在 DSH 对话里用 /mobile <需求> 定制手机端。
配对设备可以操作电脑上的 DSH,应视为完全受信任的设备。局域网只在可信网络开启;远程访问应使用可靠的 HTTPS 通道。手机丢失时,请立即从电脑端撤销设备。
先在电脑安装插件,再用 Android App 或手机浏览器配对。按你使用的 DSH 选择安装方式。
在应用的 插件 页面安装并启用 dsh-mobile,再打开 移动访问 配置局域网或远程通道。Desktop 的 profile 由应用管理,不适用下面的 --profile web 命令。
安装或更新后,请从应用菜单正常退出并重新打开 Desktop,无需清除会话或配对数据。若仍提示 dsh-mobile-question-fixes: failed to import,请检查安装日志;这也可能是组件解析问题,单纯重启不一定能解决。
已经安装 dsh 命令时,在终端执行:
dsh plugin --profile web add dsh-mobile@latest
dsh plugin --profile web exec dsh-mobile setup
dsh --profile web
在 DeepSeek Harness 源码目录中执行:
pnpm install
pnpm dsh plugin --profile web add dsh-mobile@latest
pnpm dsh plugin --profile web exec dsh-mobile setup
pnpm dsh --profile web
也可以通过插件市场安装(可选):
dsh plugin --profile web add dshmarket
重启 DSH 后,在 设置 → 插件市场 里搜索 dsh-mobile 并安装。首次打开“移动访问”时,局域网页会列出电脑当前网络;确认网卡后由插件生成私有证书并配置局域网,按提示重启一次 DSH 即可使用,无需再打开终端运行 setup。
setup 会自动选择并记住当前局域网,切换 Wi-Fi、热点或 IP 后通常自动恢复;仅在自动选择失败时使用 --address 192.168.x.x。设置、证书、设备和自定义文件保存在 $DSH_HOME/mobile-access/。
从上方链接下载正式 Android APK,或用手机浏览器打开电脑端生成的配对链接。随后按连接教程选择局域网或远程访问;手机不需要安装额外的隧道客户端。
通过 npm 安装的插件会在桌面界面加载时检查新版本,有更新时在访问面板标题右侧显示“更新插件”,安装后需重启 DSH。App 下载入口展示最新版本;本地开发包不会被自动覆盖,Android App 不会主动检查或推送版本更新。
局域网和远程访问是两套相互独立的连接:在电脑附近优先使用局域网,延迟最低;离开当前网络时再启用远程访问。电脑端分别管理开关与配对授权;Android App 将所有已配对电脑集中显示在设备列表中。
适合同一 Wi-Fi、以太网或手机热点,是默认且最简单的连接方式。
端口说明:dsh web --port 修改 DSH Web 上游端口(默认 3080),插件会自动跟随;dsh-mobile setup --port 修改 Mobile HTTPS 监听端口(默认 3443),配对二维码会包含实际端口。
无图形界面的 Linux 主机,或通过局域网 IP / 反向代理打开 DSH Web 时,左下角 移动访问 管理口同样可用。管理 API 仍要求 TCP 对端是本机回环(例如本机 socat / 反向代理连到 127.0.0.1),不会把插件自己暴露到公网;浏览器 Host 可以是 localhost、RFC1918 或 IPv4 链路本地地址,公网 IP 和任意域名仍会返回 403。反向代理必须只对可信的本机或内网请求开放,不能把 /api/mobile-access 管理路径公开转发到互联网。手机走的独立 HTTPS 入口(默认 3443)仍是移动端界面,不会变成桌面管理口。
已有 WireGuard 等受控路由网络时,0.6.0 提供额外可信网段。它只追加明确的来源 CIDR,不建立 VPN 或路由,也不自动改 Windows 防火墙。
不安装 App 也可以访问:点击 复制配对链接,在手机浏览器中打开。局域网使用私有证书,浏览器首次访问可能提示不受信任;只在确认这是自己的 DSH 网关后按浏览器指引继续。公开证书的远程入口不应出现证书警告,若出现请检查通道和证书,不要直接忽略。
手机浏览器中的配对和重新连接页面会按浏览器的 Accept-Language 显示简体中文、英文或意大利文;Android App 则跟随系统语言。DSH 内的插件控制面板继续跟随 DSH 当前语言。
浏览器手动配对时填写电脑端显示的 43 位配对码;以 dsh1. 或 dsh2. 开头的是 Android App 密钥,不要填入浏览器配对框。优先打开电脑端复制的配对链接,它会自动填写配对码;过期后在电脑端重新生成。
适合手机离开电脑所在网络后使用。远程访问默认关闭,手机不需要另外安装 Tailscale、cpolar、cloudflared 或 FRP。
远程服务可能受带宽和连接限额影响:cpolar 免费方案 当前为 1 Mbps,Tailscale Funnel 也存在不可配置的带宽限制,cloudflared 的 quick tunnel 由 Cloudflare 免费提供、地址随机且有限流。DSH Mobile 使用静态资源 gzip、WebSocket 长连接和顶部按需加载改善体验;会话的历史窗口与分页大小由 DSH 决定,插件无法提高服务商限额。
页面能打开但一直“重连中”,应先区分 WebSocket 升级失败、慢速数据同步和心跳超时,操作见慢链路与反复重连指南。0.5.4 还提供按确切路径启用的 WebSocket 压缩,默认关闭;长会话或计量网络可按指南尝试,并对比实际传输量。
| 连接方式 | 需要准备 | 地址特点与注意事项 |
|---|---|---|
| cpolar | cpolar 账号与 Authtoken | 国内网络可优先尝试;免费临时地址可能变化 |
| cloudflared 快速隧道 | 无需账号或域名 | 临时随机地址;不支持 SSE,即时通知存在限制 |
| cloudflared 命名隧道 | Cloudflare 账号与域名 | 固定域名;配置指南 |
| Tailscale Funnel | Tailscale 登录与 Funnel 授权 | 中国大陆网络可能不稳定 |
| 自建 FRP | 已有 VPS,域名或真实公网 IPv4 | 需管理服务器;部署或接入既有 frps |
| 自有反向代理 | 已有公开 HTTPS 代理 | 插件只提供私有认证后端;配置指南 |
在面板选择对应通道后:
frpc 按需下载校验,VPS 需单独清理。需要 Android App 0.3.3 或更新版本;证书、端口和操作步骤见 自建 FRP 使用指南。远程通知说明:浏览器的
Notification权限按 Origin 分别授权,网页系统通知只显示在运行该网页的设备上。Android App 的任务提醒是独立的 0.4.0 功能,需要在 App 内 DSH 的 设置 → 通用设置 中主动开启,且依赖 WebView 页面仍存活;它不是通用的后台推送。需要可靠的后台推送时,请使用你已配置的服务端 webhook 或机器人通道。
Tailscale Funnel 覆盖范围广,但在中国大陆网络下可能不稳定。其运行组件把公开监听生命周期绑定到父进程和受限控制通道;父进程退出、控制通道关闭或显式停止时会结束当前代次并清理资源。cpolar 更适合国内网络;自建 FRP 适合已有 VPS、希望避开公共服务带宽限制的用户。cloudflared 有两种模式:快速隧道不需要账号或登录,但地址随机、每次重连都会变化,官方定位为测试用途且无可用性保证,因此只适合临时或验证场景;命名隧道使用 Cloudflare 账号令牌,能保留重启后不变的固定公网域名。中国大陆 VPS 上的未备案域名可能被云厂商拦截,此时可使用公网 IPv4 模式。插件会校验按需下载的固定版本组件;本机托管的配置与程序保存在 $DSH_HOME/mobile-access/,可在面板中清理。VPS 侧的文件须按自建连接指南单独清理。
自建 FRP 的托管部署使用指向 DSH 回环网关的 HTTP vhost:VPS 上的明文 vhost 只允许回环访问,由 Caddy 提供公网 HTTPS。0.4.6 新增“接入既有 frps”,不会安装或改动服务器;公开 CA 档仍需受限 HTTP vhost 与 Caddy,自签档则用 frps TCP 透传至电脑端 HTTPS 网关,须由 0.4.6 Android App 在配对时固定 CA。自签档目前面向公网 IPv4,旧版 App 不支持;两档都不开放任意 FRP 配置。frps 的 proxyBindAddr 是全局代理监听设置,不能只为新增 TCP 入口调整而忽略已有明文 vhost。接入指南。
自有反向代理的 HTTP 后端只允许留在可信私网;不要把它映射到公网,也不要绕过它直连 DSH 或现有 LAN 3443。来源 CIDR 匹配代理的直接 TCP 来源,不信任转发头;反代须保留外部 Host(含端口)、Origin、Cookie 和 WebSocket。清除代理配置不会删除已配对远程设备。
各通道的系统和组件支持范围见兼容性。本机托管的程序、凭据与配置可从面板清理;VPS 上的文件必须按对应指南单独清理。
在 DSH 对话里输入 /mobile <需求>,当前会话的 agent 会处理定制请求;文件修改完成后,手机端通常会在几秒内刷新。例如:
/mobile 把手机端做成老式终端的样子,让消息像终端输出一样逐行滚动
也可以让手机端调用电脑端的能力,比如实时读取电脑状态:
/mobile 为手机端添加赛博朋克风格的电脑监控面板,实时显示电脑的 CPU、内存和磁盘占用
/mobile 把需求交给 DSH 对话中的 agent,由它直接修改本机 $DSH_HOME/mobile-access/ 下的文件,保存后手机端自动生效。改动分两类:界面和交互在 mobile.css/mobile.js;需要电脑能力时用 extensions/ 下的扩展,其 host.mjs 以本机用户权限在电脑上运行。不修改 DeepSeek Harness 源码。
扩展清单及其脚本、样式和资源按版本标识刷新。插件监听到 /mobile 或扩展文件变化后,会通过已认证连接通知手机立即更新;页面可见时每 45 秒、隐藏时每 5 分钟的检查只作为断线兜底。Host 暂存失败会继续使用现有版本;若 Host 已更新但新手机界面激活失败,则关闭该扩展并自动重试,避免混用新旧能力。
扩展动作的 input 可以直接使用 api.schema.object(...) 等 Schemastery schema,也可以使用带 parse(value) 的适配器;手机端 api.host.invoke() 会按 JSON 请求发送,输入会在电脑端动作执行前完成校验和规范化。
0.6.3 新增可选的 Worker 执行模式,用于约束可信本地扩展的 JavaScript 阻塞;默认关闭,按扩展选择,故障后显式恢复,不自动重放操作。这不是权限沙箱,也不要求 App 同步版本。
你甚至可以通过扩展连接电脑上运行的酒馆,并从同一 App 打开它的简易移动前端。
host.mjs与本机程序拥有相同权限;仅创建和运行你理解并信任的电脑端扩展。
示例的实际效果:
Android App 在“已配对设备”中统一显示电脑及其局域网/远程连接记录。两种方式的授权彼此独立,同一台电脑可能有两条记录。升级会迁移旧凭据,无需重新配对;重新验证变化的地址后,相同身份的记录会合并并保留名称。自签 FRP 使用独立 CA 指纹,可能另成一条记录。Token 和固定的 CA 由 Android Keystore 加密;配对二维码含短期配对信息,不含长期设备 Token 或 CA 私钥。
每条记录显示自定义名称、连接方式、Origin、定期更新的可达状态和最近连接时间。绿色状态点表示“可达”,灰色状态点表示“检测中”“暂不可达”“配对已过期”或“电脑端已移除”;可达性检查直接验证 DSH Gateway,不依赖 ICMP,也不会把暂时断网误判成电脑端撤销。
电脑端撤销会永久删除持久化存储中的设备记录及令牌摘要,而不是保留 revokedAt 标记;启动时也会清理旧版留下的已撤销记录。删除后,旧令牌与未知令牌一样返回 401 authentication_failed。现有 App 若在离线期间被撤销,再次检测时可能显示“配对已过期”,需要重新配对;在线会话仍会收到撤销通知并立即断开。
![]() 设备管理列表:查看已配对电脑、连接方式和可达状态 |
![]() 启动行为设置:选择直接进入 DSH 或显示设备列表 |
0.5.3 包含默认启用、可独立启停的 dsh-mobile-question-fixes 提问卡片组件。在 DSH 插件详情的组件列表中关闭它,可立即恢复原卡片样式。长问题、选项和底部按钮在有限高度的卡片内共同滚动,收起时标题最多显示两行;手机浏览器的触屏 Enter 保留换行,Android App 则仅在软键盘已打开且未连接实体键盘时使用该行为。答案草稿仍由 DSH 管理,不另存到浏览器 localStorage。
DSH Mobile 保留工作区、任务管理、终端和文件面板入口,第三方插件仍由 DSH 加载。移动层适配布局与连接,不修改 DeepSeek Harness 源码;具体插件在小屏上是否易用,仍取决于它自身的布局与交互。
第三方插件需要能在 DSH Web 页面中运行,并使用可达的 HTTP/WebSocket 接口。移动层不保证把所有插件的自定义布局自动改成手机布局,也不能替代插件依赖的桌面原生窗口。
皮肤若依赖原生布局容器,背景或装饰可能无法在专用移动布局中挂载。可在手机的“移动页面模块”中只对本设备不加载可选皮肤,无需卸载电脑插件;背景、配色与排查边界见皮肤与移动布局。
/sidebar/ws/terminal。社区侧边栏插件使用的其他路径默认拦截,通常会在诊断页显示为待处理项目;截图中的 /sidebar/ws/agent-opens 和 /sidebar/ws/agent-terminals 就属于这类需要按实际插件确认的路径。若另一个远程访问插件在 DSH Mobile 页面上显示自己的“未配对”提示,那是两套不同的授权。可先在电脑端暂时关闭另一插件的远程访问,确认 Mobile 链路是否恢复;不要把 DSH Mobile 密钥输入它的配对页。仅用下面的模块排除选项不能保证移除该插件在页面启动前注入的请求改写脚本,参见 #111。
网关允许部分 HTTP iframe 不代表客户端会加载它:内容未加密,Android App 仍阻止 HTTPS 页面中的 HTTP 混合内容,浏览器也可能拦截。请优先配置 HTTPS;通过 HTTPS 管理入口打开远程面板时会显示相同风险提醒。
0.6.0 新增移动页面模块设置,可分别设置电脑默认和当前设备选择,不卸载电脑插件。保存后下次手动打开生效,不自动刷新会话;已保存选择失效时提供恢复入口。
若某个不需要的客户端插件显著增加手机首次加载流量,高级用户可在当前 profile 的 mobile-access 插件配置中设置 excludedClientModules,填入启动清单中的准确包名,重启 DSH 后生效。它只改变经网关提供的专用移动页面;电脑端和 ?frontend=stock 页面不变。例如,若当前启动清单同时包含以下两个包,下面的配置会移除文档预览及依赖它的“在应用中打开”功能:
excludedClientModules:
- '@deepseek-ai/dsh-client-ui-sidebar-documentpreview'
- '@deepseek-ai/dsh-client-ui-open-in-app'
这是按安装环境选择的高级配置,没有默认排除列表。插件会拒绝不存在的包、启动必需模块,以及仍被保留模块通过 inject 或 external 引用的包;配置不匹配当前 DSH 或社区插件时,移动页面返回 409 excluded_client_modules_invalid 和冲突详情,电脑端也会提示,移除或调整配置即可恢复。模块内容与依赖会随 DSH 版本变化,不能把其他人的节省比例当作自己的预期。
设置优先级为本设备选择 → 电脑默认 → 插件配置。详细生效与恢复规则见模块指南。
![]() Android App 下社区侧边栏插件的兼容 |
![]() 连接诊断:检查第三方 WebSocket 路径并按需放行 |
| 方式 | 适合场景 | 说明 |
|---|---|---|
| Android App | 日常使用 | 首次配对时分别提供局域网与远程入口;局域网自动发现,公开远程证书由系统验证,自签 FRP 入口由 App 固定 CA |
| 手机浏览器 | 临时或跨平台访问 | 打开“移动访问”卡片显示的 HTTPS 地址;局域网私有证书可能需要手动确认,公开远程证书不应出现警告 |
Android App 只是 Kotlin WebView 薄壳,不内置另一份网页;手机浏览器访问的是同一页面。开发者可在已认证移动地址后追加 ?frontend=stock 对照原生布局;该诊断入口绕过移动增强和模块选择,部分 API 操作可能被拒绝,不能代替正常移动入口。详见皮肤与移动布局。
0.5.5 的专用移动页面会在 DSH 的第一个启动脚本之前,同步加载经网关鉴权的同源 /mobile-access/compat.js,为缺少 Iterator / Iterator helpers 的 WebView 提供随插件打包的 core-js 兼容实现,避免启动时出现 Iterator is not defined。兼容层按能力检测保留或修正原生 helper,不依赖 CDN,也不会放宽 CSP;桌面页面与 ?frontend=stock 页面不会加载这个网关脚本。
0.6.0 在同一个启动前脚本中增加 Promise.withResolvers 与 AbortSignal.any 的能力检测和兼容实现。Android App 还会在支持 document-start 注入的 WebView 中,为配对的精确 Origin 提前补齐 Promise.withResolvers。这只覆盖已识别的缺失 API,不是所有旧内核的支持承诺;前端仍以 ES2022 为构建目标,尚未在报告中的华为 WebView 114 真机上验收。出现其他兼容错误时,若设备允许更新,请优先更新 Android System WebView / Chrome;若系统组件不可更新,请保留完整错误、内核版本与进入方式供排查。
社区客户端(非官方):微信小程序客户端 原生微信小程序实现,复用「移动访问」的配对与 Remote 流协议(需 dsh-mobile ≥ 0.3.8)。 因微信正式版强制「合法域名」(需 ICP 备案的自有 HTTPS 域名),目前需通过微信开发者工具 / 真机调试使用,详见其 README。
flowchart LR
Phone["Android App / 手机浏览器"] -->|"局域网 HTTPS"| Lan["局域网网关"]
Phone -->|"远程 HTTPS"| Remote["独立远程网关"]
Lan --> Gateway["DSH Mobile Gateway Core"]
Remote --> Gateway
Gateway -->|"回环代理"| DSH["原生 DSH Web 与 Host"]
DSH -->|"同一工作区、会话和事件流"| Phone
插件包含三层:Host face 负责发现、配对、HTTPS、回环代理和扩展注册表;Client face 提供独立的移动布局与扩展 SDK;Android App 提供受限的原生 Bridge。Bridge 使用 androidx.webkit WebMessage,每条消息都校验精确顶层 Origin 和主 Frame,并限制消息大小;不使用 addJavascriptInterface。DeepSeek Harness 的源码和当前 Web 页面(默认端口 3080,可通过 dsh web --port 修改)都不会被改动,安装和卸载完全通过插件机制完成。
frpc,校验来源、精确大小、SHA-256、压缩包路径和可执行文件版本;共享 Token 不会出现在状态、诊断或接入清单响应中。复制服务器模板,或重新输入 Token 后显式复制含 Token 的接入配置时,它会进入系统剪贴板,请粘贴后及时清除。本机清理只删除插件管理的文件;托管部署的 VPS 需用面板卸载脚本或一键清理单独清除,接入既有 frps 则不会改动或清理你的 VPS。自动部署与一键清理前都需核对 SSH 主机指纹。GET、HEAD、POST、PUT、PATCH、DELETE;写请求仍校验配对 Session、精确 Origin 与 CSRF。第三方插件不能把上游回环 Host 当成请求来自电脑物理本机的证明。完整说明见 SECURITY.md。
401:同一域名上的其他服务或旧 Cookie 可能干扰认证。更新至最新插件及 App,再从当前移动访问入口重试;浏览器重新扫描当前二维码可更新本插件的认证 Cookie,无需清除所有网站数据。若仍失败,查看失败请求与脱敏日志,其他认证或代理错误也可能返回 401。settings.yaml.imported,按具体错误排查。相同界面提示可能有不同原因,见 DSH #860。403:先检查 DSH 的 Host/Origin 信任校验及代理响应。检查 iframe、代理和浏览器扩展是否改变请求来源,使用本机直接访问验证;保持信任检查启用。profile reload requires the root Include entry:该错误发生在 DSH 重载 profile 时。Issue #132 报告过加载两份 dsh-app-boot 导致此错误,但单凭提示不能确认原因。核对实际运行的 DSH 命令与当前 profile 的版本和安装路径,保留配置并按 DSH 官方文档修复依赖;仍失败时将版本、模块路径及脱敏后的完整错误提交上游。EACCES、EPERM 或锁文件操作失败:检查报错文件的权限及启动环境注入的文件操作工具。锁清理失败也可能发生在写入之后,先核对实际保存结果。dsh-remote-web-ui 与 DSH Mobile 各有独立的远程通道和配对码,不能交叉使用。若电脑端连接诊断提示“第三方远程插件”,先关闭该插件的远程访问并刷新,再扫描 DSH Mobile 当前二维码。仅安装该插件而未启用它的远程接管,不会触发这条诊断。sid-query 表示查询当前账户 SID,acl-apply 表示应用私有文件权限,错误同时记录该阶段的完整等待耗时。不要关闭权限检查或把敏感文件改为所有人可读;提供脱敏后的阶段、耗时、错误码和 DSH 版本以继续定位。分阶段诊断不代表 #128 的启动争抢问题已经解决。NO_PROXY 可排除目标。此结果只说明电脑经代理完成 HTTPS 探测,不代表手机或实际隧道可用。请用手机流量实际连接;若直连和代理都失败,报告仍为不可达,不会把离线误报为就绪。saved LAN interface "XXX" is not connected,表示保存的网卡当前未连接。DSH 会继续运行,移动访问暂时休眠,原网卡恢复后会自动重试;若已改用新网卡,请重新完成局域网配置或重跑 setup。暂时不用移动访问时,可以在 cordis.patch.yml 中禁用 mobile-access。下表记录已验证的 DSH 与插件版本组合,不表示其他版本自动兼容。0.3.6 起插件不会仅凭版本号拒绝启动;升级 DSH 后若遇到移动端异常,请先核对兼容表并更新插件。历史记录见 CHANGELOG.md。
0.5.2 保留 DSH 宿主依赖名称,但不按 DSH 版本号拦截安装。新版本仍需经过下方的源码契约与配对启动检查;不在表中的版本不代表已验证。
| 通道 | Windows x64 | Linux x64 | Linux arm64 | macOS |
|---|---|---|---|---|
| 局域网 | 支持(自动配防火墙) | 支持(防火墙自理) | 支持 | 支持 |
| Tailscale Funnel | 支持(随包提供) | 支持(随包提供) | 支持(随包提供) | 不支持 |
| cpolar | 支持(按需下载) | 支持(按需下载) | 支持(按需下载) | 不支持 |
| cloudflared 快速/命名隧道 | 支持(按需下载) | 支持(按需下载) | 支持(按需下载) | 支持 x64/arm64(按需下载) |
| 自建 FRP | 支持(按需下载) | 支持(按需下载) | 支持(按需下载) | 支持(按需下载) |
| 自有反向代理 | 支持(纯配置) | 支持(纯配置) | 支持(纯配置) | 支持(纯配置) |
macOS 上局域网、cloudflared、自建 FRP 与自有反向代理可用;Funnel 与 cpolar 暂未提供 macOS 组件。诊断页的防火墙检查目前仅覆盖 Windows,其他系统显示“不适用”。
| DSH Mobile 插件 | 验证支持的 DeepSeek Harness 版本 |
|---|---|
0.5.5 | 0.1.7-alpha.2、0.1.7-rc.1、0.1.7-rc.2、0.2.0-rc.1、0.2.0-rc.2(npm 打包安装、隔离配对、移动页面启动及 WebSocket 工作区读取) |
0.6.0 | 0.1.7-alpha.2、0.1.7-rc.1、0.1.7-rc.2、0.2.0-rc.1、0.2.0-rc.2(打包安装、配对、移动页面启动与 WebSocket 工作区读取);另验证移动输入栏、模块设置及官方 Desktop 正常重启后的组件加载 |
0.6.2 | 0.2.0-rc.2 的打包旧 WebView 启动、触屏滚动与缺失 API/视口负对照通过;发布 CI 通过。未将 #187 报告者的实际旧设备写成已验收 |
0.6.3 | 0.2.0-rc.2、0.2.1-alpha.2(打包安装、隔离配对、移动页面与 WebSocket 工作区读取);另验证输入栏、设置与扩展 Worker 的超时、流式传输和显式恢复 |
0.6.4 | 0.2.0-rc.2(打包安装、隔离配对、移动页面与 WebSocket 工作区读取);另验证 72 组真实公共插槽输入栏布局、Windows Desktop 目录选择器组合及跨平台回归。社区 Desktop 2.0.17 的原报告远程超时仍未宣称验收 |
0.6.5 | 0.2.0-rc.2、0.2.1-alpha.2 的打包模块管理与移动设置回归;另验证 Windows cpolar 解包及正式 maid-atelier 0.1.7 下有内容轨迹的布局修复。不代表全部第三方皮肤或报告者设备已验收 |
| DSH Mobile 插件 | 验证支持的 DeepSeek Harness 版本 |
|---|---|
0.5.4 | 0.1.7-alpha.2、0.1.7-rc.1、0.1.7-rc.2、0.2.0-rc.1、0.2.0-rc.2(npm 打包安装、隔离配对、移动页面启动及 WebSocket 工作区读取) |
0.5.3 | 0.1.7-alpha.2、0.1.7-rc.1、0.1.7-rc.2、0.2.0-rc.1、0.2.0-rc.2(源码契约、npm 打包安装、隔离配对、移动页面启动及 WebSocket 工作区读取) |
0.5.2 | 0.1.7-alpha.2、0.1.7-rc.1、0.1.7-rc.2、0.2.0-rc.1(延续既有验证);0.2.0-rc.2(源码契约、隔离配对、移动页面启动和 WebSocket 工作区读取) |
0.5.1 | 0.1.7-alpha.2、0.1.7-rc.1、0.1.7-rc.2、0.2.0-rc.1;官方 Desktop 0.1.7-rc.2(桌面管理入口) |
0.5.0 | 0.1.7-alpha.2、0.1.7-rc.1、0.1.7-rc.2;官方 Desktop 0.1.7-rc.2(桌面管理入口) |
0.4.7 | 0.1.7-alpha.2、0.1.7-rc.1、0.1.7-rc.2(源码契约、隔离配对及 WebSocket 工作区读取) |
0.4.6 | 0.1.7-alpha.2、0.1.7-rc.1(源码契约、隔离配对及 WebSocket 工作区读取) |
0.4.5 | 0.1.7-alpha.2(源码契约检查、本机局域网及远程网关联调) |
0.4.4 | 0.1.6-alpha.2(本机源码与 renderer-v2 契约检查) |
0.4.3 | 0.1.6-alpha.2(本机源码与 renderer-v2 契约检查) |
0.4.2 | 0.1.6-alpha.1(本机源码与 renderer-v2 契约检查) |
0.4.1 | 0.1.6-alpha.1(本机源码与 renderer-v2 契约检查) |
0.3.15、0.3.16、0.4.0 | 0.1.5-rc.2(契约检查);0.1.5-rc.1(@idoall 局域网实测) |
0.3.14 | 0.1.3-alpha.2 |
0.3.9-0.3.12 | 0.1.3-alpha.1 |
0.3.6-0.3.8 | 0.1.2-rc.1 |
0.3.4、0.3.5 | 0.1.2-alpha.2 |
0.3.0-0.3.3 | 0.1.2-alpha.1 |
0.1.4、0.2.x | 0.1.1-rc.2 |
现有 App(0.3.3 及更新)无需重新配对;cpolar 用户应使用 0.3.15 或更新 App,较早版本可能在免费线路的慢速首次加载完成前超时;更早的 App 还使用不同的状态栏策略。App 0.4.0 才支持多设备列表、启动行为设置和电脑端撤销状态同步;旧版 App 仍可连接已保存的单台设备。App 0.1.3 及更早版本需卸载重装并重新配对。
Android App 的版本及原生更新见 App 使用说明。包名、签名及配对/续期协议保持兼容,已有配对无需重建。插件和 App 的版本号不要求相同;连接按协议及最低版本要求检查,具体原生功能另有要求时会说明所需 App 版本。
GitHub Release 的正式 APK 使用固定签名,可从同一签名的旧正式版原位升级并保留配对。自行构建的 Debug APK 若使用不同签名,不能直接覆盖安装正式版;切换前请准备重新配对。
以下是 Web profile 的两种卸载方式,按需选择其一;官方 DSH Desktop 请在应用的 插件 页面卸载。仅卸载插件不会删除 $DSH_HOME/mobile-access/ 中的证书、配对记录或自定义文件。
仅卸载插件、保留本机数据:
dsh plugin --profile web remove dsh-mobile
若要连同本机数据一起清理,请先备份需要保留的扩展与自定义文件,先运行 purge --yes,再卸载插件;不要先执行上面的单独卸载命令。purge 会删除整个 $DSH_HOME/mobile-access/ 目录及插件创建的 Windows 防火墙规则,但不会清理 VPS 上的文件。
dsh plugin --profile web exec dsh-mobile purge --yes
dsh plugin --profile web remove dsh-mobile
源码模式把上述 dsh 换成 pnpm dsh。
感谢提交 PR、复现问题和提出建议的社区成员。贡献者名单按已合并 PR、后来吸收的 PR 工作和 issue 反馈分别致谢;GitHub 右侧的 Contributors 区域由进入默认分支的提交自动生成,不能手动加入仅反馈问题的成员。
npm ci
npm run verify
文档快速检查使用 npm run check:docs。按改动选择的浏览器测试、隔离 DSH 打包验收、截图和正式发布流程见 CONTRIBUTING.md;Android 构建见 App 手册。不要用真实用户配置或正式 App 数据替代测试资料。
Apache-2.0,详见 LICENSE。
FAQs
DeepSeek Harness 移动端适配与安全访问插件,支持局域网、远程连接、Android App 和手机浏览器。
The npm package dsh-mobile receives a total of 3,535 weekly downloads. As such, dsh-mobile popularity was classified as popular.
We found that dsh-mobile demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Agent Baseline’s new reference architecture shows how to secure software factories with four boundaries enforced outside the AI agent.

Security News
arXiv now limits authors to two submissions a month as AI slop overwhelms moderators, delays good papers, and sparks debate over applying the limit to everyone.

Research
/Security News
A new GhostAction wave hits hundreds of GitHub repos, expanding CI/CD secret theft to cloud and AI credentials in source code and git history.