核心用法
windows-screenshot 是一个自包含的 PowerShell 脚本,利用 Windows 内置的 System.Drawing (GDI+) 库实现屏幕捕获。用户可通过 powershell -File screenshot.ps1 直接执行,或通过 OpenClaw 框架调用。脚本支持通过 OPENCLAW_MEDIA_DIR 环境变量自定义输出路径,默认保存至 $USERPROFILE\.openclaw\media,文件名带时间戳避免冲突。
显著优点
- 零依赖部署:无需安装第三方软件或模块,依赖 Windows 原生 .NET Framework 4.x+
- 源码完全透明:MIT-0 许可证,GitHub 开源可审查,非黑盒工具
- 系统级捕获:GDI+ 直接调用显卡帧缓冲,兼容性优于部分截图 API
- 自动化友好:输出
MEDIA:前缀路径,便于流水线集成(如 Telegram Bot 推送) - 高 DPI 适配:自动感知屏幕缩放比例,避免模糊或裁切问题
潜在局限
- 仅支持主屏幕:多显示器环境下无法指定副屏捕获
- Windows 独占:依赖 .NET Framework,无跨平台能力
- 无交互界面:纯命令行工具,不适合需要选区截图的场景
- 24-bit 色深:无透明度通道,专业设计场景可能受限
适合人群
DevOps 工程师、自动化测试开发者、需要无 GUI 截图方案的技术用户,以及重视源码可审计性的安全敏感场景。
常规风险
- 权限要求:需用户级权限访问屏幕缓冲区,企业环境可能有组策略限制
- 数据本地性:虽无网络传输,但截图文件落盘需关注磁盘加密状态
- 时间戳依赖:快速连续调用可能因秒级精度产生文件名竞争(概率极低)