网淘吧来吧,欢迎您!

raycast

2026-04-01 新闻来源:网淘吧 围观:27
电脑广告
手机广告

Raycast 扩展技能

使用 React、TypeScript 和 Raycast API 构建强大的扩展。

快速开始(代理工作流)

当需要实现或修复 Raycast 功能时,请遵循以下步骤:

raycast

  1. 确定核心组件:判断 UI 是否需要列表网格详情视图表单
  2. 查阅参考文档:打开并阅读references/api/目录下的对应文件(例如references/api/list.md)。
  3. 使用默认值
    • 反馈:使用显示提示用于加载/成功/失败状态。仅对快速后台完成使用显示进度指示器
    • 数据:频繁/临时数据使用缓存本地存储用于持久性用户数据。
    • 访问:使用前始终检查environment.canAccess(AI)environment.canAccess(BrowserExtension)
  4. 实现:使用@raycast/api组件提供简洁的实现。
  5. 引用:链接回你所使用的具体references/api/*.md文件。

菜谱模式

1. 列表与网格(可搜索界面)

使用列表处理以文本为主的数据,使用网格处理以图像为主的数据。

<List isLoading={isLoading} searchBarPlaceholder="Search items..." throttle>
  <List.Item
    title="Item Title"
    subtitle="Subtitle"
    accessories={[{ text: "Tag" }]}
    actions={
      <ActionPanel>
        <Action.Push title="View Details" target={<Detail markdown="# Details" />} />
        <Action.CopyToClipboard title="Copy" content="value" />
      </ActionPanel>
    }
  />
</List>

2. 详情(丰富的Markdown)

用于显示长篇内容或项目详情。

<Detail
  isLoading={isLoading}
  markdown="# Heading\nContent here."
  metadata={
    <Detail.Metadata>
      <Detail.Metadata.Label title="Status" text="Active" icon={Icon.Checkmark} />
    </Detail.Metadata>
  }
/>

3. 表单(用户输入)

始终包含一个提交表单操作。

<Form
  actions={
    <ActionPanel>
      <Action.SubmitForm onSubmit={(values) => console.log(values)} />
    </ActionPanel>
  }
>
  <Form.TextField id="title" title="Title" placeholder="Enter title" />
  <Form.TextArea id="description" title="Description" />
</Form>

4. 反馈与交互

对于大多数反馈,推荐使用显示提示消息

// Success/Failure
await showToast({ style: Toast.Style.Success, title: "Success!" });

// HUD (Overlay)
await showHUD("Done!");

5. 数据持久化

使用缓存以提升性能,本地存储以实现持久化。

// Cache (Sync/Transient)
const cache = new Cache();
cache.set("key", "value");

// LocalStorage (Async/Persistent)
await LocalStorage.setItem("key", "value");

6. AI 与浏览器扩展(受限 API)

务必通过environment.canAccess检查进行封装。

if (environment.canAccess(AI)) {
  const result = await AI.ask("Prompt");
}

if (environment.canAccess(BrowserExtension)) {
  const tabs = await BrowserExtension.getTabs();
}

附加资源

API 参考树

示例

如需查看结合了多个组件和API的端到端示例,请参阅examples.md文件。

免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏

文章底部电脑广告
手机广告位-内容正文底部
上一篇:Shitty Email 下一篇:Agent Step Sequencer

相关文章

您是本站第389571名访客 今日有1篇新文章/评论