Ekko Agent 集成 Apple Reminders基于 remindctl 的 macOS 提醒事项技能全解析【免费下载链接】ekko-studioEkko Studio is a local-first AI workspace for multi-agent chat, coding, and visual workflows, available on desktop and the web.项目地址: https://gitcode.com/gh_mirrors/he/ekko-studio导读本文介绍 Ekko AgentEkko Studio 的本地优先 AI 工作区核心 Agent中内置的apple-reminders技能它通过 macOS 命令行工具remindctl让 Agent 能够读取、创建、编辑、完成和删除 Apple 提醒事项Reminders.app及其列表并将数据通过用户 Apple 账户同步。读完本文你将掌握该技能的前置依赖与授权流程、全部命令的用法与参数、日期格式约定以及 Agent 在操作私人数据时必须遵守的确认与最小化原则文章同时结合仓库源码说明该技能如何被 Ekko Agent 发现、校验与注入运行时。技能定位Ekko 内置技能中的 macOS 专属能力apple-reminders是 Ekko Agent 随包发布的内置技能built-in skill之一技能定义文件位于 packages/ekko-agent/skills/apple-reminders/SKILL.md。它的 frontmatter 如下--- name: apple-reminders description: List, create, edit, complete, or delete Apple Reminders and reminder lists on macOS with remindctl. metadata: keywords: - apple reminders - reminders.app - remindctl ---从 frontmatter 可以看出该技能的设计目标是当用户想要的任务需要存储进 Apple Reminders 并通过 Apple 账户同步时Agent 应调用remindctl来操作而不是假装能在当前宿主应用里调度聊天消息或 Agent 任务。它属于 Ekko Agent 内置技能集中 macOS 生态的一员。仓库中的内置技能目录 packages/ekko-agent/skills 下还包含apple-notes通过memoCLI 操作 Apple Notes、obsidian、tmux、weather等同类能力它们共享同一套技能发现与加载机制。前置条件remindctl 与 macOS 授权技能正式可用前Agent 必须确认依赖存在command -v remindctl remindctl statusremindctl是一个独立的第三方 CLI来自 steipete/remindctl 项目并非本仓库自带二进制。若命令不存在技能要求 Agent向用户说明该依赖并让用户自行决定是否安装不得静默安装。remindctl status用于检查当前环境与授权状态确保后续命令可正常执行。除此之外macOS 还可能需要用户授予提醒事项访问权限remindctl authorizeauthorize会触发一次可见的 macOS 权限弹窗属于用户可感知的系统级授权决策必须由用户亲自批准或拒绝Agent 不应绕过。查看提醒事项多时间窗口与多种输出格式技能提供了按时间维度筛选的完整查看命令族remindctl # 查看全部默认视图 remindctl today # 今日 remindctl tomorrow # 明日 remindctl week # 本周 remindctl overdue # 已逾期 remindctl all # 全部 remindctl 2026-01-04 # 指定日期同时支持三种输出格式控制remindctl today --json # JSON 输出便于结构化处理 remindctl today --plain # 纯文本输出 remindctl today --quiet # 安静模式精简输出技能明确要求处理时优先使用 JSON 输出因为 Agent 可以对其做结构化解析与后续加工同时强调把返回的个人数据限制在请求所需的最小范围内——提醒事项属于高敏感个人数据不应无谓地把整库数据塞进上下文。管理列表查看、创建与删除Apple Reminders 以列表list为组织单元技能支持以下操作remindctl list # 列出所有列表 remindctl list Work # 查看名为 Work 的列表 remindctl list Projects --create # 创建名为 Projects 的新列表 remindctl list Work --delete # 删除名为 Work 的列表创建与删除列表都会实际修改用户的 Reminders 资料库因此技能要求操作前必须核实确切的列表名称避免拼写差异导致误建/误删删除列表前必须与用户确认除非用户在指令中已经明确指定要删除该列表。创建提醒标题、列表、截止时间与时区创建提醒是技能的核心场景支持简单与完整两种形式remindctl add Buy milk # 最简仅标题 remindctl add --title Call mom --list Personal --due tomorrow remindctl add --title Meeting prep --due 2026-02-15 09:00技能对创建环节的约束非常严格相对日期按用户本地时区解析例如tomorrow对应本地时区的明天创建前必须确保标题、目标列表、截止日期与时间、时区没有歧义不要为用户发明截止时间如果用户只给了日期如2 月 15 日而没有指定具体时间不得擅自补一个时刻如 09:00写入。完成与删除可变的写操作需要显式确认remindctl complete 1 2 3 # 按 ID 批量完成多个提醒 remindctl delete 4A83 --force # 强制删除指定 ID 的提醒技能要求执行前先通过列表查询把每个 ID 解析到对应的标题与所属列表确保目标明确完成complete与删除delete都是修改用户数据的操作只有在用户明确提出时才可执行强制删除--force前如果精确目标在用户指令中并未完全显式必须立即向用户确认。日期格式约定--due与日期过滤器的输入规范--due参数以及today/tomorrow等日期过滤器接受以下格式格式示例说明相对词today、tomorrow、yesterday按本地时区解析纯日期YYYY-MM-DD如2026-01-04日期过滤、日期级截止日期时间YYYY-MM-DD HH:mm如2026-02-15 09:00精确到分钟的截止时间ISO 8601 时间戳标准 ISO 8601 字符串带时区信息的精确时刻技能同时要求在最终回复中使用绝对日期当相对日期如明天可能被用户误解时要给出绝对日期如2026-09-24避免歧义。隐私与边界Agent 操作个人数据的行为准则该技能在命令之外还沉淀了一套 Agent 行为准则属于技能指令中与命令同等重要的部分目的判定当提醒我可能既指 Apple Reminder、又指宿主应用内通知时若上下文无法判断必须询问用户希望写入哪个目的地不得声称该技能能调度聊天消息或 Agent 任务。最小化数据查看命令返回的个人数据仅限请求所需避免无关私密内容进入上下文或回复。显式授权依赖缺失时解释原因并交由用户决定是否安装权限弹窗由用户亲自处理。变更加确认创建/删除列表、完成/删除提醒等一切修改库的操作只在用户请求时执行删除类操作保持先解析目标、再显式确认的双保险。仓库源码佐证该技能在 Ekko Agent 中的加载与校验从源码结构看apple-reminders的技能定义遵循 Ekko Agent 统一的技能契约技能元数据结构定义在 packages/ekko-agent/src/skills/types.tsAgentSkill接口包含id、name、description、instructions与可选的tools字段SKILL.md 中的 frontmatter 与正文即映射为该接口的元数据与指令内容。技能目录管理与初始化位于 packages/ekko-agent/src/directories.ts其中skillsDirectory指向rootDirectory/skills内置技能会被安装到每个 profile 的技能目录如profileSkillsDirectory(default)。技能发现、查看与管理的工具实现在 packages/ekko-agent/src/tools/skills.ts包括SkillListTool按名称/关键字检索、SkillViewTool读取具体技能的完整指令、skill_manage创建/编辑/补丁/删除/读写支持文件其中还定义了内置技能清单文件.ekko-builtin-skills.json、技能名称合法模式与valid | needs_metadata | invalid校验状态。运行时注入方面packages/ekko-agent/src/runtime/system-prompt.ts 在启用技能发现时会向系统提示注入可用技能名称列表并指示模型当用户请求意图与某个技能名匹配时先用skill_view读取该技能的精确名称指令再按指令执行apple-reminders的关键字apple reminders、reminders.app、remindctl正是在这一发现机制中帮助模型命中该技能的依据。仓库测试 tests/ekko-agent/builtin-skills.test.ts 对内置技能集合做了完整校验其中明确断言apple-reminders属于随包发布的技能之一并验证了每一项内置技能的 frontmatter 必须包含metadata.keywords18 个 ASCII 关键字、且会被安装到每个 profile 的技能目录确保该技能在运行时确实可被发现、可被skill_view加载。实操小结一次典型的提醒创建对话综合技能指令与运行机制一次典型的用法是用户在 Ekko Studio 对话中说出帮我明天上午 9 点提醒我打电话给妈妈放到个人列表里。Agent 的完整处理路径为依据系统提示注入的技能名称与关键字命中apple-reminders调用skill_view加载 SKILL.md 指令执行command -v remindctl remindctl status确认依赖与授权状态必要时请用户执行remindctl authorize若有歧义如提醒也可指应用内通知先询问目的地此处明确是 Apple Reminder无需询问将明天上午 9 点按用户本地时区解析为绝对时间执行remindctl add --title Call mom --list Personal --due YYYY-MM-DD 09:00回复中给出绝对日期的确认信息并向用户说明该提醒已进入 Reminders.app 并经 Apple 账户同步。整套流程既覆盖了remindctl的全部命令面也体现了该技能功能完整、数据最小化、写操作显式确认的设计哲学可作为 Ekko Agent 在 macOS 个人数据场景下的参考范式。【免费下载链接】ekko-studioEkko Studio is a local-first AI workspace for multi-agent chat, coding, and visual workflows, available on desktop and the web.项目地址: https://gitcode.com/gh_mirrors/he/ekko-studio创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
3分钟搞定x线胸片代码逻辑,附完整示例 3分钟搞定x线胸片代码逻辑,附完整示例 翻遍官方文档,关于图像处理的API说明往往篇幅冗长,核心逻辑却藏在晦涩的函数定义里,让人抓不住重点。对于刚接手医疗影像项目的开发者,这种“文档太长抓不住重点”的困境尤为典型。今天直接上干货,通过拆解一… · 2026/9/23 18:13:12
Yii 2 Behaviors(行为)机制完全指南:定义、挂载、事件响应与内置行为实战 后端Web框架 【免费下载链接】yii2 Yii 2: The Fast, Secure and Professional PHP Framework 项目地址: https://gitcode.com/gh_mirrors/yi/yii2 点击查看 免费下载 Behaviors(行为,又称 mixin/混合)是 Yii 2 框架中用于在不改… · 2026/9/23 18:13:12
4元阵列LMS波束成型MATLAB仿真:低旁瓣设计从入门到实战 简介:一个基于LMS(最小均方)算法的4元阵列波束成形MATLAB脚本,面向无线通信、雷达与信号处理方向的学习者,演示多天线系统如何通过迭代调整阵元权重,实现高增益、低旁瓣的定向波束。压缩包仅含1个m文件&… · 2026/9/23 19:23:04
互联网监测原理拆解:3个避坑指南助你面试不挂 互联网监测原理拆解:3个避坑指南助你面试不挂 面试被问到“互联网监测”的具体实现逻辑,是不是脑子一片空白?明明平时写代码都在做数据抓取和分析,但一提到底层的流量捕获、协议解析和异常告警,就答不上来?别慌,今天这篇避坑指南就是为你准备的。… · 2026/9/23 19:23:04
基于WEB的个人知识管理系统架构拆解:Nginx+MongoDB部署实战 简介:基于WEB的个人知识管理系统.zip 是一份面向毕业设计学生及Web开发初学者的完整项目源码包,围绕知识采集、分类、存储、检索与共享等核心模块展开,适合用于课程设计、毕设参考或二次开发练习。压缩包共505个文件,大小21.42MB&… · 2026/9/23 19:23:04
移动端UI适配:BaseContainer组件与CSS变量实践 1. 移动端二开中的UI适配痛点解析在CRMEB多商户系统的移动端二次开发过程中,UI适配问题往往成为最消耗开发时间的"隐形杀手"。不同于PC端相对统一的显示环境,移动设备呈现出令人头疼的碎片化特征:全面屏适配难题:iPhone… · 2026/9/23 19:22:58
中小冷库的隐形分水岭:数字化和电力 一、价格相差五六倍的冷库,差在哪郑州的冷库市场,正在经历一轮明显的价格分化。一边是远郊的个人冷库,租金已经低到每天每平方米0.34到0.51元;另一边,正规冷链园区仍在每平方米2.2到3元的区间。同样是一间冷库… · 2026/9/23 19:22:58
QNX微内核RTOS入门:VirtualBox虚拟机安装与核心机制解析 1. QNX系统到底是什么,为什么值得花时间折腾第一次听到QNX这个名字,很多人会以为是某个小众Linux发行版,或者某个国产操作系统。其实都不是。QNX是一套微内核架构的实时操作系统(RTOS),最早由加拿大QNX Sof… · 2026/9/23 19:22:58
3招搞定手机怎么下载微信面试难题实战项目解析 3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A… · 2026/9/23 0:00:03
你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 面试被问“高并发下如何保证消息不丢失”,你张口就是“用Redis”,结果面试官追问“如果Redis宕机了怎么办”,你瞬间卡壳。这种场景太常见了,很多新手在背八股文时,只记住了技术名词… · 2026/9/23 0:00:29