插件目录 / Productivity / dsh-android-app
dsh-android-app
已验证 · 实测可装 Hakunm
功能简介
一款专为 DeepSeek Harness 设计的原生 Android 客户端,支持聊天、审批、工作区、文件及模型管理。A native Android client for DeepSeek Harness with chat, approvals, workspace, file, and model management.
可用 — 实测通过,早期项目
一款专为 DeepSeek Harness 设计的原生 Android 客户端,支持聊天、审批、工作区、文件及模型管理。A native Android client for DeepSeek Harness with chat, approvals, workspace, file, and model management. 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
dsh-android-app
把你自己的 DeepSeek Harness 带到 Android 手机上。
中文 · English
dsh-android-app 是 DeepSeek Harness 的原生 Android 客户端。它通过 dsh-workspace 连接你自己的 DSH WebUI,让手机与网页端使用同一套工作区、会话、模型和文件。
你可以在手机上继续聊天、查看任务进度、处理审批、切换权限与模型,也可以直接浏览和编辑服务器允许访问的文件。App 默认中文,可在设置中切换 English。
界面预览
下载与安装
从 GitHub Releases 下载:
DeepSeek-Harness-v1.0.0.apk
安装要求:
- Android 8.0(API 26)或更高版本
- 已运行的 DeepSeek Harness WebUI
- DSH WebUI 已安装
dsh-workspacev1.0.0 或兼容版本 - 插件中至少添加了一个授权根,并已启用远程访问
- 手机可以访问插件配置的 IP、域名和端口
正式 APK 使用项目独立的发布证书签名,不使用 Android 测试签名。后续版本需要使用同一证书,才能直接覆盖更新。
连接你的 DSH
服务器端
- 在 DSH WebUI 打开
dsh-workspace的“工作区设置”。 - 添加至少一个授权根目录。
- 在“远程访问”页填写绑定 IP 和端口,并保存监听设置。
- 点击“启用并创建配对”,取得十分钟内有效的一次性配对码。
手机端
- 输入服务器地址,例如
http://192.168.1.20:3090或https://dsh.example.com。 - 输入配对码和设备名称。
- 点击“配对并连接”。
设备令牌由 Android Keystore 支持的加密存储保存。App 重启后会恢复连接;在 App 中断开会清除本机令牌,在 WebUI 撤销设备会让令牌立即失效。
聊天不只是收发消息
- 查看设备有权访问的 DSH 会话和实时运行状态。
- 以流式增量显示助手正文和思考,结束后与服务器历史校准。
- 正确排版 Markdown 标题、列表、引用、代码块和表格。
- 发送普通消息,在运行中追加引导,或取消当前任务。
- 查看 DSH TODO 模块、完成进度和正在处理的事项。
- 输入
/浏览并执行服务器提供的 host 斜杠命令。 - 在输入区切换“只读”“工作区写入”“完整访问”。完整访问会再次提示风险。
- 查看待审批工具调用的脱敏信息,选择“允许一次”或“拒绝”。
- 切换模型和思考强度。空白会话还可以在首条消息前选择 Agent。
工作区与会话
新建会话时,可以选择 DSH WebUI 已登记的工作区,也可以从设备获准访问的根目录中挑选一个现有目录,将它登记为新的 DSH 工作区。
工作区管理支持:
- 查看设备可访问的 DSH 工作区。
- 重命名工作区。
- 移除工作区登记。
移除登记不会删除服务器目录、文件或会话日志。
每个会话的菜单支持:
- 重命名:修改 DSH WebUI 中显示的标题。
- 分叉:继承已有聊天历史、工作目录和模型配置,进入新的子会话。
- 归档:从默认列表隐藏会话,同时保留服务器日志。
App 只显示工作目录位于设备授权根内的工作区和会话,接口不会向手机暴露服务器绝对路径。
文件管理与编辑
- 懒加载浏览授权根和子目录。
- 新建文件或文件夹,上传、下载和替换文件。
- 重命名、移动,以及将内容移入插件回收站。
- 查看回收站并恢复项目,发生路径冲突时不会覆盖现有文件。
- 使用带同步行号的 UTF-8 文本编辑器。
- 在 Markdown 源码与渲染预览之间切换。
- 使用按钮或双指手势将源码和预览缩放到
75%-250%。 - 使用 ETag 检测外部修改,拒绝静默覆盖较新的文件。
- 对二进制文件只提供元数据、下载和替换。
App 不能添加服务器授权根,也不能永久清空插件回收站。这些高权限操作只在服务器本机 DSH WebUI 中提供。
模型供应商
拥有 settings.read 权限时,App 可以查看 DSH 的有效供应商配置、模型列表以及凭据是否已配置。服务器不会回传 API 密钥正文。
拥有 settings.write 权限时,还可以:
- 编辑供应商名称、Base URL、协议、模型和思考设置。
- 写入或清除供应商凭据。
- 从兼容服务发现模型。
- 创建 DSH 支持的完全自定义供应商和模型路由。
权限如何生效
App 会根据服务器授予的 scope 自动显示或禁用功能:
| Scope | App 中允许的操作 |
|---|---|
chat.read |
查看工作区、会话、消息、TODO、命令和审批 |
chat.write |
管理工作区与会话、发消息、切换配置、执行命令和处理审批 |
files.read |
浏览、预览、下载和查看回收站 |
files.write |
新建、编辑、上传、移动和重命名 |
files.delete |
将文件或目录移入插件回收站 |
settings.read |
查看供应商和模型配置 |
settings.write |
修改或创建供应商,写入凭据 |
每台设备还需要单独的根目录授权。服务器管理员可以在 dsh-workspace 的“设备”页随时修改权限或撤销设备。
HTTP 安全提示
App 支持 http:// 和 https://,不会强制 HTTPS。HTTP 适合可信局域网、VPN 或临时测试,但会明文传输设备令牌、聊天内容和文件内容。
跨公网或不可信网络使用时,建议在插件前配置 Caddy/Nginx HTTPS,或通过 Tailscale/WireGuard、其他 VPN 或可信隧道连接。不要把配对码、设备令牌或 APK 签名材料分享给其他人。
隐私
- App 不包含广告或第三方分析 SDK。
- 设备令牌保存在 Android Keystore 支持的加密存储中。
- API 密钥只会写入 DSH 服务器凭据库,不会由 App 读取回显。
- 聊天和文件数据只发送到你配置的 DSH 地址。
常见问题
新建会话时没有可选工作区
切换到“新建工作区”,从授权根中选择目录;也可以先在 DSH WebUI 中登记工作区。
某些按钮不可用
当前设备缺少对应 scope。请在插件的“设备”页调整权限。
无法连接服务器
确认远程访问已经启用,服务器防火墙和云安全组允许该端口,手机填写的地址也不是服务器自己的 127.0.0.1。
会话长时间没有继续
查看聊天页是否出现审批面板。需要授权的操作不会在后台自动批准。
保存文件时提示冲突
服务器文件已经被其他程序修改。重新载入并合并内容后再保存。
从源码构建
需要 JDK 17 和 Android SDK 36:
./gradlew testDebugUnitTest lintDebug assembleRelease
Release 构建必须提供独立签名配置:
storeFile=/absolute/path/to/release-signing.p12
storePassword=...
keyAlias=...
keyPassword=...
通过 -PdshSigningProperties=/path/to/signing.properties 指定配置。签名文件和密码不应提交到仓库。
项目信息
- 当前版本:
v1.0.0 - 包名:
io.github.hakunm.deepseekharness - 作者:Github@Hakunm
- 许可证:GNU Affero General Public License v3.0
- 服务端插件:dsh-workspace
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-android-app」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:Hakunm/dsh-android-app Headless(CLI)profile:
dsh plugin --profile headless add github:Hakunm/dsh-android-app 实测报告
验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。
使用场景
把 dsh 接进你真正在用的工具——办公文档、任务板或聊天软件——让它融入你的工作流。
适合谁
想让 agent 在既有生产力工具栈里干活、而非被隔离在孤岛的人。
二次开发建议
集成和适配器是缝——加新的应用连接器、更丰富的读写或工作流触发。