Clarklevis1995 / dsh-mobile
git clone https://github.com/Clarklevis1995/dsh-mobile.git
v1.7.8 · 1d ago
🔥 on GitHub Trending today
DeepSeek Harness Mobile 是一个面向 DeepSeek Harness 的原生 iOS 客户端。它通过 dsh-plugin-mobile-gateway 与 Harness 建立 WebSocket 连接,将工作区、会话、实时回复和 Agent 执行轨迹带到 iPhone,同时延续 DeepSeek WebUI 克制、清晰的视觉语言
+24
stars, 24h · #297
—
stars, 7 days
—
stars, 30 days
598
★ total
55
forks · 21 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageKotlin
LicenseMIT
Created2026-08-17 (2mo ago)
Last pushtoday
Watchers14
OwnerUser
Seen on GitHub Trending
- 2026-10-20 — #5 daily in kotlin · +24 ★
GitHub topics
androidandroid-appcoding-agentdeepseekdeepseek-harnessdeepseek-harness-plugindsh-pluginiosios-appios-swiftkmpkotlin-multiplatformkotlin-multiplatform-mobileui-design
Links
README excerpt
**简体中文** · English # Whaleness(DeepSeek Harness 的第三方移动端应用) **使用 Kotlin Multiplatform 共享核心逻辑,为 Android 与 iOS 提供原生移动端体验。** 通过 Mobile Gateway 在手机、平板和折叠屏设备上访问 DeepSeek Harness 的工作区、实时对话、Agent 轨迹、插件、定时任务与文件。 官方网站:Whaleness ## 项目简介 Whaleness 是独立开发的 DeepSeek Harness 第三方原生移动客户端。项目已完成 Kotlin Multiplatform(KMP)架构改造,并同时提供可运行的 Android 与 iOS 应用: - `shared` 负责跨端协议、状态机、Reducer、投影和同步逻辑,是共享业务状态的唯一来源。 - `androidApp` 使用 Kotlin、Jetpack Compose 和 OkHttp 实现 Android 产品能力。 - `DeepSeekHarnessMobile` 使用 SwiftUI/UIKit 构建 iOS 界面,并通过 Kotlin/Native framework 接入共享逻辑。 两端均通过 `dsh-plugin-mobile-gateway` 与 Harness 建立 WebSocket 连接。网络、安全存储、文件、图片、生命周期和后台任务由各平台原生实现,业务规则则尽可能收敛到 `shared/commonMain`。 ## 下载与前置条件 - **iOS**:加入 TestFlight 公测,支持 iPhone 与 iPad,要求 iOS / iPadOS 17.0 或更高版本。 - **Android**:从 GitHub Releases 下载 APK,要求 Android 7.0(API 24)或更高版本。应用内检查更新优先使用加速下载源,并校验安装包。 - **桌面端**:需要运行 DeepSeek Harness,并安装、启用 **`dsh-plugin-mobile-gateway` 0.10.3 或更高版本**。最低版本以 `AppRelease/release-info.json` 为准。 - **语音输入**:另需在桌面端的“插件”模块启用官方“语音输入”插件,完成模型下载和初始化,并授予移动端麦克风权限。 ## 当前平台状态 | 平台/模块 | 当前状态 | 主要实现 | | --- | --- | --- | | KMP `shared` | 已接入 Android 与 iOS | Gateway 协议、Store/Reducer、Conversation/Trajectory 投影、History 同步、Question/Approval、Session Control、工作区文件状态与代码预览支持 | | Android | 已实现原生客户端 | Jetpack Compose、OkHttp WebSocket、DataStore(非敏感配置)、Keystore(凭据)、CameraX/ML Kit 扫码、前台服务、附件缓存、文件下载与预览 | | iOS | 已实现原生客户端 | SwiftUI/UIKit、URLSession WebSocket、UserDefaults(非敏感配置)、Keychain(凭据)、二维码配对、后台执行、附件与工作区文件 | > Android 与 iOS 使用各自的原生 UI 和平台能力,并不是共享 UI。功能和交互会持续对齐,但个别系统级行为可能因平台限制而不同。 ## 功能亮点 ### 对话与 Agent 执行 - **原生实时对话**:处理 WebSocket 增量事件,展示 Markdown、代码、思考过程、工具调用、工具结果与图片附件。 - **语音与文字输入**:切换到独立的“按住说话”区域,松手转写为可编辑草稿,上滑取消;语音转写通过主机上的语音输入能力完成。 - **历史、队列与命令**:分页加载历史记录时合并实时尾部并去重;查看和编辑排队消息,通过斜杠命令调用主机提供的能力。iOS 加载更早记录时保留当前阅读位置。 - **完整 Agent 轨迹**:查看 User、Assistant、Tool 等事件,以及调用参数、结果、Schema、Token 和耗时信息。 - **交互式 Agent 流程**:支持 Human Question 与工具审批请求,可提交、取消、拒绝或单次允许。 ### 主机、工作区与扩展 - **多主机与会话管理**:保存并切换多个 Gateway 主机,分别管理认证信息;浏览、创建和切换工作区,搜索、创建、切换及归档会话。 - **文件卡片与预览**:直接打开对话中的文件卡片,浏览远端目录,分块下载并校验完整性;预览 PDF、图片和代码,或交给系统分享与打开。 - **Markdown 源码 / 预览**:代码预览支持语法高亮、行号和长行横向滚动;Markdown 文件可切换源码与渲染视图,并保留各自的阅读位置。 - **插件管理**:查看官方及已安装插件、详情和运行状态,按主机支持的能力安装、启用、停用和配置插件。 - **定时任务**:查看会话创建的定时任务,搜索和筛选任务,展开查看规则、下次执行时间及投递记录,并编辑或删除任务。 - **会话和默认配置**:管理 Agent 预设、Provider/模型、思考等级与 `read-only`、`workspace-write`、`danger-full-access` Harness Agent 权限;这些不是手机本地文件系统权限。 ### 原生设备体验 - **大屏与折叠屏适配**:iPad、Android 平板和折叠屏根据可用窗口尺寸调整布局;宽屏首页使用分栏,会话保持合适的阅读宽度,文件预览随窗口伸缩。Android 布局会考虑折叠铰链占用的区域。 - **主题与字体大小**:浅色、深色主题,以及跟随系统或手动调整的应用字体大小;保留 Harness 的深海、网格与鲸鱼视觉语言。 - **iOS 实时活动与通知**:在锁屏和支持的灵动岛设备上查看任务进展、审批与完成状态,重要进展可通过系统通知提醒。 - **安全设备配对**:扫描 WebUI 二维码或手动输入配对信息;长期凭据保存到平台安全存储。 - **移动端生命周期**:两端进入后台均不主动关闭健康连接,断线后回到前台自动恢复;手动断开不自动重连。Android 仅在 Agent 回合执行期间使用前台服务,空闲连接不启动前台服务;iOS 使用系统授予的有限后台执行时间管理活动任务,不保证无限期维持 WebSocket。 ## 界面预览 > 截图来自 iOS 版本;Android 使用 Jetpack Compose 实现相应的信息架构和核心流程。新增的语音、文件、字体及 iPad 截图拍摄于 2026 年 10 月 16 日(1.7.6),素材来源见截图说明。 ### 语音输入、文件预览与字体 按住说话 松手转写,上滑取消 PDF 预览 从对话直接查看文件 字体大小