Repository navigation
Releases: asdukw/dsh-plugin-android-tools
Releases · asdukw/dsh-plugin-android-tools
Release list
v0.4.0
Full Changelog: v0.3.0...v0.4.0
v0.3.0
亮点
- 新增
screenshot:截屏并把图像交给模型。工具结果里的图会经附件服务落盘,
由 dsh 侧转成 provider 的image_url—— 用于对无障碍不暴露控件树的 App
(读屏只回 0–1 个节点时),或需要看图标/图片/版式的场合。 - 工具面收敛为通用设备原语:去掉聊天页语义,只留 App 无关的手和眼。
read_screen描述补上「空控件树」的判定与处置:只读任务改用截图,
需要点击/输入时请用户彻底结束该 App 再重来。
破坏性变更
wait工具下线。等待改由模型自己的思考阶段与重复read_screen轮询承担。
依赖wait的调用方请改用轮询,或固定在宿主侧等待。- 相比 v0.2.0 的工具集:移除
wait,新增screenshot。当前共 9 个工具:
read_screen/screenshot/tap_node/tap_point/long_press/
type_text/press/launch_app/swipe。
桥契约
- 新增动作
screenshot(无参数),payload为 JSON 字符串
{ "mediaType", "width", "height", "base64" }。 - 宿主没挂附件服务、或没按契约回图像数据时,
screenshot工具退回纯文字说明而不报错 ——
不产图的宿主继续可用。 - README(中英)的工具表与桥契约表已同步;
examples/mock-host.mjs里
screenshot回一张真实的 2×2 PNG,可直接对接调试。
测试
npm test:9 个工具的 smoke、bridge contract、以及用真实@deepseek-ai/dsh-tools
编译每个工具定义的 schema 校验。- 新增的 schema 校验针对一类静默故障:dsh 的 value schema DSL 对对象根要求显式写
additionalProperties,漏写会让defineTool抛错,而它一抛错整个插件注册的工具
全部消失(现象是模型侧tools: [])。原有的 smoke 测试用 stub 顶掉了defineTool,
拦不住;新检查把源码拷进沙箱、接上真实依赖来跑。 - 在拿不到真实
dsh-tools的环境(独立 clone、CI)里这条检查会跳过并说明原因,
不会把流水线弄红。
安装
dsh plugin add github:asdukw/dsh-plugin-android-tools#v0.3.0
# 或下载下方 tarball:
dsh plugin add ./dsh-plugin-android-tools-0.3.0.tgzFull Changelog: v0.2.0...v0.3.0