deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:dphmoblie/deepseek-harness-android
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
![]()
面向 Android 的本地 AI 工作台。 将 DeepSeek Harness、Ubuntu 运行环境、会话、插件与文件管理整合到手机中;开启相应授权后,AI 还可通过 Shizuku 执行设备 Shell(命令行)任务,或通过无障碍服务操作指定应用。
无需 Root(超级用户权限)。Linux 环境通过 PRoot 在用户空间运行,控制台由内置网页视图展示;模型推理使用你配置的服务。
| 应用包名 | io.deepseekharness.mobile |
| 最低系统 | Android 8.0(API 26)及以上 |
| 目标应用副屏 | Android 10(API 29)及以上,需 Shizuku 与设备验证 |
| 支持架构 | 仅 arm64-v8a(64 位 ARM) |
| 内置运行时 | Ubuntu 24.04 ARM64 · Node.js 24.19 · @deepseek-ai/dsh 0.2.0-rc.2 |
| 应用许可证 | MIT(运行时组件沿用各自许可证,见许可证) |
git+https 仓库地址导入,管理包与子插件的启停;更新时按支持的目录规则保留数据,并可切回上一版。需要安装脚本、原生编译或不同核心 SDK 的包存在限制,详见插件管理。/system/bin/sh)。Shizuku 提供的是安卓 Shell 权限,而非 Root 权限。rootfs.bundle 与清单文件,无网络环境也可完成运行时安装;同时也支持经摘要固定(digest-pinned)的远程运行时来源。127.0.0.1。每次启动都会生成全新的 256 位传输令牌,同时保护 HTTP 与 WebSocket 请求;令牌仅保存在进程内存中,不会持久化,也不会写入 URL。模型调用和用户发起的下载、插件安装等仍可能访问网络。应用分为三层:
dsh web 并仅监听回环地址。Node.js 预加载模块会在任何请求到达 Harness 之前校验当次启动令牌,内置 WebView 也被限制在同一回环源内。完整架构与安全边界见 docs/ARCHITECTURE.md。
运行时就绪后,应用会直接打开 Harness 控制台并恢复最近一次会话。
内置供应商:DeepSeek、OpenAI、Anthropic、Google Gemini、OpenRouter、Groq、xAI、Mistral。
也可以将任意 OpenAI 兼容端点配置为自定义供应商(基础地址、API 密钥与模型列表)。凭据通过 Android Keystore 静态加密,仅以进程环境变量形式注入 Harness 运行时;保存配置时若 Harness 正在运行会自动重启,确保运行时状态始终与界面显示一致。
Shizuku 完全可选,且不会随应用捆绑安装:
开启后,模型可调用设备 Shell 读取、写入、创建目录、上传、下载文件,也可查询指定应用的进程、服务和 Activity 摘要。Shell 使用 Shizuku 的实际 Android 权限,不等同于 Root;命令正文和输出不会写入诊断日志。请不要让模型读取或回显密钥、短信、通讯录、令牌等隐私数据。
无障碍自动化需要你另外在系统设置中手动开启服务,再在应用内从已安装应用列表选择目标包名并保存白名单。白名单数量不设上限;普通厂商应用可加入,系统设置、权限、支付、验证码和密码页面仍由原生服务拒绝。服务不能绕过锁屏,也不能保证厂商后台策略下的持续运行。
当 Shizuku 不可用、未授权或连接断开时,设备工具会明确报错;Ubuntu 运行时与 Harness 不受影响。
在 设置 → AI Shell → 目标应用副屏(实验功能) 中选择目标应用,可尝试将其运行到独立虚拟显示,并通过原生预览页或可拖动小窗查看和操作。此处展示的是目标应用界面;AI 对话悬浮窗是另一项功能。
入口要求 Android 10 及以上、已授权并连接 Shizuku,且用户已开启 AI Shell。锁屏或熄屏时,该副屏通道暂停读取与输入。当前已接入副屏状态、PNG 截图、点击、滑动、返回和结束会话的 AI 工具;尚无副屏专用无障碍节点树、中文文本输入或高帧率视频流。
截至 2026-10-02,已在 MuMu Android 15 中以普通 Shell 权限验证测试应用的横竖屏截图、定向点击和会话回收,并检查 363×800 dp 与 800×363 dp 的原生选择页布局。尚未验证完整 Shizuku 授权与绑定链路、真实第三方应用、小窗互切、长期后台与锁屏恢复;模拟器探针结果不能视为所有手机或所有应用的兼容保证。
已有运行环境还需要更新或重新打包 dsh-mobile-shizuku 插件,才能使用新增 AI 工具;仅安装新 APK 不会改写现有插件数据。机制、工具接口与完整验证范围见目标应用副屏说明。
^22.19.0 或 >=24.0.0,以及 pnpm 11libdsh_proot.so、libdsh_proot_loader.so)——准确的上游版本号与哈希见 THIRD_PARTY_NOTICES.mdruntime-manifest.json 与 rootfs.bundlepnpm install --frozen-lockfile
pnpm run build # TypeScript 检查 + Vite 生产构建
pnpm run android:sync # 构建并同步到安卓工程
pnpm run android:open # 在 Android Studio 中打开,或直接使用 Gradle 构建
开发版构建可以不内置运行时,改为同时设置 DSH_RUNTIME_MANIFEST_URL 与
DSH_RUNTIME_MANIFEST_SHA256 以固定远程清单。完整构建说明与签名策略见
android/README.md。
pnpm test # Vitest 单元测试
pnpm --dir scripts/runtime-profile install --frozen-lockfile --ignore-scripts # 插件测试依赖
pnpm run test:scripts
pnpm lint # ESLint,零警告通过
SecureRandom 生成全新的 256 位令牌。令牌不会持久化、不会写入日志或 URL,也不会返回给 JavaScript。欢迎在 https://github.com/dphmoblie/deepseek-harness-android 提交 Issue 与 Pull Request。
提交前请保持改动聚焦、为新行为补充测试,并运行 pnpm lint 与 pnpm test。
涉及安全的改动必须维护 docs/ARCHITECTURE.md 所述边界,
尤其不得削弱回环访问控制、摘要校验、入口白名单或 Shizuku UserService 契约。
欢迎更多开发者参与,你的名字也可以出现在这里。
本仓库中的应用代码基于 MIT 许可证发布。
正式版 APK 还以各自许可证再分发了第三方运行时组件,包括 PRoot
(GPL-2.0-or-later)、Operit2 运行时工具链(AGPL-3.0)、Ubuntu 24.04
软件包、Node.js,以及采用 MIT 许可证的 DeepSeek Harness 运行时与前端。
组件来源、确切上游版本、制品哈希及相应许可证文本记录于
THIRD_PARTY_NOTICES.md,并随 APK 内
assets/legal/ 目录一并提供。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。