huguangyu666/dsh-plugin-android-emulator ↗★ 0
dsh-plugin-android-emulator
DeepSeek Harness plugin: a port of the ZCode official android-emulator plugin — 23 Android build / emulator / ADB / UI-Automator MCP tools plus the android-dev skill. 适合需要AI协助进行Android开发、模拟器控制和自动化测试的工程师。
설치
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:huguangyu666/dsh-plugin-android-emulator6. 使用
斜杠命令(给人用)
/android # 查看状态:服务器路径、工程根目录、数据目录、Node 运行时、ANDROID_PLUGIN_* 环境
/android dir
# 切换工程根目录(自动重启 MCP 服务器,23 个工具重新注册)
原生工具 android_set_project_dir(给模型用)
ZCode 的工程根目录跟着会话自动变(ZCODE_PROJECT_DIR = context.workingDirectory,每次连接动态解析);
DSH 官方 MCP 桥接器的 cwd 只接受静态字符串,所以本移植补了一个原生工具让模型自己对齐:
android_set_project_dir # 不传参数 = 用当前会话的工作目录
android_set_project_dir { path } # 显式指定工程根目录
它做三件事:校验目录 → 按新根目录重建 MCP 桥接 → 在本地探测 settings.gradle(.kts) /
gradlew / gradle.properties 等标记并直接返回,所以模型一次调用就能确认对不对,
不用再多跑一次 android_discover_project。返回形如:
{
"ok": true, "changed": true,
"previousProjectDir": "...", "projectDir": "C:\\…\\",
"source": "argument",
"looksLikeAndroidProject": true,
"markers": ["settings.gradle.kts", "gradlew", "gradlew.bat", "gradle.properties", "local.properties"]
}
系统提示词里也写了「若 android_discover_project 找不到 Gradle 根,就调 android_set_project_dir」,
所以这一步是自愈的,不需要人插手。isConcurrencySafe() 返回 false —— 重挂是进程级操作,不能并发。
技能
android-dev 技能会出现在会话技能目录里,模型可直接加载;其工作流为:
android_preflight → android_discover_project(或 android_create_app)→
android_build_and_run → android_screenshot → 按需 android_logs / UI 自动化。
在输入框直接打 /android-dev 即可启动开发循环 —— 这是 DSH 的原生技能手势,
等价于 ZCode 的 /android-dev 命令(技能正文进 instructions,你的话作为任务):
/android-dev 帮我做一个计数器 App,跑起来截图给我看
技能还随包提供上游的 INSTALL_ENVIRONMENT.md(macOS / Windows 的 JDK、Gradle、
cmdline-tools、SDK 包、AVD 创建、模拟器加速逐步指引)。
本机已有 DSH 自带的 Android 技能(
adaptive、agp-9-upgrade、edge-to-edge、navigation-3、camerax、testing-setup、r8-analyzer等)。那些覆盖怎么写, 本插件覆盖怎么跑起来并验证,两者互补。