核心用法
get-focus-mode 是一个轻量级 macOS 系统状态查询工具,用于读取当前激活的 Focus 模式名称。用户通过调用 shell 脚本即可获取标准化输出,便于集成到自动化工作流、状态栏显示或条件判断逻辑中。
典型调用方式:
~/clawd/skills/get-focus-mode/get-focus-mode.sh
输出格式: 纯文本字符串,包含以下预设值之一:
"No Focus"— 无焦点模式激活"Office"/"Sleep"/"Do Not Disturb"— 对应系统预设模式
依赖要求: macOS 系统环境,jq 已安装(用于 JSON 解析)。
显著优点
- 零配置即插即用:无需 API 密钥或复杂认证,直接调用系统 API
- 输出标准化:固定字符串枚举,便于脚本解析和条件分支
- 自动化友好:可无缝接入 Hammerspoon、Alfred、Raycast 等 macOS 自动化工具链
- 隐私本地化:纯本地执行,不传输任何数据至云端
潜在局限
- 平台锁定:仅限 macOS,无 Windows/Linux 移植版本
- 依赖外部工具:必须预装
jq,在极简环境中可能需额外配置 - 输出粒度有限:仅返回模式名称字符串,不包含定时规则、允许通知的 App 列表等元数据
- 硬编码值:预设模式名称为固定值,自定义 Focus 模式可能返回未定义字符串
适合人群
- macOS 高级用户与自动化爱好者
- 需要基于 Focus 状态触发工作流的效率工具用户
- 开发状态栏 Widget、菜单栏应用的独立开发者
常规风险
- 依赖稳定性:
jq路径或版本变更可能导致脚本失效 - 权限变更:未来 macOS 版本可能限制 Focus 状态读取的 API 访问
- 时序竞态:高频轮询可能受系统通知延迟影响,不适合毫秒级实时场景
- 自定义模式兼容性:非预设 Focus 模式名称可能未被脚本识别