Clarklevis1995/dsh-mobile 预览 preview

Clarklevis1995/dsh-mobile

DeepSeek Harness Mobile 是一个面向 DeepSeek Harness 的原生 iOS 客户端。它通过 dsh-plugin-mobile-gateway 与 Harness 建立 WebSocket 连接,将工作区、会话、实时回复和 Agent 执行轨迹带到 iPhone,同时延续 DeepSeek WebUI 克制、清晰的视觉语言

项目介绍Project Overview

DSH Mobile 是面向 DeepSeek Harness 的原生 iOS 客户端,基于 SwiftUI 构建,通过 dsh-plugin-mobile-gateway 建立 WebSocket 连接,在手机上还原工作区、会话、实时对话与 Agent 执行轨迹。核心能力包括 WebSocket 增量渲染、历史与实时解耦、轨迹时间线、工作区与模型配置、扫码配对。适用于需在 iPhone 上延续 Harness 工作流的用户。需注意:需 iOS 17.0+ 且必须先在 Harness 中启用 dsh-plugin-mobile-gateway 插件,真机调试时需使用 Mac 局域网 IP 而非 127.0.0.1,公网部署必须配置 wss:// 与 TLS 反向代理。

DSH Mobile is a native iOS client for DeepSeek Harness, built with SwiftUI and connected via the dsh-plugin-mobile-gateway WebSocket plugin. It brings workspaces, sessions, real-time streaming conversations, and full Agent execution trajectories to iPhone, supporting light and dark modes with Liquid Glass on iOS 26+. Use it to continue Harness workflows on mobile. Note: it requires iOS 17.0+, depends on the gateway plugin being enabled in Harness, uses LAN IP rather than 127.0.0.1 on real devices, and mandates wss:// with TLS for public access.

或使用命令行安装(适合开发者)Or use CLI install (for developers)

命令行安装CLI Install

dsh plugin --profile web add github:Clarklevis1995/dsh-mobile

Clarklevis1995/dsh-mobile 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

鲸鱼娘展示 DeepSeek Harness Mobile iOS 应用

DeepSeek Harness Mobile

在 iPhone 上延续 DeepSeek Harness 的原生工作流。

一个使用 SwiftUI 构建的 DeepSeek Harness iOS 客户端,在移动端还原 WebUI 的对话、轨迹与工作区体验。

iOS 17+ SwiftUI WebSocket Appearance

项目简介

DeepSeek Harness Mobile 是一个面向 DeepSeek Harness 的原生 iOS 客户端。它通过 dsh-plugin-mobile-gateway 与 Harness 建立 WebSocket 连接,将工作区、会话、实时回复和 Agent 执行轨迹带到 iPhone,同时延续 DeepSeek WebUI 克制、清晰的视觉语言。

界面提供浅色与深色模式,并在支持的系统上使用 Liquid Glass 导航与交互控件;深色首页则以深海蓝、水波纹、网格和点阵鲸鱼构成与 Harness 官网一致的视觉氛围。

项目海报

DeepSeek Harness Mobile 项目海报

功能亮点

  • 原生实时对话:接收 WebSocket 增量事件,逐步展示正文、思考过程、工具调用和工具结果。
  • 历史与实时解耦:大量历史记录分页合并时,实时尾部仍可独立更新,避免阻塞生成和用户滚动。
  • 智能吸底:停留在底部时跟随新内容;用户主动浏览历史后停止抢夺滚动位置。
  • 完整轨迹视图:查看 Duration、Turns、Calls、Input、Model、Tools 时间线,并展开单条记录的参数、结果、Schema 与耗时。
  • 工作区与会话管理:浏览目录、创建或切换工作区,搜索会话并创建新会话。
  • 会话配置:切换当前会话的模型、思考等级与访问权限。
  • 全局默认配置:设置新会话默认使用的 Agent 预设、权限、模型和思考等级,并与 WebUI 使用同一部署配置。
  • 安全配对:支持扫描 WebUI 二维码或手动连接;长期凭据保存在系统安全存储中。
  • 移动端交互:对话与轨迹页面常驻并支持左右滑动切换,保留各自的滚动位置和页面状态。

界面预览

核心体验

DeepSeek Harness Mobile 工作区首页 浅色模式对话 浅色模式轨迹
工作区首页
Harness 视觉与最近会话
对话
Markdown、代码与工具结果
轨迹
时间概览与事件时间线

默认配置

应用设置 Agent 预设 默认模型
设置
部署默认值与网关状态
Agent 预设
工具、提示词与能力组合
默认模型
模型与思考等级

工作区操作与轨迹详情

切换工作区 选择工作区目录 轨迹详情面板
切换工作区
快速访问不同项目
目录选择
浏览并创建工作区
轨迹详情
摘要、Token 与内容预览

浅色、深色与设备配对

浅色模式设备认证 深色模式设备认证 深色模式对话
浅色配对
手动输入配对信息
深色配对
完整深色模式适配
深色对话
阅读、代码与输入面板

功能详解

对话与轨迹

