核心用法
poke 是一套围绕操作系统原生定时器(systemd/launchd/Task Scheduler)构建的提醒与任务调度系统,支持 Node.js 运行环境。用户可通过自然语言创建单次提醒、循环闹钟、延迟代理任务,并配置「持续催促直到回复」的升级机制。
典型指令模式包括:
- 基础提醒:
poke --remind "喝水" --at 14:00 - 循环任务:
poke --every morning --remind "晨会准备" - 代理任务:
poke --task --agent <agent_id> --delay 30m - 升级催促:
poke --escalate --until-reply配合递增强度或轮换语气 - 回复处理:用户回复通过
poke --reply显式转发,支持完成、取消、暂停等意图解析
工具采用子技能路由架构,8 个领域模块覆盖调度、升级、阶段钩子、安静时段、多渠道、管理、承诺推断与迁移场景。
显著优点
1. 系统级可靠性:直接对接 systemd timer、launchd、Task Scheduler,不依赖外部服务,离线可用
2. Agent 原生集成:支持延迟代理任务与回复感知的工作流,适合 AI 助手长期上下文管理
3. 灵活升级策略:可配置「直到回复」的递进催促、安静时段绕过规则、多渠道分发
4. 副作用钩子:支持提醒触发前执行脚本(如开灯)、回复后自动清理
5. 重复防护:内置重复提醒检测,避免重复创建
潜在缺点与局限性
- 平台覆盖不全:Linux 为当前唯一完全支持平台,macOS「即将上线」,Windows「最终支持」,跨平台体验割裂
- 无原生入站监听:需显式通过
poke --reply转发用户消息,增加集成复杂度 - Node.js 依赖:要求目标系统预装 Node 运行时
- 安全边界模糊:作为系统级定时器前端,具备执行任意脚本能力,权限配置不当可能导致逃逸
适合人群
- 需要离线可靠提醒的 Linux 高级用户
- 构建长期运行 Agent 工作流的开发者
- 希望系统原生集成而非依赖云提醒服务的隐私敏感用户
常规风险
1. 权限提升风险:systemd timer 可以 root 运行,若 --task 参数未严格过滤,可能导致命令注入
2. 时间炸弹累积:高频循环任务或「直到回复」升级链若未正确取消,可能耗尽系统 timer 资源
3. 隐私泄露:--channel 与 --target 配置若包含敏感标识符,可能在日志或进程列表中暴露
4. 状态不一致:用户直接操作系统定时器(如 systemctl 手动操作)可能导致 poke 内部状态漂移
使用建议
- 生产环境配合
--dry-run验证 flag 组合 - 对
--task参数实施严格白名单或沙箱隔离 - 定期调用
poke --list与系统 timer 状态交叉校验 - 敏感场景下避免使用
--agent执行特权操作