前言¶
DeepSeek Harness (DSH) 采用插件化架构,通过扩展组件来增强核心能力。在 WSL(Windows Subsystem for Linux)环境中,开发者经常需要在 Linux 终端中与 Windows 桌面应用进行交互,例如调整窗口大小、激活特定应用或进行自动化操作。dsh-wsl-winctl 插件正是为了解决这一痛点而生,它允许用户通过 DSH 命令行直接与 Windows 顶级窗口通信。
插件定位¶
这是一个 DeepSeek Harness 插件,由用户 173787247 维护。其核心功能是提供一套 API,使得 WSL 内部能够枚举 Windows 顶级窗口,并对它们执行激活、最小化、恢复、移动和调整大小等操作。它不依赖复杂的桌面环境,而是直接与 Windows 窗口管理器交互。
核心功能¶
该插件提供以下操作能力:
- 枚举窗口:列出当前系统中的 Windows 顶级窗口。
- 窗口控制:执行激活、最小化和恢复操作。
- 窗口移动与调整:通过指定坐标和尺寸来移动窗口或调整其大小。
安装与启用¶
在安装之前,请确保你的环境满足以下条件:
* 运行在 Windows 上的 WSL 环境。
* DeepSeek Harness 已在该环境中运行。
* 系统路径中存在可访问的 PowerShell。
执行以下命令安装插件:
dsh plugin --profile web add github:173787247/dsh-wsl-winctl
典型用法¶
安装完成后,可通过 win_windows 命令调用以下功能:
1. 列出当前所有窗口
win_windows action=windows
2. 激活包含特定标题的窗口
此操作通过窗口标题进行模糊匹配,而非依赖当前焦点。
win_windows action=activate titleContains="Notepad"
3. 移动并调整窗口大小
移动操作必须同时指定位置(x, y)和尺寸(width, height)。如果只指定位置或尺寸不完整,操作会被拒绝。
win_windows action=move pid=1234 x=0 y=0 width=1280 height=800
注意事项¶
- 目标指定机制:插件要求所有操作必须明确指定目标,只能通过
pid(进程 ID)或titleContains(标题包含关键字)来定位窗口。插件不会作用于当前焦点所在的窗口。 - Move 操作的完整性:
move操作拒绝“半猜测”的执行方式。如果未提供尺寸或尺寸为负数,命令将直接失败,要求使用者提供完整的位置和正尺寸参数。 - 兼容性:该插件版本为 0.1.0,要求 DeepSeek Harness 版本不低于 0.1.2。
短结尾¶
该插件为 WSL 用户提供了标准化的窗口控制接口,适合需要自动化桌面交互或从 Linux 环境管理 Windows 应用的场景。其 MIT 许可证允许自由使用与修改。源码及更多兼容性细节请参考其 GitHub 仓库。