dsh-keymouse-use:Windows 键鼠与窗口自动化工具

前言

DeepSeek Harness (DSH) 采用了插件化架构,将核心功能解耦。dsh-keymouse-use 插件通过一个常驻的 helper 进程(bin/helper-x64.exe),利用 Win32 SendInput API 来模拟真实的键盘和鼠标输入。它同时提供截图和窗口管理能力,能够帮助模型在 Windows 环境下完成从简单的按键输入到复杂的窗口操作流程。

核心能力

该插件主要包含以下功能模块:

  1. 键盘模拟

    • key_press(key): 按下按键,用于组合键。
    • key_up(key): 抬起按键。
    • key_tap(key): 按下并立即抬起,用于单次按键。
  2. 鼠标模拟

    • mouse_press(button): 按下鼠标按钮。
    • mouse_up(button): 抬起鼠标按钮。
    • mouse_move(x, y): 移动鼠标指针(物理坐标)。
    • mouse_roll(up, amount?): 滚动鼠标滚轮。
  3. 截图

    • screenshot(): 截取主屏幕,返回 PNG 绝对路径、宽高以及当时前台窗口的 hwnd/title。
    • screenshot_window(hwnd?): 截取指定窗口(默认为前台窗口),返回路径、尺寸、抓取模式及窗口状态。
  4. 窗口管理

    • win_find(process): 根据进程名查找窗口。
    • win_activate(hwnd): 唤起窗口,处理最小化或托盘状态。
    • win_minimize / win_restore / win_maximize: 窗口最小化、还原、最大化。
    • win_top(hwnd, on): 设置窗口置顶,win_top 与 release_top 配合使用。
    • get_window(): 获取当前前台窗口的详细信息。
  5. 清理

    • release_all(): 一键抬起所有按住的键盘和鼠标按键,防止卡键。

安装与启用

本地目录安装(开发或内网环境):

dsh plugin --profile <name> add <path-to-dsh-keymouse>

通过 npm 安装(发布后):

dsh plugin --profile <name> add @temsmie/dsh-tool-keymouse

在桌面端(DeepSeek Harness 客户端 0.2.0)安装时,需要在插件管理面板中操作,安装完成后必须重启桌面端才能注册工具。

典型用法

以下是一些常见的操作组合示例:

1. 唤起窗口并操作
先查找窗口句柄,再激活窗口,随后执行操作。

// win_find('QQ') → win_activate(hwnd) 唤起窗口(不点图标)
const hwnd = win_find('QQ');
win_activate(hwnd);
key_tap('enter'); // 在窗口中输入回车

2. 组合键操作
先按下组合键,再按下功能键,最后释放所有按键。

// key_press('ctrl') → key_tap('s') → release_all
key_press('ctrl');
key_tap('s');
release_all();

3. 鼠标点击与移动
按下鼠标左键,移动到指定坐标,松开。

// mouse_press('left') → mouse_move(...) → release_all
mouse_press('left');
mouse_move(800, 600);
release_all();

4. 截图与观察
先截取屏幕,由宿主环境查看图像,确认位置后再进行操作。

// screenshot() →(环境支持看图时)查看图像 → 再定位操作
const path = screenshot();
// 假设宿主环境支持读取 path 并理解图像内容
// 然后根据图像内容计算坐标并执行鼠标移动

注意事项

  1. 平台限制:仅支持 Windows 系统。
  2. DPI 感知:helper 已设置为 DPI-aware,所有坐标和尺寸均基于物理像素。模型给出的坐标即为截图里看到的坐标,无需进行缩放换算。
  3. 无视觉识别:插件本身不包含识图能力。screenshot 返回的是 PNG 文件路径,能否识别图像内容取决于宿主环境(模型是否支持图像输入或是否安装了其他视觉插件)。
  4. 配置生效范围:DSH 加载的是 profile 目录里的副本,而非源码目录。如果修改了源码,必须重新安装或发版才能生效。
  5. 权限要求:插件以当前 DSH 进程的权限运行,需确保进程有权限操作目标窗口。

生态背景

DSH 的核心理念是「一切皆插件」。社区目录(如 skillhub.cn)是独立站点,与 DeepSeek 或幻方 AI 无官方从属关系。本插件通过社区目录或 GitHub 发布,供开发者按需引用。

相关链接

  • 目录页: https://www.skillhub.cn/plugins/msn233/dsh-keymouse-use
  • GitHub: https://github.com/msn233/dsh-keymouse-use
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