dsh-doctor
asdf17128
Find what your DeepSeek Harness (dsh) patches silently broke — dead patches, config fields dropped by whole-config repla…
PROJECT TOPICS
PROJECT README
把你自己的 DeepSeek Harness 带到 Android 手机上。
中文 · English
dsh-android-app 是 DeepSeek Harness 的原生 Android 客户端。它通过 dsh-workspace 连接你自己的 DSH WebUI,让手机与网页端使用同一套工作区、会话、模型和文件。
你可以在手机上继续聊天、查看任务进度、处理审批、切换权限与模型,也可以直接浏览和编辑服务器允许访问的文件。App 默认中文,可在设置中切换 English。
从 GitHub Releases 下载:
DeepSeek-Harness-v1.0.0.apk
安装要求:
dsh-workspace v1.0.0 或兼容版本正式 APK 使用项目独立的发布证书签名,不使用 Android 测试签名。后续版本需要使用同一证书,才能直接覆盖更新。
dsh-workspace 的“工作区设置”。http://192.168.1.20:3090 或 https://dsh.example.com。设备令牌由 Android Keystore 支持的加密存储保存。App 重启后会恢复连接;在 App 中断开会清除本机令牌,在 WebUI 撤销设备会让令牌立即失效。
/ 浏览并执行服务器提供的 host 斜杠命令。新建会话时,可以选择 DSH WebUI 已登记的工作区,也可以从设备获准访问的根目录中挑选一个现有目录,将它登记为新的 DSH 工作区。
工作区管理支持:
移除登记不会删除服务器目录、文件或会话日志。
每个会话的菜单支持:
App 只显示工作目录位于设备授权根内的工作区和会话,接口不会向手机暴露服务器绝对路径。
75%-250%。App 不能添加服务器授权根,也不能永久清空插件回收站。这些高权限操作只在服务器本机 DSH WebUI 中提供。
拥有 settings.read 权限时,App 可以查看 DSH 的有效供应商配置、模型列表以及凭据是否已配置。服务器不会回传 API 密钥正文。
拥有 settings.write 权限时,还可以:
App 会根据服务器授予的 scope 自动显示或禁用功能:
| Scope | App 中允许的操作 |
|---|---|
chat.read |
查看工作区、会话、消息、TODO、命令和审批 |
chat.write |
管理工作区与会话、发消息、切换配置、执行命令和处理审批 |
files.read |
浏览、预览、下载和查看回收站 |
files.write |
新建、编辑、上传、移动和重命名 |
files.delete |
将文件或目录移入插件回收站 |
settings.read |
查看供应商和模型配置 |
settings.write |
修改或创建供应商,写入凭据 |
每台设备还需要单独的根目录授权。服务器管理员可以在 dsh-workspace 的“设备”页随时修改权限或撤销设备。
App 支持 http:// 和 https://,不会强制 HTTPS。HTTP 适合可信局域网、VPN 或临时测试,但会明文传输设备令牌、聊天内容和文件内容。
跨公网或不可信网络使用时,建议在插件前配置 Caddy/Nginx HTTPS,或通过 Tailscale/WireGuard、其他 VPN 或可信隧道连接。不要把配对码、设备令牌或 APK 签名材料分享给其他人。
新建会话时没有可选工作区
切换到“新建工作区”,从授权根中选择目录;也可以先在 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.0io.github.hakunm.deepseekharnessCLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。