🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

MuMu 模拟器控制 WSIKUN5/dsh-plugin-mumu

DeepSeek Harness
WSIKUN512 天前有提交已提供中文文档扫描:含敏感能力

让模型直接截图点击操作安卓模拟器里的应用

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add WSIKUN5/dsh-plugin-mumu
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 12 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件
查看扫描证据(共 7 处,展示前 7 条)
  • 执行外部命令来自配置/变量
    index.js:108
    const child = spawn(settings.pwshPath, args, { windowsHide: true, stdio: ['pipe', 'pipe', 'pipe'] })
  • 读取本地文件
    index.js:248
    if (dir && !existsSync(dir)) {
  • 写入本地文件
    index.js:249
    try { mkdirSync(dir, { recursive: true }) } catch {}
  • 读取本地文件
    index.js:307
    const stats = await readFile(hostPath)
  • 读取本地文件
    index.js:312
    const data = await readFile(hostPath)
  • 删除本地文件
    index.js:906
    try { await unlink(out) } catch {}
  • 读取本地文件
    index.js:945
    content = stripFrontmatter(readFileSync(SKILL_PATH, 'utf8'))
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

MuMu 模拟器控制插件:给 DeepSeek Harness 提供 mumu_* 工具与 mumu-skill(截图/点击/滑动/按键/OCR/等待/装包/多开)

README

由 DeepSeek 最新模型翻译生成
dsh-plugin-mumu 📦 最新版本下载:Releases(zip 解压即用,不用 clone) 把 Windows 上的 MuMu 模拟器 变成 DeepSeek Harness 里的一组 mumu_ 工具 + 一个 mumu-skill。 模型可以像用 browser-skill 那样直接操作模拟器:看屏幕、点击、滑动、按键、输文本、跑 Android shell、等画面变化、OCR 读字、装/卸 App、多开寻址,从而操作模拟器里的任意 App(内置一份斗地主场景的坐标与判定参考)。 - 截图走 PrintWindow(渲染窗):窗口被别的窗口盖住也能截到干净画面 - 点击走 SendInput 绝对坐标 + 光标到位校验:MuMu 通过轮询系统鼠标位置决定触摸点,光标没站稳就拒绝点击,避免点错 - 限时操作(2~3 秒的按钮)用 mumu_wait 本地轮询,不占用大模型回合 - OCR 用 Windows 自带的 Windows.Media.Ocr,完全本地离线 演示 演示片段:截图 → 启动系统设置 → 按渲染窗像素点击 → 返回 → 回到游戏。全程由 mumu_ 工具驱动,帧是直接截的 MuMu 渲染窗,坐标就是渲染窗像素。
展开完整文档(README 剩余 1 节)
dsh-plugin-mumu

📦 最新版本下载:Releases(zip 解压即用,不用 clone)

把 Windows 上的 MuMu 模拟器 变成 DeepSeek Harness 里的一组 mumu_ 工具 + 一个 mumu-skill。

模型可以像用 browser-skill 那样直接操作模拟器:看屏幕、点击、滑动、按键、输文本、跑 Android shell、等画面变化、OCR 读字、装/卸 App、多开寻址,从而操作模拟器里的任意 App(内置一份斗地主场景的坐标与判定参考)。

- 截图走 PrintWindow(渲染窗):窗口被别的窗口盖住也能截到干净画面
- 点击走 SendInput 绝对坐标 + 光标到位校验:MuMu 通过轮询系统鼠标位置决定触摸点,光标没站稳就拒绝点击,避免点错
- 限时操作(2~3 秒的按钮)用 mumu_wait 本地轮询,不占用大模型回合
- OCR 用 Windows 自带的 Windows.Media.Ocr,完全本地离线

演示

演示片段:截图 → 启动系统设置 → 按渲染窗像素点击 → 返回 → 回到游戏。全程由 mumu_ 工具驱动,帧是直接截的 MuMu 渲染窗,坐标就是渲染窗像素。

工具一览

| 工具 | 作用 |
| mumu_info | 实例 / 渲染窗句柄与矩形 / 前台窗口;probe 查型号、SDK、分辨率、客户机 IP;all 列全部实例 |
| mumu_observe | PrintWindow 截图(被遮挡也能截),可裁 region、可带颜色探针,返回图片 + 帧哈希 |
| mumu_tap | 渲染窗像素点击;光标到位校验;有人在动鼠标时拒绝点击 |
| mumu_swipe | 分步拖动(滚列表 / 翻页 / 拖动滑块) |
| mumu_key | Android 按键(back / home / task / enter / volume… 或数字 keycode) |
| mumu_text | ASCII 文本输入 |
| mumu_shell | 在客机跑 Android shell(getprop / pm / am / dumpsys / wm 等) |
| mumu_app | list / start / stop / uninstall / install(install 走宿主 adb + 桥接网络) |
| mumu_wait | 本地轮询画面条件,命中可选立刻点一下(限时环节的关键) |
| mumu_scan | 横带深色/亮色列聚类 + 亮度采样(读手牌、图标行的通用原语) |
| mumu_ocr | Windows 自带离线 OCR,返回带渲染窗坐标的文本行(中文/英文) |

mumu-skill 是玩法层文档:工作流、坐标基准、硬约束、排障,以及 references/doudizhu.md 里一份实战验证过的斗地主坐标与判定。

原理

MuMu Player 15 把每个 App 放在独立的虚拟显示器上(实测这台:游戏 display 3、系统设置 display 5、桌面 display 0), adb screencap 只能截到 display 0 的桌面,所以:

- 截图 = PrintWindow(render_wnd, PW_RENDERFULLCONTENT),即使窗口被遮住也拿到干净画面;
- 点击 = ForceForeground(主窗) + SendInput 绝对坐标,并在按下前用 GetCursorPos 校验光标确实到位;
- Android 命令 = MuMuManager.exe sh -c "<cmd>";
- OCR = PowerShell 7 加载 CsWinRT 投影程序集后调用 Windows.Media.Ocr(完全离线)。

具体 Win32/P-Invoke 与像素分析都收在 lib/mumu-worker.ps1(常驻 PowerShell 进程,JSON-lines 协议),插件本体 index.js 只负责参数、结果整形和把图片转成 Harness 的 attachment。

环境要求

- Windows 10 / 11
- MuMu Player 12/15(默认安装在 D:\MuMuPlayer,可在配置里改)
- DeepSeek Harness 桌面版(0.2.x),带 PowerShell 7
- 不需要 Node 额外依赖:插件只 import Node 内置模块

安装

1. 克隆本仓库,或从 Releases 下载 zip 解压,例如放到 D:\dsh-plugin-mumu;
2. 按需修改 cordis.patch.yml 里的路径(见下一节);
3. 在 DeepSeek Harness 里安装 bundle:

plugin_manager({ action: "install_bundle", target: "D:\\dsh-plugin-mumu" })

4. 装完后工具直接可用;改了代码后让插件重新加载(plugin_manager 里把 dsh-plugin-mumu 先 false 再 true)或重启 DSH。

本地目录安装是 链接(junction),所以以后 git pull / 改文件就是更新插件。

配置(cordis.patch.yml)

| 键 | 默认 | 说明 |
| managerPath | D:\MuMuPlayer\nx_main\MuMuManager.exe | MuMuManager 路径 |
| adbPath | 与 MuMuManager 同目录的 adb.exe | 仅 mumu_app install 用 |
| instance | 0 | 默认操作的实例 index(多开时用) |
| captureDir | D:\MuMuCaptures(配置默认;不配则 %TEMP%\dsh-mumu) | 截图落盘目录 |
| pwshPath | pwsh | PowerShell 7 路径 |
| respectUserMouse | true | 点击前确认系统鼠标静止(防止和人的手抢鼠标) |
| workerIdleTimeoutMs | 600000 | worker 空闲回收时间 |

使用说明

在 DeepSeek Harness 里让模型加载玩法文档:

skill({ name: "mumu-skill" })

然后就能直接下指令,例如「用 mumu 看看模拟器现在什么画面」「帮我把斗地主点进游戏」。
模型侧的典型闭环:

mumu_info({ probe: true }) // 实例、渲染窗矩形、客户机 IP
mumu_observe({ maxWidth: 1000 }) // 看画面(图片直接进对话)
mumu_tap({ x: 1504, y: 895 }) // 按渲染窗像素点
mumu_wait({ // 等按钮出现并立刻点(限时环节)
timeoutMs: 30000, intervalMs: 350,
predicate: { type: "color", region: { x0: 590, y0: 520, x1: 750, y1: 560 }, color: { preset: "orange" }, minRatio: 0.5 },
tap: { x: 665, y: 541 }
})
mumu_ocr({ region: { x0: 0, y0: 0, x1: 1763, y1: 200 }, scale: 2 }) // 读文字(带坐标)
mumu_shell({ cmd: "getprop ro.product.model" }) // 客机 shell
mumu_app({ action: "start", package: "com.qqgame.hlddz" }) // 启动 App
mumu_info({ all: true }) // 多开:列实例
mumu_observe({ instance: 1 }) // 多开:操作指定实例

坐标只有一个基准:所有 x/y 都是渲染窗像素(截图左上角 = 0,0,尺寸就是 mumu_info 里的 renderRect 宽高)。
不要用屏幕坐标,也不要用 Android 的 1440×2560。

安全设计

- mumu_tap 会先确认系统鼠标静止、再把光标移到位并读回校验,未到位直接放弃(返回 clicked:false);
- 点击会把 MuMu 提到前台,这是 MuMu 注入的固有行为;
- 工具串行执行,不会并发注入。

目录结构

index.js 宿主插件:注册 mumu_* 工具 + mumu-skill,图片转 attachment lib/mumu-worker.ps1 常驻 PowerShell worker:Win32 P/Invoke、截图、点击、等待、扫描、shell lib/mumu-ocr.ps1 OCR 助手:Windows.Media.Ocr(PowerShell 7 加载 CsWinRT 调用) lib/winrt/ CsWinRT 投影程序集(WinRT.Runtime + Microsoft.Windows.SDK.NET,MIT) skill/SKILL.md 玩法层文档(工作流/硬约束) skill/references/ 斗地主坐标与判定、排障手册 locale/ icon.svg 插件管理器显示用的标题/描述/图标 test/ 独立测试脚本(不需要 DSH 也能跑) docs/demo.gif 演示动画

测试 / 开发

不经过 DeepSeek Harness 也能直接测 worker:

node test/smoke.mjs # info / capture / shell / scan / wait
node test/smoke.mjs --tap 100 300 # 再点一下 (100,300) 并截结果
node test/new-features.mjs # info all / 无效实例报错 / OCR(含分区偏移)
node test/calibrate.mjs 700 400 # 触点标定:点一下并立刻截图(配合 Android show_touches 看落点)

验收时用到的辅助脚本:test/jitter.ps1(模拟人手动鼠标)、test/jitter-tap.mjs(验证拒绝点击)、 test/occluder-win32.ps1(盖一个置顶窗口验证遮挡截图)。
README 的演示 GIF 由 test/demo-capture.mjs 抓帧、test/build-demo-gif.py 合成。

更新记录

v0.2.2(2026-10-24) — 斗地主实战经验回灌到 skill:

- skill/references/doudizhu.md 新增第 8 节「第二晚实战补充」:倍数纪律(倍 ≥8 不再加倍、炸弹会把倍翻倍)、记牌方法与倒推公式、智能选牌会把牌型"升级"(三带二→飞机)、「牌型不符合规则」的两种原因与重试法、分清"当前手/上一手"、「好友同玩战绩」结算流程、互动工具全部实测坐标(聊天面板 / 10 句快捷语 / 5 个免费表情 / 点赞)。
- skill/SKILL.md:补「窗口重开必须重标坐标」「智能选牌会升级牌型」「牌型报错先重选一次」三条硬约束,参考表加互动工具入口。
- 背景:一晚 6 局只赢 1 局、累计 −320,复盘出来的问题基本都在"倍数管理 + 记牌起步太晚",已写成开局前 checklist。

已知限制

- MuMu 专属:依赖 MuMu 的 render_wnd 结构与 MuMuManager,不支持其他模拟器(没测过)。
- OCR:Windows OCR 引擎认不出渐变、描边、艺术字(scale 放大也只能认一半),这类文字请用截图判断。
- 键盘长按 / 组合键:mumu_key 只做单击 keyevent;长按可用 mumu_shell 的 input swipe 变体。
- 多开:寻址与操作已验证(instance 参数),但窗口注入是串行的,不适合同时对两个实例高频操作。
- 截图/点击精度依赖窗口矩形:窗口移动/重启后用 mumu_info({ refresh: true }) 重新取句柄。
- 只支持 Windows(PowerShell + Win32 API)。

免责声明

本项目仅用于 自己电脑上、自己有权操作的模拟器自动化。请遵守目标应用/游戏的服务条款与当地法律;因使用本工具导致的账号风险、封禁、数据损坏等,作者不承担责任。

License

MIT,见 LICENSE。

OCR 用的 lib/winrt/ 下两个程序集来自微软 CsWinRT(MIT),来源与替换方法见 lib/winrt/README.md。
预览分享卡片长什么样 ↓WSIKUN5/dsh-plugin-mumu
分享 · DeepSeek Harness Hub
WSIKUN5/dsh-plugin-mumu

让模型直接截图点击操作安卓模拟器里的应用

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部