核心用法
windows-screenshot 是一个基于纯 PowerShell 的 Windows 屏幕截图工具,核心功能通过调用系统内置的 System.Drawing (GDI+) 库实现屏幕捕获。
执行方式:
- 直接运行:
powershell -File screenshot.ps1 - 通过 OpenClaw 调用:
openclaw exec powershell -File screenshot.ps1 - 支持与其他工具链整合(如 Telegram 发送)
输出特性:
- 自动保存至
.openclaw/media/screenshot_YYYYMMDD_HHMMSS.png - 输出带
MEDIA:前缀的路径,便于下游自动化处理 - PNG 24-bit 格式,文件大小通常 50-200 KB
显著优点
1. 零依赖部署:纯 PowerShell 实现,无需安装第三方工具(如 Snipping Tool、ShareX、Greenshot)
2. 系统级捕获:GDI+ 为 Windows 原生图像库,性能稳定,兼容性好
3. DPI 自适应:自动处理高分辨率屏幕的缩放问题,避免截图模糊
4. 完全开源可审计:MIT-0 许可证,源码托管于 GitHub,可逐行审查
5. 轻量集成:适合自动化脚本、CI/CD 流程、远程服务器截图等场景
潜在缺点与局限性
1. 仅支持主屏幕:明确标注"多屏支持 - 捕获主屏幕",实际多显示器场景需手动指定屏幕
2. Windows 独占:依赖 .NET Framework 4.x+ 和 GDI+,无法跨平台运行
3. 无交互功能:纯命令行工具,不支持区域选择、延迟截图、标注编辑等高级功能
4. GPU 状态敏感:锁屏或特定 GPU 状态下可能出现全黑截图
5. 无内置传输:Telegram 发送需额外配置环境变量和独立步骤
适合人群
- 自动化运维人员:需要在脚本中集成截图功能(如错误现场留存)
- 开发者/测试人员:轻量级 bug 截图反馈,不依赖 GUI 工具
- 远程服务器管理员:通过 PowerShell 远程会话捕获屏幕状态
- 隐私敏感用户:拒绝闭源商业截图工具,偏好可审计的开源方案
常规风险
| 风险类型 | 评估 | 说明 |
|---------|------|------|
| 恶意代码 | 极低 | 完全开源,MIT-0 许可,可逐行审查 |
| 数据泄露 | 低 | 仅本地保存,无隐式网络传输 |
| 权限问题 | 中 | 需 PowerShell 执行权限,企业环境可能受限 |
| 误用风险 | 低 | 仅在显式调用时执行,无后台驻留 |
| 兼容性 | 低 | 依赖 Windows 内置 .NET,老旧系统可能缺失 GDI+ |
总体安全建议:适用于可信环境的标准自动化任务,敏感场景建议预先审查 GitHub 源码并限制执行权限。