mcpField
I
ios-app-intents

ios-app-intents

github.com/openai开发7.6k101 次安装3 周前更新
代码仓库

关于 ios-app-intents

一项指导 iOS 开发者设计精简 App Intents 层的技能,帮助将常用操作和实体接入系统入口,并保持清晰的应用内路由。

主要功能

  1. 01筛选高价值操作
  2. 02定义精简实体范围
  3. 03选择内联或打开应用的行为
  4. 04通过 App Shortcuts 暴露意图
  5. 05验证应用路由与调用

适用场景

  1. 01接入系统操作而不映射所有页面
  2. 02将意图路由到特定应用工作流
  3. 03让关键操作可在 Shortcuts 和 Siri 中发现

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/openai/plugins --skill ios-app-intents

安装后在 Claude Code 中输入/ios-app-intents确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
references/
code-templates.md
example-patterns.md
first-pass-checklist.md
system-surfaces.md

详细介绍

iOS App Intents

概述

向系统开放最精简且实用的操作和实体接口。先从用户在 App 之外真正需要的动词和对象入手,然后实现精简的 App Intents 层,在需要时能够顺畅地深度链接或切换到主 App。

按需阅读以下参考资料:

  • references/first-pass-checklist.md,了解如何选择首批意图和实体接口
  • references/example-patterns.md,了解可供复制和调整的具体示例
  • references/code-templates.md,了解通用的 App Intents 代码模板
  • references/system-surfaces.md,了解如何看待 Shortcuts、Siri、Spotlight、小组件和其他系统入口

核心工作流

1) 从操作入手,而非界面
  • 确定 1-3 个最有价值且应能在 App UI 之外使用的操作。
  • 优先选择撰写、打开、查找、筛选、继续、检查或开始等动词。
  • 不要将整个 App 导航树都照搬成意图。
2) 定义精简的实体接口
  • 仅为系统需要理解或用于路由的对象添加 AppEntity 类型。
  • 实体结构应比 App 的持久化模型更精简。
  • 仅在确实有助于消除歧义或提供建议时,才添加 EntityQuery 或其他查询类型。
3) 决定操作是在当前界面完成,还是打开 App
  • 对于可直接从系统界面完成的操作,使用不打开 App 的意图。
  • 如果用户需要进入 App 内的特定工作流,则使用 openAppWhenRun 或打开类意图。
  • 如果 App 必须在主场景内响应,则添加一条清晰的运行时切换路径,而不是散落各处的临时路由逻辑。
  • 如果操作在两种模式下都能运行,可考虑同时提供内联版本和打开 App 版本,而不是勉强折中为一种模式。
4) 让操作易于发现
  • 为首批高价值意图添加 AppShortcutsProvider 条目。
  • 选择适用于 Shortcuts、Siri 和 Spotlight 的标题、短语和符号。
  • 快捷指令短语应直白且以任务为导向。
  • 如果小组件配置或由意图驱动的控件已经需要相同参数,则为小组件和控件复用同一操作模型。
5) 验证运行时切换
  • 构建 App,并确认意图目标能够顺利编译。
  • 验证意图运行时 App 能否打开或跳转到预期位置。
  • 总结当前开放了哪些操作、由哪些实体支持,以及 App 如何处理调用。

推荐默认做法

  • 系统接口层优先使用专用的意图目标或模块。
  • 保持意图类型精简;业务逻辑应留在 App 服务或领域模型中。
  • 保持 App 实体精简且适合展示。
  • 在考虑使用完整实体类型之前,优先使用 AppEnum 表示标签页、模式或可见性级别等固定的 App 选项。
  • 在 App 主场景或根路由器中优先采用单一且可预测的 App 意图路由接口。
  • 将 App Intents 视为系统集成基础设施,而不只是 Shortcuts 功能。

反模式

  • 将每个界面或标签页都作为独立意图开放,却没有真正的用户价值。
  • 将整个模型图照搬为 AppEntity 类型。
  • 将运行时切换隐藏在全局副作用中,却没有清晰的 App 入口路径。
  • 添加短语含糊或标题笼统的 App Shortcuts。
  • 将首次实现 App Intents 当作大范围分类项目,而不是小而实用的版本发布。

备注

  • 请将以下 Apple 文档作为主要参考资料:
    • https://developer.apple.com/documentation/appintents/making-actions-and-content-discoverable-and-widely-available
    • https://developer.apple.com/documentation/appintents/creating-your-first-app-intent
    • https://developer.apple.com/documentation/appintents/adopting-app-intents-to-support-system-experiences
  • 除了上述链接,如果 App Intents API 或平台行为可能已发生变化,请通过网页搜索查阅最新的 Apple Developer 文档。
  • 良好的初步实现通常包括一个打开应用的意图、一个操作意图、一到两个实体类型,以及一个小型的 AppShortcutsProvider。
  • 值得覆盖的示例类别包括:
    • 在应用中打开某个目的地或编辑器
    • 无需打开应用即可内联执行轻量操作
    • 从固定枚举中选择,例如标签页或模式
    • 通过 EntityQuery 查询一个或多个实体
    • 使用同一实体界面为小组件配置或控制提供支持

评论

支持 Markdown