DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Android Agent — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
A

dsh-android-agent

Android Agent

dsh Web GUI 的 Android 手机测试自动化:持久化手机代理设备(~/.dsh/dsh-phone.json),保持与手机端代理的 WebSocket 连接,从 Web 面板驱动 JSON-RPC 方法(openApp / tap / inputText / swipe / screenshot / getUI),并向代理公开手机测试工具(phone_list、phone_rpc、phone_open_app、phone_tap、phone_input、phone_swipe、phone_keyevent、phone_screenshot、phone_get_ui、phone_u

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:ravenli059/dsh-android-agent#486c1e8c8eaa8f8cad6a34da73249d0367333712
README兼容性版本

说明

dsh Web GUI 的 Android 手机测试自动化:持久化手机代理设备(~/.dsh/dsh-phone.json),保持与手机端代理的 WebSocket 连接,从 Web 面板驱动 JSON-RPC 方法(openApp / tap / inputText / swipe / screenshot / getUI),并向代理公开手机测试工具(phone_list、phone_rpc、phone_open_app、phone_tap、phone_input、phone_swipe、phone_keyevent、phone_screenshot、phone_get_ui、phone_ui_find、phone_ui_tap、phone_ui_input、phone_ui_back)。支持热插拔——通过 ~/.dsh/cordis.patch.yml + profile node_modules 符号链接挂载,无需修改 dsh 源代码。

兼容性与来源证明

Android Agent 以 dsh-android-agent 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/8/20

版本

0.1.0stable
2026/8/20

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
Apache-2.0
发布源
github
GitHub
★ 1
周下载
0
最近提交
2026/8/31
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 developer-tools 分类下经过校验的插件。

Ssh@linxin666/dsh-sshdsh Web GUI 的远程 SSH 操作:主机配置存储(~/.dsh/dsh-ssh.json,可从 ~/.ssh/config 导入)、支持跳板主机的持久化 ssh2 连接池、exec / PTY Web 终端 / SFTP 传输 / 本地端口转发隧道 / 集群执行Doctor@linxin666/dsh-doctorDSH 配置档案的事务性救援模式,配备受监督的启动器、隔离的恢复容器、确定性修复、健康监控以及本地 Web 恢复控制台DSCODE@toddzheng024/dscode-bundle完整的 DeepSeek 编码代理,支持持久化 shell、Ultra 协作和自动权限审查。Automation@michengai/dsh-automationDSH Automation — 在隔离的 DSH Session 中按计划执行和管理编码任务

README

dsh-android-agent — Android phone testing plugin for DSH

中文 | English

A mobile-app testing plugin for DeepSeek Harness: it connects over WebSocket to an Android phone running dsh-android-agent on the same LAN and lets you open apps, tap at coordinates, input text, swipe, send key events, take screenshots and dump the UI tree from the dsh-web「Phone」panel, with the same phone_* tools exposed to agents. Built entirely on official NPM SDK packages — no dsh source changes.

Features

FeatureDescription
Device managementCRUD phone devices (alias / WebSocket URL / token / notes); stored in ~/.dsh/dsh-phone.json (0600)
ConnectionsOne WebSocket per device (ws://phone-ip:8080/ws?token=...), auto-reconnect (max 3), 5s status refresh
Open appopenApp by package name (e.g. com.android.settings)
Tap / swipetap/swipe at pixel coordinates, configurable gesture duration
Input textinputText — optional tap-to-focus first (accessibility ACTION_SET_TEXT / paste based)
Key eventskeyevent (back=4, home=3, recents=187, enter=66, delete=67 ...)
Screenshotpreview + download from the panel; agent tool saves into ~/.dsh/phone-screenshots
UI treegetUI dumps accessibility nodes (text / class / bounds / actions) to locate elements
Agent toolsphone_list / phone_rpc / phone_open_app / phone_tap / phone_input / phone_swipe / phone_keyevent / phone_screenshot / phone_get_ui / phone_ui_find / phone_ui_tap / phone_ui_input / phone_ui_back — same device config as the GUI
UI-tree-driven actionsphone_ui_find (contains / resourceId) locates nodes in the accessibility tree and returns bounds + tap center; phone_ui_tap clicks the best matching node; phone_ui_input focuses a field by label and types; phone_ui_back sends the Android back key or the edge-swipe back gesture. The GUI panel now renders the UI tree as a clickable row list (tap / input buttons per node) — no manual coordinate typing needed.

Security model

  • All /api/dsh-phone/* routes are loopback-only (with same-origin checks) — the execution surface that drives a real phone is never exposed to the LAN.
  • Tokens are stored in plaintext in ~/.dsh/dsh-phone.json (0700 dir / 0600 file, atomic writes) — same trust model as dsh-ssh.
  • Agents can only use devices configured by the user in the GUI first.
  • Screenshots/actions consume real phone resources and battery; confirm before operating.

Phone prerequisites

  1. Install and start the Agent app's foreground service (enable accessibility / screen capture on the phone, same LAN).
  2. Note the Agent's WebSocket endpoint ws://phone-ip:8080/ws and its token.
  3. Add the device in the dsh-web「Phone」panel: alias, WebSocket URL, token.

Install

This plugin is a standalone package (not part of the @linxin666/dsh-web-ui-all aggregate), installed via a local link:

### npm (not yet published — available once published)
dsh plugin --profile web add dsh-android-agent

### local standalone package (development, at D:\code\dsh\dsh-android-agent)
cd D:\code\dsh\dsh-android-agent
pnpm install && pnpm build
dsh plugin --profile web add link:D:\code\dsh\dsh-android-agent

Windows users can install with one command (build + link, PowerShell):

powershell -ExecutionPolicy Bypass -File D:\code\dsh\dsh-android-agent\scripts\install.ps1

Full install & verification checklist (build → tests → install → GUI/device checks) lives in docs/VERIFY.md.

Restart dsh web afterwards: the「Phone」entry appears in the sidebar and the agent prompt picks up the plugin announcement automatically.

Data

  • Device config: ~/.dsh/dsh-phone.json
  • Agent screenshots: ~/.dsh/phone-screenshots/

Development

pnpm install
pnpm typecheck
pnpm build

Known limitations

  • inputText relies on accessibility injection (ACTION_SET_TEXT / clipboard paste); some input fields may reject it — under root/Shizuku you can fall back to adb-style input via shell.
  • Screenshots travel as base64 inside JSON-RPC; panel preview defaults to JPEG (PNG supported).
  • Auto-reconnect can replay unfinished operations (non-idempotent) — mind side effects in long flows.
  • The plugin only operates devices the user configured in the GUI.