Skip to content

Raycast

Raycast 是一款启动器和效率工具,可以从统一的命令栏打开工具、运行命令、管理窗口并扩展 macOS 工作流。Protocol Launcher 会根据 Raycast 官方开发者文档和用户手册生成 deeplink。

用法

有两种使用此库的方式:

  • 按需导入(On-Demand)从子路径导入,支持 tree-shaking,保持打包体积小。
  • 完整导入(Full Import)从根包导入,使用方便但包含所有应用模块。

生产构建请选择按需导入;完整导入适合快速脚本或演示。

选择安装方式

按需加载
推荐使用。生产环境优化。
全量导入
使用便捷。适合快速脚本。

扩展命令

生成 Raycast 扩展命令 deeplink。Raycast 需要扩展 manifest 中的 owner 或 author、extension name 和 command name。内置扩展使用 raycast 作为 owner,并使用 slugified 后的扩展名和命令名。

On-Demand
ts
import { extensionCommand } from 'protocol-launcher/raycast'

const url = extensionCommand({
  authorOrOwner: 'linear',
  extensionName: 'linear',
  commandName: 'create-issue-for-myself',
  arguments: {
    title: 'Triage new issues',
  },
})

const withOptionsUrl = extensionCommand({
  authorOrOwner: 'raycast',
  extensionName: 'calendar',
  commandName: 'my-schedule',
  launchType: 'background',
  context: {
    source: 'protocol-launcher',
  },
  fallbackText: 'My Schedule',
})

自定义窗口管理命令

生成 Raycast 自定义窗口管理命令 deeplink。提供匹配的 name 会打开已有的自定义单窗口命令;省略 name 时,Raycast 会根据提供的窗口参数创建临时命令。

对于 Window Layout deeplink,Raycast 只支持 name 参数。

On-Demand
ts
import { customWindowManagementCommand } from 'protocol-launcher/raycast'

const url = customWindowManagementCommand({
  name: 'MyCommand',
  position: 'center',
  absoluteWidth: 500.0,
  relativeHeight: 0.5,
  absoluteXOffset: 0.0,
  absoluteYOffset: 0.0,
})

const temporaryUrl = customWindowManagementCommand({
  position: 'top-left',
  relativeWidth: 0.5,
  relativeHeight: 0.5,
  relativeXOffset: 0.1,
  relativeYOffset: 0.2,
})

官方文档