ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Ekko Agent Apple Notes Skill 实战:在 macOS 上用 memo CLI 管理备忘录的完整指南

Ekko Agent Apple Notes Skill 实战:在 macOS 上用 memo CLI 管理备忘录的完整指南 AI 应用人工智能AI Agent本地部署前端后端工作流自动化【免费下载链接】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 Agent 内置的apple-notesSkillpackages/ekko-agent/skills/apple-notes/SKILL.md为 Agent 提供了一套通过memo notes命令行操作 Apple Notes备忘录 App的标准流程覆盖查看、搜索、新建、编辑、移动、导出与删除。本文以该 Skill 文档为主体结合 Ekko Agent 的 Skill 发现与路由源码完整讲解其前置依赖、全部命令用法、隐私与安全边界以及它在 Ekko Agent Skill 体系中的定位与运作原理让读者既能直接上手调用也能理解背后如何被 Agent 发现与执行的机制。Skill 概览与定位apple-notes是 Ekko Agent 内置 Skill 目录中的一员packages/ekko-agent/skills/apple-notes/其 SKILL.md 开头通过 YAML frontmatter 声明了核心元信息--- name: apple-notes description: Create, view, search, edit, move, export, or delete Apple Notes on macOS with the memo CLI. metadata: keywords: - apple notes - notes.app - memo notes ---这三个字段在 Ekko Agent 中各有明确用途从源码可以一一印证packages/ekko-agent/src/tools/skills.tsname技能的唯一标识也是模型提示词中注入的技能名之一Agent 通过精确名称调用skill_view加载完整指令见SkillViewTool的execute中对精确名称匹配的要求。description用于skill_list的兜底发现fallback discovery。SkillListTool允许按 query 对技能名、描述与关键词做大小写不敏感的搜索。metadata.keywords用于宿主侧的确定性精确匹配。源码中的resolveSkillRouting与matchSkillsForUserMessage只使用技能名 显式关键词作为路由输入长的描述和 Skill 正文从不参与自动选择。也就是说apple notes、notes.app、memo notes这些关键词决定了当用户提到备忘录/Apple Notes/Notes.app时Agent 能否确定性选中该技能。使用该 Skill 有一个前提条件仅在用户明确希望结果落入 Notes.app 时使用when the user wants the result in Notes.app且该 Skill 是macOS-only。前置依赖与权限准备Skill 文档明确要求先做两项环境检查command -v memo memo notes --helpmemoCLI 来自开源项目 memo。如果系统中不存在该命令正确做法是向用户解释这一外部依赖并让用户自行决定是否安装绝不能静默安装——这一点与 Ekko 的技能设计原则一致skill-creator 中同样要求执行新脚本前先检查依赖不得静默安装。除了 CLI 本身Notes.app 必须可访问macOS 还可能会弹出自动化Automation权限请求路径为系统设置System Settings 隐私与安全性Privacy Security 自动化Automation只有授予该权限后memo才能代表用户读写备忘录库。这是 macOS 的应用沙箱与 TCCTransparency, Consent, and Control机制的体现Agent 应将此提示如实转达给用户。读取与搜索用最窄的查询范围保护隐私读取操作是四项能力中最安全的Skill 文档给出了三种命令形态memo notes # 列出所有备忘录 memo notes -f Folder Name # 按文件夹过滤 memo notes -s query # 按关键字搜索其中-ffolder与-ssearch可以组合使用核心原则是始终选用尽可能窄的文件夹或搜索词避免把与请求无关的私人笔记暴露在响应中。这条约束直接呼应了 Skill 文档反复强调的隐私边界——备忘录是高度私密的数据Agent 返回内容时应只呈现完成任务所必需的最小集合。新建备忘录注意交互式编辑器的行为差异创建命令同样有两种形态memo notes -a # 交互式创建可能打开编辑器 memo notes -a Note Title # 直接指定标题创建Skill 文档特别提示了一个实操坑创建过程可能打开交互式编辑器。因此若环境提供持久化的交互式终端应优先使用它否则请用户在本机完成标题/正文的输入而不是试图在一次性的 one-shot 命令中强行驱动编辑器。这一点对 Agent 调用方很重要——memo的交互式提示需要终端访问能力这在一次性 CLI 调用中不一定可用该限制在文档末尾的 Limitations 一节也有明确说明。编辑、移动、导出与删除以交互选择为基础的四类变更memo notes -e # 编辑interactive note selection memo notes -m # 移动interactive note selection memo notes -ex # 导出interactive note selection memo notes -d # 删除interactive note selection这四个命令都基于交互式笔记选择因此 Skill 文档给出了一条关键纪律在执行编辑、移动、删除之前必须先确认精确的笔记对象与所在文件夹identify the exact note and folder。更重要的是变更语义的分类创建、编辑、移动、删除都属于对用户笔记库的变更操作mutations文档明确规定——只在用户明确请求时才执行。对于删除如果目标笔记在用户指令中已经无歧义可直接执行否则必须在删除前向用户做一次即时确认Confirm immediately before deletion if the target was not already unambiguous。这条变更需授权、删除需确认的安全模式与 Ekko Agent 的 Skill 管理实现是同构的在 packages/ekko-agent/src/tools/skills.ts 的SkillManageTool中delete动作要求confirmedtrue且删除采用归档而非擦除的策略移动到.ekko-archive隐藏目录内置技能则完全禁止删除。可见无论是对笔记库还是对技能库Ekko 都坚持变更前读取、删除前确认、可恢复优先的一致安全哲学。已知限制如实告知能力边界Skill 文档末尾列出的三条限制是 Agent 在调用失败或用户预期过高时必须诚实沟通的内容限制影响与应对memo无法编辑包含图片或附件的笔记遇到此类笔记应明确告知用户能力边界而不是假装成功交互式提示依赖终端访问在 one-shot 命令中可能失效优先使用持久化交互终端或请用户本地完成导出的文件可能包含私人笔记内容只能写入用户指定的位置避免暴露无关内容最后一条尤其值得重视-ex导出功能会把笔记原文写入磁盘文件Agent 必须严格遵守只写到用户要求的位置这是防数据泄漏的硬性约束。从源码理解这个 Skill 是如何被发现、加载与执行的要真正用好apple-notes有必要理解 Ekko Agent 处理 Skill 的完整调用链。相关实现集中在 packages/ekko-agent/src/tools/skills.ts 与 packages/ekko-agent/src/skills/manager.ts。1. 发现DiscoverySkillListToolskills.ts L114-L175扫描配置的技能目录含外部技能目录路径解析逻辑见 packages/ekko-agent/src/skills/external-directories.ts返回每个技能的名称、描述、关键词、分类、启用状态与校验状态。apple-notes作为内置技能天然出现在该目录扫描结果中。2. 加载ViewSkillViewToolskills.ts L177-L256要求传入精确的技能名找到后返回完整的 SKILL.md 正文并附上sha256摘要与baseDirectory。这正是 Agent 在识别到用户想要在 Notes.app 中操作备忘录后拿到memo notes全套指令的途径。3. 执行ExecutionSKILL.md 的正文本质上是指令文本真正的执行动作由 Agent 的终端工具terminal 类工具发起memo notes ...命令完成。SKILL.md 在这里扮演操作手册的角色告诉模型何时用哪个参数、要遵守哪些隐私与确认纪律。4. 只读边界apple-notes作为一个使用外部 CLI 操作 macOS 应用的技能SKILL.md 中不含skill_manage可管理的支持文件其目录下仅有一个 SKILL.md。若需要为它补充参考资料或脚本按 skill-creator 的规定应放入references/、templates/、scripts/、assets/之一且路径必须受控源码中resolveSupportFile会强制校验目录白名单并拒绝..逃逸。与 Apple Reminders 技能的协作边界仓库中与apple-notes并列的还有 apple-reminders 技能二者都属 macOS-only 的系统应用操作类技能但职责划分清晰apple-notes用memo notes处理备忘录Notesapple-reminders用remindctl处理提醒事项Reminders且文档明确要求当remind me可能同时指向 Apple Reminders 或宿主应用内通知时必须先询问用户去向不得擅自断言该技能会调度聊天消息或 Agent 任务。这种同类技能之间的歧义裁决实践与apple-notes中只在用户想要 Notes.app 结果时使用的定位约束相辅相成共同构成了 Ekko Agent 处理 macOS 系统应用请求时的语义边界。总结apple-notes是一个小而完整的 macOS 专属 Skill 范例它用一份精炼的 SKILL.md 定义了memo notes全部操作形态-f/-s读取搜索、-a创建、-e/-m/-ex/-d变更导出并通过 frontmatter 的name/description/metadata.keywords接入 Ekko Agent 的确定性技能路由体系。对使用者而言掌握它的关键是三条纪律提前确认memoCLI 与自动化权限、始终用最窄查询保护隐私、把创建/编辑/移动/删除视为需显式授权删除需确认的变更操作——这正是 Agent 在用户私人数据上保持可信赖的底线。赞分享AI 应用人工智能AI Agent本地部署前端后端工作流自动化【免费下载链接】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点击查看免费下载相关推荐OpenClaw Apple Notes 技能实战使用 memo CLI 在 macOS 上全流程管理 Apple 备忘录OpenClaw Apple Notes 技能实战使用 memo CLI 在 macOS 上全流程管理 Apple 备忘录 在 OpenClaw 中技能SAI 应用AI Agent交互助手后端即时通讯网关Ekko Agent GitHub Skill 使用指南用 gh CLI 完成仓库、PR、Issue、CI 与 API 全流程操作Ekko Agent GitHub Skill 使用指南用 gh CLI 完成仓库、PR、Issue、CI 与 API 全流程操作 本指南围绕 Ekko AgAI 应用人工智能AI Agent本地部署前端后端工作流自动化用 Think Agent Skill 自动化生成 Release Notes以 release-notes 技能为例的完整实战用 Think Agent Skill 自动化生成 Release Notes以 release notes 技能为例的完整实战 本文基于 CloudflarAI AgentAgent 框架后端云原生MCP 服务实时通信创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表