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.

View source

DeepSeek Harness Mobile

DeepSeek Harness Android 应用 — 原生 Kotlin Android 应用,零依赖运行 DeepSeek Harness 引擎,覆盖网页端全部功能。

License: MIT Android API


项目简介

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+

构建步骤

bash
1# 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            # 项目设置

架构设计

mermaid
1graph 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 模板:

gitignore
1# 构建输出
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!

开发流程

bash
1# 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


致谢