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
羽毛球分组比赛记分
小程序二维码

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

小夜