dsh-web
zhu1090093659
DeepSeek Harness (DSH) Web 插件聚合生态 · 万物皆插件,通过创意工坊分发||DeepSeek Harness (DSH) Web Plugin Aggregation Ecosystem · Everything is a plugin, distributed via the Creative Workshop
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:kelai141/dsh-mobile-apk
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
dsh-mobile 生态 · dsh-shell-termux(shell)· dsh-client-ui-responsive(移动 UI)· dsh-host-web-compat(浏览器兼容)· dsh-mobile(协调仓库,private) 支持开发者:https://d1api.xin/sign-up?aff=mVa0 欢迎大家使用此聚合网站,拥有极低价的国模和不降智的GPT
DeepSeek Harness 的安卓壳:WebView UI 覆盖 内嵌 Termux 运行时快照(解压即跑,无需 Termux app)、SAF 目录桥、保活前台服务、引擎看门狗、 运行时在线更新。一个 APK 装完即用:完整的 dsh web agent,且能真实执行 bash。
应用名 DeepCode(图标文字 DeepSearch)、包名 com.dsharnessmobile.shell、
当前版本 0.14.0-preview(versionCode 38)、引擎 @deepseek-ai/dsh 0.1.5-rc.1。
插件市场适配警示:内置市场牵涉大量第三方插件,绝大多数插件在手机端不一定可用、大概率有 bug (移动端与桌面端在 WebView 内核/文件系统/权限模型/运行环境差异大);移动端适配是长期工程, beta 阶段以「可用性验证与反馈」为主,暂不建议当作生产依赖。 插件报错请到 issues 反馈(附机型/版本/复现步骤)。
refreshSnapshot),引擎监听 127.0.0.1:3080;完全离线。assets/console.html),引擎未运行也可排查。width=<cssW> + 物理矩形等比 letterbox),
window.innerWidth 精确等于请求值;PC / 手机身份可切换(UA-CH 能力门,WebView 110 degraded 如实上报)。INVISIBLE 而非 GONE,保留布局 + 按上次舞台尺寸给非退化矩形)。browser_snapshot 渲染每行 ref(不再只报计数,模型拿得到可点目标)。virtual-1 恒为「没有屏时新建」的号)。am start --display <id> -n <component>
(固定 argv,先 cmd package resolve-activity);其余三条路实测均不成立
(monkey --display 无此选项 / shell am start 不稳 / 进程内 setLaunchDisplayId 被 SafeActivityOptions 拒)。
模型侧用法:android_app_launch { pkg, screenId: "virtual-N" }。x/y + screenId(经 input -d <displayId>,真实屏不受影响);
归一化 nx/ny 在虚拟屏上明确拒绝(分母歧义会静默点到真屏)。android_screenshot { screenId } 的两条通道都落到目标 displayId,
并把分辨率锚点换成该屏自身像素(此前 ADB 回落路径忽略 screenId,抓的是真实屏)。screencap/uiautomator/dumpsys/input 等只读与输入类;系统配置写面一律拒绝)。childPath;建树时钉住窗口 id
(焦点变化不再换树);UI 缓存 TTL 10 分钟。screenId/displayId/scope 逐条回填;guard() 异步解析别名
(虚拟屏别名 → 动态 displayId 必须问壳侧注册表,同步面做不到)。PickMultipleVisualMedia,API 33+ 系统照片选择器)。pickDirectory 把所选目录映射为真实路径。Release 提供双 ABI 包(另含快照归档、插件包、MANIFEST 校验清单与发布说明):
| APK | 适用 |
|---|---|
dsh-mobile-apk-v<版本>-arm64.apk |
arm64 设备(真机) |
dsh-mobile-apk-v<版本>-x86_64.apk |
x86_64 模拟器 / 设备 |
adb install -r -t <apk> # 同签名覆盖安装
ABI 必须与设备匹配。 ABI 不匹配会导致引擎启动即崩——node ELF EM_X86_64 vs EM_AARCH64。
真机选 arm64 包,模拟器选 x86_64 包。
覆盖安装后请等待首次解压完成(快照指纹翻转),期间勿强杀应用。
快照构建与打包在协调仓库(dsh-mobile)完成, 本仓库是壳子仓库。要求:JDK 17+、Android SDK(compileSdk 36);Gradle 8.11.1 由 wrapper 提供。
# 快照构建(Termux 源 + 依赖闭包 + pnpm + cordis 权威覆盖 + 瘦身):
node scripts\build-snapshot-013.mjs <arm64|x86_64>
# 一键打包(快照 → 注入 → 门禁 → gradle,双 ABI):
pwsh scripts\build-apk-013.ps1 -Suffix ""
# dev 档:单 ABI x86_64 + preset 1(产物体积增大,禁发布)
pwsh scripts\build-apk-013.ps1 -Fast
产物:out\v<版本>\dsh-mobile-apk-v<版本>-<abi>.apk。
门禁由 scripts/check-release-gates.mjs 聚合(--list 现数)。任一不过即拒打包,
严格发布档 --run --require 要求 SKIP=0。
window.androidBridge)壳侧 51 个 @JavascriptInterface 方法;页面按 androidBridge.version 做特性检测,
故 APK 与 dsh 版本解耦。
同步返回
| 方法 | 说明 |
|---|---|
version |
应用版本号,feature-detect 用 |
getSystemDark |
系统深色模式(绕过部分厂商 WebView matchMedia 失效,首帧主题用) |
checkEngine |
探测 127.0.0.1:3080;JSON {running, latencyMs, error?} |
hasAllFilesAccess |
是否已授予「所有文件访问」权限 |
getPickToken |
目录选择桥的一次性会话 token(引擎侧 pick 端点校验) |
copyText |
写入系统剪贴板(WebView clipboard.writeText 被拒时的回退) |
getDevLogEnabled / setDevLogEnabled |
dev 日志开关事实(拒绝乐观置位) |
getImmersiveMode / setImmersiveMode |
沉浸式状态栏(壳侧权威值) |
getOverlayEnabled / setOverlayEnabled |
悬浮层开关 |
getScreenScope / setScreenScope |
屏幕开放范围(virtual-only / real-only / all) |
getVdisplayScale / setVdisplayScale |
虚拟屏分辨率档位 |
getVdisplayFloatEnabled / setVdisplayFloatEnabled |
退后台自动浮窗开关 |
a11yStatus |
无障碍控制通道状态 JSON |
浏览器工作台
| 方法 | 说明 |
|---|---|
browserHostStatus |
工作台状态 |
browserHostShow |
打开/重开(含零参重载——WebView 桥按实参个数匹配) |
browserHostHide / browserHostClose |
隐藏 / 关闭即销毁当前页 |
browserHostReload |
重新加载(内含 browserHostShow 语义) |
browserHostBounds / browserHostViewport |
舞台几何 / 分辨率(CSS 视口) |
browserHostIdentity |
身份档切换(PC / 手机),载荷 {profile, ua} |
虚拟屏
| 方法 | 说明 |
|---|---|
vdisplayStatus / vdisplayCreate / vdisplayDestroy |
状态 / 创建(幂等)/ 销毁 |
vdisplaySelect |
选择呈现目标(仅自有虚拟别名可选) |
vdisplayBounds |
侧栏舞台几何下发(原生 CoverView 对位) |
forceDestroyVdisplay |
强制销毁全部虚拟屏(与设置页同口径) |
命令
| 方法 | 说明 |
|---|---|
pickDirectory |
SAF 目录选择;结果经 window.__dshBridge.onDirectoryPicked(callbackId, path) 异步回传 |
openPathChooser |
路径选择(工作区/共享目录) |
openNativePath |
「使用其他应用打开」原生路径 |
settingsPath / exportSettingsDocument / exportConfig / importConfig |
设置文档导入导出 |
keepScreenOn / showNotification |
屏幕常亮 / 通知测试通道 |
requestAllFilesAccess |
打开系统「所有文件访问」授权页(特殊权限) |
openA11ySettings / unlockRestrictedSettings |
无障碍设置页 / Android 13+ 一键解锁受限设置 |
restartEngine / shutdownToGuide / reloadWebUI / openConsole |
引擎与 UI 生命周期 |
incomingWorkspacePath |
来件会话工作区路径 |
AI 可见的能力全部来自插件,壳侧不直接注册工具。当前 45 个工具,按能力组渐进披露
(先 android_capabilities 解锁,之后工具才出现在列表里):
android_ui_dump / android_ui_click / android_ui_input / android_ui_scroll /
android_ui_tree / android_ui_detail / android_ui_global / android_screenshot /
android_screen_list / android_app_launch / android_device_info / android_act_input /
android_web_dump / android_env_preparebrowser_open / browser_snapshot / browser_click / browser_type / …(17 个)android_vdisplay_create / android_vdisplay_destroy / android_vdisplay_status跨屏用法:任何带 screenId 的工具传 "virtual-N" 即在虚拟屏上执行
(android_screen_list 列出当前别名与范围);缺省 real 表示真实屏。
| 权限 | 用途 |
|---|---|
INTERNET |
WebView + 引擎探测 + APK 自更新(仅手动触发) |
POST_NOTIFICATIONS |
通知通道(API 33+ 运行时请求) |
FOREGROUND_SERVICE + FOREGROUND_SERVICE_DATA_SYNC |
保活前台服务 |
MANAGE_EXTERNAL_STORAGE |
「所有文件访问」(外部工作区要求;特殊权限,用户手动授予) |
REQUEST_INSTALL_PACKAGES |
唤起系统安装器安装下载的更新包(须用户在系统页显式授权) |
SAF 目录/图片选择无需权限。虚拟屏与特权 shell 需用户安装、启动并授权 Shizuku。
完整版本历史见 docs/AGENTS/changelog-archive.md(倒序,最新在最上)。
开发地图与坑位库见 AGENTS.md 与 docs/AGENTS/gotchas.md。
MIT。第三方组件按各自许可(见依赖声明)。GPL 合规:copyleft 全文三形态在场——快照
usr/share/LICENSES/、仓库 LICENSES/、APK assets/licenses/。
感谢全体社区成员的反馈与贡献! 特别致谢:cdwlll(环境问题反馈)、haitunlang(MIUI12 兼容)、 TACONailoong(老 WebView 兼容方案)、X-SCI-TECH(PR 贡献)、Yangerwei(文件竞态反馈)、 gr12-cmd(armv7l 需求)、cmyfqwq(覆盖安装兼容反馈)。
诚邀各位开发者参与:欢迎提交 issue、PR、建议与改进。我们特别需要:Android 兼容性测试
(华为/荣耀/小米等定制 WebView)、armv7l 等更多机型支持、Shizuku 通道完善、插件生态扩展。
开发维护规范见各仓库 AGENTS.md(开发地图)。
欢迎加入 dsh-mobile 用户群反馈:使用问题、机型兼容、功能建议都可以在群里直接提。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: webview。