DeepseekHarness-Android
agent
Fail
Health Pass
- License — License: Apache-2.0
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 52 GitHub stars
Code Fail
- rm -rf — Recursive force deletion command in js/build-engine.sh
- fs module — File system access in js/build-engine.sh
- process.env — Environment variable access in js/packages/bundle-android/android-env.cjs
- fs module — File system access in js/packages/bundle-android/android-env.cjs
- process.env — Environment variable access in js/packages/bundle-android/cordis.patch.yml
- process.env — Environment variable access in js/packages/plugin-account/index.js
- process.env — Environment variable access in js/packages/plugin-device/index.js
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
免 ROOT 免 Termux,一个 APK 在安卓手机上跑 DeepSeek Harness。引擎内嵌 App 进程 · 读屏操作 App · 改系统设置 · 定时/条件自动化 · 可选 Shizuku
README.md
快速开始
- 从 Releases 下载 APK 并安装(arm64,Android 10 及以上)。
- 登录 DeepSeek 账号,或者填入 API key。
- 直接说要做什么,比如“列出下载目录里最大的 5 个文件”。用到某项权限时,App 会再引导你开启。
- 可选:在 设置 → 手机权限 里一键安装 Shizuku,并在 Shizuku 里打开“开机启动(无线调试)”。
界面一览
![]() 首页:直接说你要做什么 |
![]() 操作手机:开关 Wi‑Fi、蓝牙、勿扰等 |
![]() 轨迹:按轮次回看 agent 做了什么 |
![]() 随处唤起:悬浮球、系统助手、快捷磁贴、分享 |
![]() 手机权限:用到才申请,一处管理 |
![]() 会话列表 |
能做什么
- 文件:查找、整理、移动、重命名、压缩解压;能读 PDF / Word / Excel / PPT 里的文字。
- 屏幕和 App:读屏、点击、滑动、输入(基于无障碍服务);打开 App 或直接跳到指定页面。
- 系统设置:亮度、音量、勿扰、闹钟、Wi‑Fi、蓝牙、定位;读取和回复通知,控制媒体播放。
- 自动化:定时执行,或在连上 Wi‑Fi/蓝牙、开始充电、到达某地、收到通知等条件下触发。
- 完整的 dsh:dsh 原样运行(没有 fork),技能、MCP、子 agent、网页搜索都能用。
- 不需要 root 或 Termux:装一个 APK 就能用;Shizuku 可选,能解锁更多系统开关。
架构
flowchart LR
subgraph main[":main 进程(Kotlin · Compose)"]
UI["对话 · 轨迹 · 审批<br/>唤起层 · 设置"]
CAP["CapabilityHub<br/>设备工具"]
TRG["TriggerHub<br/>自动化"]
SVC["无障碍 · 通知监听<br/>系统助手 · 输入法"]
end
subgraph engine[":engine 进程(前台服务)"]
NODE["libnode.so<br/>Node 24 · bionic"]
DSH["dsh --profile android<br/>+ device / guard / account 插件"]
end
SHZ["Shizuku(可选)"]
API["DeepSeek API"]
UI <-- "dsh SDK JSON-RPC(stdio)" --> DSH
DSH <-- "能力桥 JSON-RPC(socketpair)" --> CAP
TRG --> DSH
CAP --- SVC
CAP -. shell 权限 .-> SHZ
NODE --- DSH
DSH -- HTTPS --> API
- 引擎嵌在 App 进程里:Node 24 编译成安卓原生的共享库,通过 JNI 在
:engine前台服务中启动。不用 proot、不用 Termux,也不会碰到安卓 12 以后的“幽灵进程”限制。 - dsh 不做 fork:App 只通过 dsh 的 SDK 协议和它对话;安卓相关的适配都放在插件和少量补丁里。
- 手机能力在 App 侧:所有设备工具都由 Kotlin 实现,通过一条私有的 socket 通道暴露给 dsh(见 引擎契约)。
系统要求
Android 10 及以上,arm64-v8a;安装包约 110 MB,建议预留 500 MB 可用空间;需要能访问 DeepSeek API。
当前限制
- 锁屏后不能操作其他 App:在有安全锁屏的情况下,系统不允许操作其他 App 的界面。这类任务会暂停,提示你解锁后继续。系统 API 类的任务(文件、设置、通知等)锁屏时照常执行。
- Shizuku 重启后要重新启动:建议打开 Shizuku 的“开机启动(无线调试)”(需要 Shizuku 13.6 及以上、Android 11 及以上)。
- 国产 ROM:部分机型需要手动允许“后台弹出界面”和“自启动”,悬浮球和后台自动化才能稳定工作。App 的体检页会提示你。
- 冷启动:引擎冷启动目前大约 5 秒,还在优化。
开发者
从源码构建需要 JDK 21、Android SDK(compileSdk 37.2)、NDK r29。在 arm64 Linux 主机上构建时,需要额外传入 -Pandroid.aapt2FromMavenOverride=<arm64 版 aapt2 的路径>。
# 1. 原生库(libnode 等):下载预编译产物并校验哈希,不用自己编 Node
native/prebuilt.sh fetch # → toolchains/out/jniLibs/arm64-v8a/
# 2. 引擎包:dsh + 插件 + 补丁 → engine.zip
OUT_DIR=<engineOut> js/build-engine.sh
# 3. APK
./gradlew :app:assembleDebug -Pdsh.engineOut=<engineOut>
- 预编译产物的标签由 Node 版本加上全部原生补丁的哈希生成(比如
native-node24.22.1-caacecde44)。只有升级 Node 或改动原生补丁时才需要重编:先运行native/build.sh,再用native/prebuilt.sh publish发布。 - 主机端到端测试(真实调用 DeepSeek API):
node js/test/host-e2e.mjs,API key 放在一个文件里,用环境变量DSH_E2E_KEY_FILE指定路径(默认是~/.config/dsh/deepseek_api_key)。
app/ Android App(Kotlin · Compose · Hilt · Room)
core/engine/ 引擎进程、JNI 启动、崩溃恢复
core/capability/ 设备工具(文件、屏幕、系统、通知、媒体……)
core/trigger/ 自动化规则和事件源
feature/ 界面:对话、轨迹、快捷面板、自动化、设置、登录
js/ dsh 的 android profile、插件、补丁,build-engine.sh → engine.zip
native/ Node 24 安卓构建、JNI 包装、原生插件、预编译产物脚本
tools/ 字符串、图标等生成脚本
docs/ 架构说明、引擎契约、设计 token、截图
设计文档
致谢
- DeepSeek Harness:agent 引擎
- Node.js;安卓构建参考了 Termux 和 nodejs-mobile 的做法
- Shizuku(Apache-2.0):App 内置了官方安装包
- ripgrep
声明
本项目是社区项目,与 DeepSeek 官方无关联,也未获其背书。“DeepSeek”及相关商标归其各自所有者所有。
许可证
Apache License 2.0。内置的第三方组件(Node.js、dsh、Shizuku、ripgrep 等)遵循各自的许可证。
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found





