在 DSH 对话旁打开 Android 设备实时画面面板:scrcpy-server H.264 串流(WebCodecs 硬解 30-60fps),agent 可点按/滑动/输入并自动回截图验证,uiautomator 控件树带点按坐标,host 托管录屏+logcat 调试会话;FLAG_SECURE 安全页面自动识别、缓解链与控件树文本降级。模拟器与 USB 真机通吃,人机共屏,会话隔离,仅限本机回环。
安装
# Release 预构建包
dsh plugin --profile web add "https://github.com/hoyyang/dsh-android-pane/releases/download/v0.1.0/dsh-external-dsh-android-pane-0.1.0.tgz"
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:hoyyang/dsh-android-pane
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
在 DeepSeek Harness(DSH)对话旁打开一块 Android 实时画面面板:模拟器和 USB 真机通吃,agent 能点按操作并用截图 + 控件树自证改动,你也能随时上手共操作。
安装
dsh plugin add github:hoyyang/dsh-android-pane
零配置:不需要 API Key、不需要改 DSH 配置。需要 adb 在 PATH(Android SDK),一台开了 USB 调试的设备或任一模拟器;macOS/Linux + DSH web profile。
有啥用
- 实时画面:scrcpy-server H.264 直推 DSH 网页端,WebCodecs 硬解(本机回环 30–60fps);scrcpy 起不来(老设备/强化安全系统)自动降级截图轮播。
- agent 自己会验证:10 个上下文经济工具——点按/滑动/文本/按键/滚动/旋转(每次操作自动回截图)、uiautomator 控件树带点按坐标、mp4 录屏、host 托管调试会话(录屏 + logcat + 动作时间线)。
- FLAG_SECURE 黑屏自愈:银行/密码类应用自动识别,横幅提示 + 缓解链(
adb root→ root 框架启用指引 → SECURE 位复查终局判定),仍被系统拦截时降级为可点按的控件树文本视图,每步结果明示,绝不静默。 - 人机共屏:面板里点=点按、拖=滑动;agent 操作时亮红色徽标(面板手势暂被拒绝),谁在开车一目了然。
- 会话隔离:一台设备同时只归一个会话;闲置 10 分钟自动释放(模拟器关机、真机仅断开)。
- 仅本机:所有流只允许 127.0.0.1 访问(其余一律 403),面板变更做同源校验。
30 秒上手
- 手机开 USB 调试连电脑(或启动任一模拟器);
- 对 agent 说「连接我的安卓设备」;
- DSH 网页端出现设备实时画面;
- 说「点一下设置图标」——围观 agent 操作,每步自动回截图;
- 你也可以直接在画面上点按、拖动,人机共屏。
进阶用法
- 中文输入:
android_pane_install_ime(一次性装 ADBKeyboard 输入法,中文经剪贴板粘贴)。 - 元素级操作:
android_pane_ui按 find/click/setText,文本模糊匹配控件,替代盲点坐标。 - 安全页面检测开关:config
flagSecureCheck(默认 true)。 - 部分厂商深度定制系统:注入点击需打开「USB 调试(安全设置)」,否则面板自动降为只看。
工作原理
attach 时把 scrcpy-server 推上设备、以 app_process 跑 H.264 编码,视频流经 adb 端口转发到本机回环,网页端 WebCodecs 硬解渲染;注入指令经 adb 下发,控件树来自 uiautomator dump。debug 模式由 host 托管:分段 mp4 录屏 + 全量 logcat + 结构化动作时间线,供事后逐动作回放分析。
可靠性与验收
按 dsh-plugin-build 生产线交付:隔离 staging 验证、卸载重装幂等、冷启动三故障静态检测、十门审查;模拟器与多品牌真机实测(H.264 串流、注入、中文输入、FLAG_SECURE 降级链、多设备并发)。样式层自愈(v0.1.1):头部按钮/面板样式被意外移除或失效时毫秒级自动恢复,热重载后新样式免整页刷新即生效。
常见问题
- 画面全黑? 多为 FLAG_SECURE 页面(银行/密码管理器),面板会出横幅并给缓解链;普通页面黑屏先确认
adb devices在线。 - 点按没反应? 部分厂商深度定制系统需开「USB 调试(安全设置)」。
- 帧率低? 多设备同时串流会分带宽,先 detach 不用的设备。
本地构建
git clone https://github.com/hoyyang/dsh-android-pane && cd dsh-android-pane
npm install && npm run build && npm run build:client
卸载
dsh plugin remove @dsh-external/dsh-android-pane
卸载即停流、回收 adb 子进程;状态在 <DSH_HOME>/dsh-android-pane/(截图、state.json),可整目录删除。
隐私
agent 对设备的截屏会发送给所配置的模型。勿在受控设备上登录真实账号。
许可证
MIT — 见 LICENSE。随包分发的 scrcpy-server(Apache-2.0)与 ADBKeyboard.apk(Apache-2.0)见 THIRD_PARTY_NOTICES.md。
链接
同类插件
DayuanJiang/next-ai-draw-io#dsh-plugin★ 36548
dsh 的 draw.io 绘图插件:通过 next-ai-drawio MCP 服务器作图,点回复里的链接在右侧栏打开实时预览,可以手动修改图,AI 的每次修改都是可以恢复的版本。需 Node.js 18+,首次使用由 npx 下载 MCP 服务器。
Tencent/WeKnora#dsh-weknora★ 36201
把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己带引用的 RAG 或 ReAct agent 回答(含可续聊的 session id)。
superdesigndev/treg★ 6962
给 Agent 的工具目录:按「要做的事」检索约 2,600 个外部接口(SEO 与 SERP、外链、社交、人物与公司信息补全、广告库、抓取),查看参数与单次调用价格后直接调用,凭据由服务端注入。附带技能,MCP 行在未设置 TREG_TOKEN 前保持禁用。
T-Auto/dsh-ops★ 5011
为 Windows 的 DSH 提供 bash、PowerShell 7 及 Rust 高性能工具,减少 token 消耗。
sixtysevenlf/dsh-blender-plugin★ 1536
让 DSH agent 通过直连 TCP 通道驱动本地 Blender,提供 15 个工具:视口帧、自定义视角渲染、Python 执行、无头与作业卸载、事务回滚,以及 34 个 family / 228 个 op 的规划层。
TencentCloudBase/CloudBase-AI-Toolkit#dsh-plugin★ 1153
把腾讯云 CloudBase 后端接入 DeepSeek Harness——在对话里搭好并部署全栈应用,查询结果渲染为表格卡片(分页、排序、导出 CSV),部署后可预览真实域名,并提供 CloudBase MCP 工具集(`mcp__cloudbase__*`),登录走 device-code 流程。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。