同一个 Session 内可以在“对话”和“轨迹”之间点击或横向滑动切换。两个页面保持独立生命周期,切换时不会重新加载已有内容。

  • 对话页支持 Markdown、代码块、实时 reasoning、工具摘要和工具结果。
  • 轨迹页以角色标签和时间轴组织 User、Assistant、Tool 等事件。
  • 点击轨迹记录可从 Bottom Sheet 查看请求摘要、原始参数、结果、Token 用量与耗时。

Agent、模型与权限

应用既能调整当前会话,也能维护之后新建会话使用的部署级默认值:

配置 能力
Agent 预设 读取可用预设并设为全局默认值
默认模型 选择 Provider、模型与默认思考等级
会话模型 在运行中的 Session 内切换模型和 reasoning effort
权限 支持 read-onlyworkspace-writedanger-full-access

配对与可信设备

移动端可扫描 WebUI 生成的一次性二维码完成配对。公网地址必须使用 wss://,配对码仅可使用一次并会在短时间后过期;已配对设备可在网关管理界面中查看和管理。

配对步骤

  1. 确认当前尚未配对。 第一次进入 DshMobile 时,应用可能提示“鉴权失败(HTTP 401)”。这表示当前设备还没有与 Mobile Gateway 完成配对,关闭提示后继续下面的操作即可。

    DshMobile 首次启动时提示鉴权失败

  2. 打开配对页面。 点击 App 右上角的鉴权按钮,在弹出的“设备认证”页面中选择扫码,或准备手动输入 WebUI 生成的 Base64URL 配对 Token。

    DshMobile 设备认证与手动输入配对信息页面

  3. 在 WebUI 中打开移动设备管理。 成功安装并启用 dsh-plugin-mobile-gateway 后启动 DeepSeek Harness WebUI,左侧导航栏底部会出现“移动设备”入口,点击进入。

    DeepSeek Harness WebUI 左下角的移动设备入口

  4. 开启网关和设备鉴权。 WebUI 右侧会弹出“移动设备”面板,请同时开启“允许移动设备连接”和“设备鉴权”两个开关。

    WebUI 移动设备面板中的连接和设备鉴权开关

  5. 确认地址并生成二维码。 检查 WebSocket 地址是否为手机能够访问的 Mac 局域网 IP,然后填写设备名称并点击“生成配对二维码”。同一局域网可以使用 ws://;通过公网连接时必须使用 wss://

    确认 WebSocket 地址并生成配对二维码和 Token

  6. 选择扫码或手动输入。 根据需要,使用 DshMobile 扫描 WebUI 中的二维码;也可以点击“复制配对 Token”,再将 Token 粘贴到 App 的设备认证页面。配对 Token 只能使用一次,并会在 5 分钟后过期。

  7. 确认连接成功。 配对完成后返回首页,最近会话区域右侧会显示绿色“已连接”状态,此时即可开始使用移动端。

    DshMobile 配对完成后的已连接状态

技术实现

DeepSeek Harness
       │
       │  dsh-plugin-mobile-gateway
       │  WebSocket / history / configuration
       ▼
URLSessionWebSocketTask
       │
       ├── Workspaces & Sessions
       ├── Historical pages
       ├── Live event tail
       └── Defaults & Presets
       ▼
SwiftUI + UIKit interoperability
  • SwiftUI 原生界面,必要位置与 UIKit 协作以获得稳定的分页、滚动和增量渲染体验。
  • 历史分页与实时事件尾部采用独立数据路径,再按事件身份安全合并。
  • 已渲染消息保持稳定,流式传输时只更新正在生成的内容块。
  • iOS 26 及以上使用系统 Liquid Glass 能力,较早系统使用视觉一致的材质回退。

运行项目

环境要求

  • macOS 与可构建 iOS 17.0+ 的 Xcode
  • iOS 17.0+ 模拟器或真机
  • 已启用 dsh-plugin-mobile-gateway 的 DeepSeek Harness

启动步骤

  1. 启动 DeepSeek Harness,并确认 dsh-plugin-mobile-gateway 已加载。
  2. 使用 Xcode 打开 DeepSeekHarnessMobile.xcodeproj
  3. 选择 DeepSeekHarnessMobile Scheme 和目标设备后运行。
  4. 在应用中扫描 WebUI 配对二维码,或手动填写网关地址。

本机调试时常用的连接地址:

场景 地址
iOS Simulator ws://127.0.0.1:3080/ws/mobile
同一局域网内的 iPhone ws://<Mac-LAN-IP>:3080/ws/mobile
公网部署 wss://<your-domain>/ws/mobile

[!NOTE] 真机不能使用 127.0.0.1 访问 Mac,请改用 Mac 的局域网 IP;公网部署应在网关前配置 TLS 反向代理。

项目文档

当前状态

项目仍处于开发阶段,协议与界面会随 DeepSeek Harness 持续演进。它是面向 Harness 的社区原生客户端,不代表 DeepSeek 官方发布。

上一个 Prev dsh-museai-tavern 下一个 Next touhou-hakurei