3行でいうと
- Raycastを外から呼ぶ入口は、
raycast://で始まるdeeplinkです。公式は、コマンド、スクリプト、AI Commandの3種類の形を書いています。実行の前に確認が出て、「Always Open Command」を選ぶとその確認が省かれます。 - 自分で作る拡張機能からRaycast AIを呼ぶには、
AI.askを使います。Raycast Proが要り、上限は1分に10回、1時間に100回です(公式の記載)。 - iPhoneでは、Apple Shortcutsに「Ask AI」「AI Commands」「Open Voice」が出ます。ただし、何のデータを渡せるかは、公式のページに書かれていません。
- Script Commandsは、自分で書いたスクリプトをRaycastから呼ぶ仕組みです。AIのCLIなどを呼ぶ使い方は、公式のページには書かれていません。この記事の案として、別にします。
- Skillsは、
SKILL.mdを所定のフォルダーに置く連携です。公式は、既定のフォルダーは一般的なAIエージェントも使い、公開の標準(Agent Skills)に従う、と書いていますが、具体的なツール名は挙げていません。 - 公式の資料に、
rayコマンドの詳しい説明や、ブラウザー拡張の手順は、読んだ範囲では見つかりませんでした。
この記事は、公式の資料を2026年10月25日に読んでまとめたものです。この記事は、実際に使って確かめた記録ではありません。
先に結論
- 外から呼ぶ入口は、deeplinkとScript Commands。 deeplinkは、ほかのアプリ、ブラウザー、ターミナルからRaycastの機能を動かします。Script Commandsは、逆に、Raycastから自分のスクリプトを動かします。
- 拡張機能からのAIは、Raycast AIを通る。 公式の説明は、キーも設定も要らずにAIが使える、です。ただし、Raycast Proが要ります。手元のモデル(Local Models)は、この「Extension AI API」を動かしません。
- iPhoneはApple Shortcutsが入口。 公式のiOSの記事は、3つの既定の操作を挙げます。それ以上の渡せる内容は、書かれていません。
- Skillsは、ファイルを置くだけの連携。 Raycast側の設定は「Settings → AI → Skills」です。ほかのAIツールが同じフォルダーを読むかは、公式のSkillsのページは具体名を挙げていません(連携12)。
- 「AI同士」の組み合わせは、公式の部品を並べたもの。 公式が書くのは部品ごとの使い方です。部品をつなげる例は、この記事の案として、最後の表にまとめました。
前提:用語をそろえる
- deeplink(ディープリンク):
raycast://...の形のURLで、Raycastの特定の機能を直接動かします。 - URLエンコード:URLに入れられない文字を、
%と数字の並びに直すことです。#は%23になります。 - Raycast API:自分でRaycastの拡張機能を作るための、React、Node.js、TypeScriptの部品です。
- Extension AI API:その中の、Raycast AIを呼ぶ部分(
AI.ask)です。 - Apple Shortcuts:iPhoneの「ショートカット」アプリです。複数の操作をつなげて、自動で動かします。
- Script Command:自分で書いたスクリプトを、Raycastのコマンドにしたものです。
- Fallback Command:どのコマンドにも一致しない文字を、受け取るコマンドです。「Settings → Launcher → Fallback Commands」で選びます。
- レート制限:一定の時間に呼べる回数の上限です。
- Skill:AIが必要なときに読む手順書のMarkdown(
SKILL.md)です。
連携7:外のアプリやスクリプトからRaycastを呼ぶ(deeplink)
7-1:形(公式の記載)
| 動かすもの | URLの形 |
|---|---|
| 紙吹雪(画面に紙吹雪が出る機能) | raycast://confetti |
| コマンド | raycast://extensions/<author-or-owner>/<extension-name>/<command-name> |
| スクリプト | raycast://script-commands/<slugified-file-name-without-extension> |
| AI Command | raycast://ai-commands/<slugified-command-name> |
| 自分用のウィンドウ管理コマンド | raycast://customWindowManagementCommand(ウィンドウ管理のページ) |
7-2:deeplinkを取る
- Raycastで、呼びたいコマンドを見つけます。
- Action Panel(
⌘K/ Ctrl K)から「Copy Deeplink」を選びます。
公式は、これが一番簡単な方法だと書いています。逆に、deeplinkをRaycastに貼って、「Open in Browser」を選ぶこともできます。
7-3:使う
公式の例(文字列の例は公式のもの)です。
- ファイル検索を、あるフォルダーで開く:
raycast://extensions/raycast/file-search/file-search?fallbackText=~/Library/Application%20Support/ - Create Quicklinkを、リンクつきで開く:
raycast://extensions/raycast/raycast/create-quicklink?fallbackText=https://raycast.com - スクリプトに引数を渡す:
raycast://script-commands/color-conversion?arguments=%23FF0000&arguments=rgb
fallbackText は、コマンドに初期の文字を渡します(Fallback Commandsと同じ働き)。arguments は、スクリプトコマンドに引数を渡します。引数ごとに繰り返し書き、URLエンコードが必要です。
ターミナルやショートカットから開けます。公式の例は、窓の移動で、前面のアプリを保つため、Raycastが前に出ないよう open -g を使います。
open -g raycast://extensions/raycast/window-management/left-half
この記事の案(動作は確かめていません): AI Commandを、スクリプトやメモの中のリンクから開く。名前は自分のAI Commandのものに置き換えます。
open "raycast://ai-commands/<slugified-command-name>"
AI Commandのdeeplinkに、選ぶ文章や引数を渡せるかどうかは、読んだページに書かれていませんでした。
7-4:渡るデータ・権限・外し方
- 渡るデータ。 URLに入れた文字(
fallbackText、arguments)が、Raycastに渡ります。URLをほかのアプリや書類に残すと、その文字も残ります。URLの送信先の仕組みは、読んだページに書かれていません。 - 確認。 公式は、deeplinkで始まるコマンドは、間違って動かないよう、実行前に確認が出る、と書いています。「Always Open Command」を選ぶと、そのコマンドは、以後、確認なしで動きます。
- 外し方。 「Always Open Command」を取り消す画面は、読んだページに書かれていません。deeplinkそのものは、書類や設定から、そのURLを消します。
- うまくいかないとき。 窓の移動は、対象のアプリが前面にいる必要があるので、
open -gを使う(公式の記載)。URLの記号は、%で書き直す。
連携8:Script Commands(Raycastから、自分のスクリプトを呼ぶ)
手順の基本(作る、フォルダーを足す、メタデータ、言語、権限)は、06の場面14にあります。この記事では、連携としての側面を足します。
8-1:公式が書くこと
- 置き場:「Settings → Script Commands → Add Script Directory」で、フォルダーを足します。
- 実行する場所:スクリプトは、そのファイルのあるフォルダーから動きます。別の場所にするには、
@raycast.currentDirectoryPathを足します。 - 最初の引数が文字のスクリプトは、Fallback Commandにできます(「Settings → Launcher → Fallback Commands」)。
- 権限:Macでは、Accessibility、Automation、Full Disk Accessの確認は、ターミナルではなくRaycastのアプリに出ます。
- ファイルの形:公式は、コンパイル済みの
.scptより、.applescriptのほうが、読み返しやすく版管理しやすいと書いています。 - 外部のAIのCLIを呼ぶ例や、AIとの連携の記述は、読んだページに書かれていませんでした。
8-2:この記事の案:手元のAIのCLIを呼ぶ形(空欄つき、動作は確かめていません)
スクリプトの中身は自由なので、手元に入れたコマンドを呼ぶ形にできます。次は、メタデータを公式の記載に合わせ、実行する中身を空欄にした形です。
#!/bin/bash
# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title Run My Tool
# @raycast.mode compact
<自分の入れたコマンド> <引数>
何を実行するか、何が外へ送られるかは、スクリプトを書いた人の責任です。スクリプトに書いたコマンドが、ネットワークの先へ文章を送るなら、その相手の規約の範囲です。
8-3:渡るデータ・外し方
- 渡るデータ。 スクリプトが読んだもの、書いたものです。Raycastの画面の入力(引数)が、スクリプトに渡ります。
- 外し方。 スクリプトのファイルを消す、または、「Script Directory」から、そのフォルダーを外します(フォルダーを外す操作の明記は、読んだページには見つかりませんでした。この記事の整理です)。
- うまくいかないとき。 WindowsのPowerShellのスクリプトが動かないときは、
Get-ExecutionPolicyを確かめます。メタデータの全項目は、公式のScript Commandsのリポジトリ(github.com/raycast/script-commands)で確認できる、と公式のページは書いています(今回は読んでいません)。
連携9:自分の拡張機能から、Raycast AIを呼ぶ(Extension AI API)
9-1:公式が書くこと(Raycast API、AI)
- 目的:拡張機能に、APIキーも設定も、追加の部品も要らずにAIを使わせる。Reactの部品の中では、公式は
useAIというフックを案内しています。 - 要件:使う人がRaycast Proであること。権限がないとき、Raycastは入手するか聞きます。断ると、呼び出しは例外になります。先に、
environment.canAccess(AI)で確かめられます。 - 関数:
async function ask(prompt: string, options?: AskOptions): Promise<string> & EventEmitter;(公式の記載)。結果は文字列で、ストリームの"data"イベントも出ます。 - 引数の選択肢:
creativity、model、signal(キャンセル用)。 creativity:"none"、"low"、"medium"、"high"、"maximum"、または0〜2の数。model:公式のモデルの一覧から選ぶか、{ id: "..." }で、拡張機能がai.modelProviderで提供するモデルを選びます。モデルが使えない、または使う人が無効にしているときは、近いモデルに替わる、と書かれています。- 上限:1分に10回、1時間に100回。公式は、AIの枠を誤って使い切らないため、と書いています。
9-2:手順
- 06の場面15のとおり、「Create Extension」で拡張機能を作り、
npm install && npm run devで開発モードにします。 ./src/index.tsxなどに、AI.askを呼ぶコードを書きます。- 保存して、Raycastでコマンドを開き直します。
公式のページの基本の例(取り込みは AI と Clipboard、AI.ask の答えをクリップボードへ写す形)を、この記事で書き起こしたものです。全文は公式ページで確認してください。
import { AI, Clipboard } from "@raycast/api";
export default async function command() {
const answer = await AI.ask("Suggest 5 jazz songs");
await Clipboard.copy(answer);
}
権限を確かめる例(公式の「Check for access」の例)は、Clipboard を取り込まずに使っています。そのため、そのまま動かすなら、取り込みに Clipboard を足す必要があります。公式の例の取り込みは、この記事の下の形とは同じではありません(公式の例には、使っていない取り込みも並びます)。次は、environment.canAccess で分ける形だけを取り出して、必要な取り込みだけに整えた、この記事で組み直した形です(動作は確かめていません)。
import { AI, Clipboard, showHUD, environment } from "@raycast/api";
export default async function main() {
if (environment.canAccess(AI)) {
const answer = await AI.ask("Suggest 5 jazz songs");
await Clipboard.copy(answer);
} else {
await showHUD("You don't have access :(");
}
}
エラーの処理(showToast)、ストリーム("data" イベント)、showHUD の例も、公式のページにあります。
9-3:渡るデータ・制限・外し方
- 渡るデータ。
AI.askに入れた文字列が、Raycast AIのモデルへ送られます。Raycast AIのデータの扱い(学習、保存期間)は、03にあります。 - 手元のモデル。 Local Modelsは、Extension AI APIを動かさない、と公式のLocal Modelsのページが書いています。
- 外し方。 拡張機能を外す(Storeの「Installed」から、Action Panelでアンインストール)か、コードから
AI.askを消します。 - うまくいかないとき。 権限がなければ、
canAccessで分岐します。回数の上限に達したときの動きは、読んだ範囲では書かれていませんでした。
連携10:iPhoneで、Apple Shortcutsから呼ぶ
10-1:公式が書くこと(iOSの記事)
- 既定の操作:「Ask AI」「AI Commands」「Open Voice」が、「ショートカット」アプリと、Spotlight検索に出ます。
- 自分のショートカットに、Raycastの操作を足せます。公式の例は、Ask AIで、短い説明から、Linearの課題の下書きを作るものです。
- Action Button(ボタンがあるiPhone)に、Raycastのショートカットを割り当てられます。
10-2:Action Buttonに割り当てる手順(公式の順)
- iPhoneの「設定」を開き、「Action Button」を検索します。
- 「Shortcut」の項まで、スワイプします。
- ボタンを押して、ショートカットを選びます。
- 「Raycast」を検索します。
- 組み込みの操作か、Raycastを使う自分のショートカットを選びます。
10-3:iOSで違うところ(公式の記載)
- MCPサーバーは、HTTPの方式だけです。
- コミュニティ製のAI Extensionは、iOSに入れられません。代わりにMCPサーバーをつなぎ、
@で呼びます。
10-4:書かれていないこと
渡せる入力の種類、必要なiOSのバージョン、アカウントの条件、操作の一覧の全体は、Apple Shortcutsのページに書かれていませんでした(バージョン条件は01を参照)。外し方(ショートカットの削除)の明記も、読んだページにはありません。
連携11:Storeの拡張機能を、AIの道具として使う(AI Extensions)
11-1:手順(公式の記載)
- Root Searchで「Store」を開きます。
- Navigation Barで
⌘P(CtrlP)を押し、AI Extensionsのカテゴリーで絞ります。ツールを持つ拡張機能だけが出ます。 - 入れたい拡張機能で
⏎を押します。 - Quick AI、AI Chat、Root Searchで
@を打ち、入れた拡張機能を選びます。
公式の例は、@linear(スプリントの担当)、@calendar(集中時間の確保)、@github(レビュー待ちのプルリクエスト)、@spotify(音楽)です。複数を1つの指示に並べると、AIはまとめて調べてから答える、と書かれています。
この記事の例(指示): 「@calendar 明日の空き時間を確かめて、@linear で自分の担当の項目を、空き時間に割り振る案を作ってください。」(案を作るだけにして、書き込みはさせない書き方にしています。何が呼べるかは、入れた拡張機能次第です。)
11-2:渡るデータ・権限・外し方
- 権限。 MCPと同じく「Settings → AI → Tools」の「Permissions」に従います(07の1-8)。
- 各拡張機能の設定。 「Settings」の中に、拡張機能ごとの項目があり、コマンドと「Ask」ツールが並びます。「Ask」ツールには「Custom Instructions」の欄があり、既定のプロジェクトの絞り込みなど、動かし方の助言を書けます。
- 外し方。 Storeか「Settings」からアンインストールします。ツールは、
@の選択肢から、すぐ消えます。 - 渡るデータ。 連携先のサービスへ、何が送られるかは、拡張機能ごとに違います。公式の「Extensions」のページは、Storeの拡張機能はコミュニティの人が作る、と書き、審査の仕組みは、そのページに書かれていませんでした。03の「第三者・コミュニティ製のもの」を参照してください。
連携12:Skills(AIに読ませる手順書を、フォルダーに置く)
Raycast側の画面は「Settings → AI → Skills」です。置くのは SKILL.md というファイルで、書き方と、この記事で組んだ例は、06の場面13にあります。ここでは、連携としての側面(読むフォルダー、渡るデータ、外し方)を書きます。有料プランの機能として06に書いたものと同じです。
12-1:公式が書くこと(Skillsのページ)
- 既定で見に行くフォルダーは、
~/.claude/skills、~/.config/agents/skills、~/.config/raycast/skills、~/.agents/skillsです。Windowsでは、C:\Users\<name>の下に置き換わる、と書かれています。 - ほかの場所は、「Settings → AI → Skills」の「Skill Folders」で足します。
- 公式は、これらの既定のフォルダーは一般的なAIエージェントも使い、Skillsは公開の標準(Agent Skills)に従う、と書いています。ただし、具体的なツール名は挙げていません。ほかのツール側の仕様は、今回は読んでいません。
12-2:手順(公式の順)
- 既定のフォルダーのどれかに、サブフォルダーを作ります(名前はSkillの
nameと同じ)。 - 中に
SKILL.mdを置き、先頭のYAMLにnameとdescriptionを書きます。書き方と例は、06の場面13にあります。 - ほかの場所のフォルダーを見せたいときは、「Settings → AI → Skills」の「Skill Folders」で足します。
- 「Settings → AI → Skills」に出るか確かめます。ファイルの追加、編集、削除は、約1分以内に反映されます(フォルダーの確認が約60秒、キャッシュされるため、と公式は書く)。
- AI Chatでは「Chat Settings → Skills → Discover Skills Automatically」(チャットごと)。Quick AIでは、すべてのチャットで自動です。手動なら、AI ChatかQuick AIの入力欄で
@を打って選びます。@で指定すると、自動の発見がオフでも、そのやりとりでAIが考慮します。
12-3:渡るデータ・権限・外し方
- 渡るデータ:Skillの本文は、AIが読むと決めたあとに、モデルが読みます。つまり、使うモデルの経路(その1の連携2〜5)で、本文が提供元に渡ります。この「渡る」の説明は、公式の文ではなく、この記事の整理です。
- 権限:Skillsのページには、承認の設定の記述はありません。ツールを使うときの承認は、07の1-8の「Permissions」に従います。
- 外し方:チャットごとの自動の発見は、そのチャットの設定でオフにできます(
@の指定は使えます)。Skillそのものは、ファイルかフォルダーを消すと、約1分で一覧から消えます。Skill Foldersに足したフォルダーを外す方法は、公式のページに書かれていません。1つずつ無効にする機能も、書かれていません。 - 動かないとき:ツール未対応のモデルでは、Skillは出ません。AI Commandsでは使えません。フォルダーの最上段の
SKILL.mdだけが読まれ、ほかのMarkdownは無視されます。同じnameは、最初に見つかったものだけです。読み込みに失敗したSkillは、黙って飛ばされます。
組み合わせの例(この記事の案。公式の手順ではありません)
動作は確かめていません。公式の部品をつなげたときの、並べ方の案です。
| 目的 | 組み合わせ | 先に確かめること |
|---|---|---|
| 毎朝、決まったAI Commandを開く | deeplink(raycast://ai-commands/...)+ショートカットやメモ |
確認の表示(「Always Open Command」を選ぶか)と、渡せる入力の有無 |
| 自分の道具をAIから呼ぶ | 拡張機能に AI.ask + Pro + 回数の上限 |
手元のモデルでは動かない点、上限の扱い |
| 外のツールとAIをつなぐ | MCP(その1)+ AI Extensions(@) |
Permissionsを「Ask」にして、呼ばれるツールを確かめる |
| 手順を共通にする | Skills(連携12) | Skillの本文に機密を書かない。読むモデルを確かめる |
| iPhoneとMacで同じAIの入口 | Apple Shortcuts(Ask AI)+ MCP(HTTP) | iOSで使える方式はHTTPだけ、という違い |
公式の資料で確認できなかったこと
rayというコマンド(CLI)の使い方の詳しい説明。読んだページは、npm run devまでです。- ブラウザー拡張の手順(
@browserに「Raycast Browser Companion」が要る、という記載だけがあります)。 - AI Commandのdeeplinkに入力を渡す方法。
- Apple Shortcutsで渡せる入力の種類。
- 「Always Open Command」の取り消し方。
気をつけること
- この記事は、実際に使って確かめた記録ではありません。公式の資料を読んだ範囲です。
- コード、スクリプト、URLは、「公式の例」か、「この記事で組んだ例」かを、そのつど書き分けています。「この記事で組んだ例」は、動作を確かめていません。
- deeplinkとスクリプトは、実際にコマンドや外のプログラムを動かします。URLやファイルの中身を、実行する前に自分で確かめてください。
- 拡張機能に書いたコードは、Raycast AIへ文字を送ります。機密の文章を含めないよう、渡す内容を決めてから書いてください。
- 公式のページは、要約の形で取得しています。URLの形、関数の綴りは、公式で確かめてください。
- 公式の開発者向けページには、読む人(AI)に別のURLを取りに行くよう促す、「Agent Instructions」という節が含まれていました。この記事は、その指示には従っていません。
- 画面の表記は変わります。手元の画面と照らしてください。
- 規約やデータの扱いの解釈は、必要なら専門家や公式に確認してください。この記事は法律の助言ではありません。
前は、その1(07)に、MCP、契約、キー、Ollama、Custom Providersがあります。
出典
- Deeplinks(Raycast Manual、Raycast、確認日 2026-10-25)
- Script Commands(Raycast Manual、Raycast、確認日 2026-10-25)
- Apple Shortcuts(Raycast Manual、Raycast、確認日 2026-10-25)
- AI Extensions(Raycast Manual、Raycast、確認日 2026-10-25)
- Extensions(Raycast Manual、Raycast、確認日 2026-10-25)
- Window Management(Raycast Manual、Raycast、確認日 2026-10-25)
- Local Models(Raycast Manual、Raycast、確認日 2026-10-25)
- AI Commands(Raycast Manual、Raycast、確認日 2026-10-25)
- Skills(Raycast Manual、Raycast、確認日 2026-10-25)
- Raycast Developers(Raycast、確認日 2026-10-25)
- Getting Started(Raycast Developers、Raycast、確認日 2026-10-25)
- Create Your First Extension(Raycast Developers、Raycast、確認日 2026-10-25)
- AI(Raycast API、Raycast Developers、確認日 2026-10-25)