dsh-mobileDeepSeek Harness plugin
DeepSeek Harness Mobile 是 DeepSeek Harness 的 Android 原生应用,将原本仅支持 PC 浏览器的 AI Agent 框架完整迁移至移动端。采用 Kotlin + Jetpack Compose 开发,内置 Node.js ARM64 二进制和 dsh CLI,实现零依赖安装——下载 APK 即可运行,无需 Root、Termux 或额外环境配置。应用覆盖网页端全部核心功能:多会话管理、流式对话、插件市场、模型设置等,并针对竖屏触控体验深度优化。技术上采用 MVVM 架构、Dagger Hilt 依赖注入、Room 本地数据库,后台 Foreground Service 确保引擎持续运行,支持离线场景和弱网环境自动重连。
- Stars
- 16
- Forks
- 6
- License
- MIT
- Last commit
- Aug 17, 2026
Overview
DeepSeek Harness Mobile 是 DeepSeek Harness 的 Android 原生应用,将原本仅支持 PC 浏览器的 AI Agent 框架完整迁移至移动端。采用 Kotlin + Jetpack Compose 开发,内置 Node.js ARM64 二进制和 dsh CLI,实现零依赖安装——下载 APK 即可运行,无需 Root、Termux 或额外环境配置。应用覆盖网页端全部核心功能:多会话管理、流式对话、插件市场、模型设置等,并针对竖屏触控体验深度优化。技术上采用 MVVM 架构、Dagger Hilt 依赖注入、Room 本地数据库,后台 Foreground Service 确保引擎持续运行,支持离线场景和弱网环境自动重连。
Original README
Cached from the project repository on Sep 3, 2026. This is source content, separate from the Agents.md review above.
DeepSeek Harness Mobile
DeepSeek Harness Android 应用 — 原生 Kotlin Android 应用,零依赖运行 DeepSeek Harness 引擎,覆盖网页端全部功能。
项目简介
DeepSeek Harness (dsh) 是 DeepSeek AI 开源的 Agent 框架,原仅支持 PC 浏览器访问。本项目将其完整迁移至 Android 平台,实现:
- 零依赖安装:内置 Node.js + dsh CLI,下载即用,无需 Root/Termux/额外下载
- 全功能覆盖:完美复刻 Web 端对话、插件市场、会话管理、设置等核心功能
- 竖屏优化:专为手机屏幕设计的竖版 UI,流畅触控交互
- 本地优先:支持本地模式(Android)和云端模式(跨平台)双架构
解决了什么问题?
| 痛点 | 解决方案 |
|---|---|
| dsh 仅支持 PC 浏览器,无法在手机上使用 | 原生 Android 应用,随时随地使用 |
| 需要 Node.js 环境和命令行操作 | 内置运行时,开箱即用 |
| 移动端体验不佳,Web UI 在手机上难以操作 | 原生竖屏 UI,适配触控交互 |
| 移动网络不稳定导致连接中断 | 本地引擎保活机制 + 自动重连 |
| 多设备数据同步需求 | SQLite 本地存储 + 云端同步可选 |
快速上手
前置条件
- Android Studio Ladybug 或更新版本
- JDK 17+
- Android SDK API 34
- Gradle 8.5+
构建步骤
bash1# 1. 克隆项目 2git clone https://github.com/<your-org>/dsh-mobile.git 3cd dsh-mobile 4 5# 2. 准备引擎资源(需从 deepseek-harness 编译) 6# 将编译好的 node 和 dsh 二进制放入 app/src/main/assets/engine/ 7# 或使用预构建版本 8 9# 3. 构建 Debug APK 10./gradlew assembleDebug 11 12# 4. 构建 Release APK(需签名配置) 13./gradlew assembleRelease
安装到设备
bash# 通过 ADB 安装 adb install app/build/outputs/apk/debug/dsh-mobile-debug.apk # 或直接发送文件到手机安装
功能特性
核心功能
- 对话界面:气泡消息、代码高亮、流式响应
- 会话管理:创建/切换/搜索/删除会话
- 插件市场:浏览和安装 DSH 插件
- 模型设置:切换默认模型、配置 API Key
- 后台保活:Foreground Service 确保引擎持续运行
技术亮点
| 特性 | 实现方式 |
|---|---|
| 本地引擎运行 | 内置 Node.js ARM64 二进制 + dsh CLI |
| WebView 适配 | 响应式布局 + JavaScript 桥接 |
| 数据持久化 | Room Database + DataStore |
| 网络通信 | OkHttp + WebSocket |
| 状态管理 | Jetpack Compose + ViewModel + StateFlow |
| 依赖注入 | Dagger Hilt |
项目结构
dsh-mobile/
├── app/src/main/
│ ├── java/com/deepseek/dshmobile/
│ │ ├── DSHApplication.kt # 应用入口 + Hilt 初始化
│ │ ├── di/ # Dagger Hilt 组件
│ │ ├── service/ # 引擎管理服务
│ │ │ ├── DshEngineService.kt # Foreground Service
│ │ │ └── DshEngineManager.kt # 引擎生命周期管理
│ │ ├── database/ # Room 数据库
│ │ ├── repository/ # 数据仓库
│ │ ├── ui/
│ │ │ ├── MainActivity.kt # Compose 主界面
│ │ │ ├── theme/ # Material 3 主题
│ │ │ ├── components/ # 自定义组件
│ │ │ ├── screens/ # 页面 Screen
│ │ │ ├── nav/ # 导航
│ │ │ └── viewmodel/ # ViewModel
│ │ └── receiver/ # 系统广播接收器
│ ├── res/ # 资源文件
│ └── assets/engine/ # 引擎二进制(需自行准备)
├── gradle/
│ └── libs.versions.toml # 版本目录
├── build.gradle.kts # 根构建配置
└── settings.gradle.kts # 项目设置
架构设计
mermaid1graph TB 2 subgraph "Android App" 3 A[MainActivity - Compose UI] --> B[SessionListScreen] 4 A --> C[ChatScreen] 5 A --> D[SettingsScreen] 6 B --> E[MainViewModel] 7 C --> E 8 D --> E 9 E --> F[SessionRepository] 10 E --> G[DshEngineManager] 11 F --> H[(Room Database)] 12 G --> I[Node.js + dsh CLI] 13 end 14 15 subgraph "Engine Layer" 16 I --> J[dsh web server :3080] 17 J --> K[WebView / REST API] 18 end 19 20 subgraph "External" 21 K --> L[DeepSeek API] 22 G --> M[Plugin Marketplace] 23 end
GitHub 仓库配置
发布到 GitHub 时,建议使用以下 .gitignore 模板:
gitignore1# 构建输出 2*.apk 3*.aab 4/build/ 5.gradle/ 6 7# 本地配置 8local.properties 9*.log 10 11# Android Studio 12.idea/ 13*.iml 14.cxx/ 15 16# 密钥文件(不要提交) 17*.jks 18*.keystore 19 20# 生成的文件 21app/build/ 22app/generated/ 23 24# DSH 引擎资产(二进制文件) 25app/src/main/assets/engine/
推荐选择:在 GitHub 创建仓库时选择 "Android" 模板,然后添加上述自定义规则。
贡献指南
欢迎提交 Issue 和 Pull Request!
开发流程
bash1# 1. Fork 本仓库 2# 2. 创建特性分支 3git checkout -b feature/amazing-feature 4 5# 3. 提交更改 6git commit -m 'feat: add amazing feature' 7 8# 4. 推送到分支 9git push origin feature/amazing-feature 10 11# 5. 创建 Pull Request
构建验证
bash# 运行所有测试 ./gradlew test # 检查代码质量 ./gradlew lintDebug # 构建 Debug APK ./gradlew assembleDebug
协议
本项目采用 MIT License。
致谢
- DeepSeek Harness - 核心框架
- Jetpack Compose - 现代 UI 框架
- Dagger Hilt - 依赖注入框架
- Room - 本地数据库