02 · ルールの作り方

ルールの作り方

ルールは2つの部分でできています。どんなテキストに反応するかを決めるマッチ条件と、反応したら何をするかを決めるアクションです。チケット番号や注文番号のように、仕事で毎日見ている文字列をルールにしておくと、選択するだけで開けるようになります。

設定画面を開く

メニューバーの Pluck アイコンをクリックし、「設定…」を選びます。開いた画面の「ルール」タブが、ルールの一覧と編集画面です。

ルールの追加には、試用期間中であるかライセンスが必要です。試用が終わって未購入の場合、+ ボタンが押せなくなります。すでにあるルールの編集と、有効と無効の切り替えはできます。

ルールの一覧

左側にルールが並びます。テキストに反応するルールと、画像に反応するルールの2つの節に分かれています。

各行にはルールの名前と、その下にマッチ条件が出ます。マッチ条件が空欄のルールには(常に表示)、マッチ条件を持たない総置換と画像を貼り付けには短い説明が出ます。無効にしたルールには「無効」と表示されます。

候補が出る順番は、この一覧の順です。新しく追加したルールは末尾に入ります。

一覧の下にボタンが3つあります。

設定のルールタブ。左のサイドバーにルールが、テキストに反応するルールと画像に反応するルールの2節で並ぶ
設定のルールタブ。一覧はテキスト用と画像用の2節に分かれ、各行にマッチ条件が出ます。

アクションを選ぶ

ルールを選ぶか追加すると、右側に編集画面が出ます。まず「アクション」の節にある「種類」から、このルールが何をするかを選びます。選択肢は3つの節に分かれています。選ぶと、その下に必要な項目だけが表示されます。

プリセット

よく使う URL アクションを、入力済みのルールとして選べます。3つあり、どれも種類は URLを開くです。選択したテキストを AI のチャットや検索にそのまま渡す用途に向いています。

使いかたは次のとおりです。

  1. + で新しいルールを追加します。書き換えてよい既存のルールを選んでも構いません。
  2. 「種類」のプルダウンを開き、プリセットの節から1つ選びます。
  3. 名前、アイコン、開く URL が入ります。マッチ条件は空欄になり、差し込む値を URL エンコードするはオンになります。
  4. 「保存」を押します。

それぞれのプリセットで入る値と動作です。

プリセット開く URLアイコン動作
Claude に投げるhttps://claude.ai/new?q=$0quote.bubble.fill選択したテキストをプロンプトにして、Claude の新しいチャットを開きます。
ChatGPT に投げるhttps://chatgpt.com/?prompt=$0message.fill選択したテキストをプロンプトにして、ChatGPT の新しいチャットを開きます。
Perplexity で調べるhttps://www.perplexity.ai/search?q=$0magnifyingglass選択したテキストを Perplexity で検索します。

どれも既定のブラウザでそのサービスのサイトを開きます。ログインが必要なサービスでは、サービス側のログイン画面が出ることがあります。

選んだあとに知っておくとよいことです。

基本

マッチ条件とテンプレートを自分で書く5種類です。

固定機能

総置換と画像を貼り付けの2種類です。動作が決まっていて、マッチ条件もテンプレートもありません。変えられるのは名前、アイコン、有効か無効かだけです。それぞれ必ず1つ存在し、削除できません。他のルールからこの種類へ切り替えることもできません。

各アクションの詳しい設定はアクション一覧とレシピにあります。

ルールの各項目

基本

アクションの設定

入力すると、その下に「例:」の行が出ます。いま書いているテンプレートがどう展開されるかを、差し込み記号を言葉に置き換えて見せる行です。保存する前に、意図した URL や文字列になっているかをここで確かめられます。

編集した内容は「保存」を押すまで反映されません。未保存のまま別のルールに移ろうとすると、保存するか破棄するかを聞かれます。「取り消し」を押すと保存済みの状態に戻ります。

ルールの編集画面。基本、アクション、アクションの設定の3節と、テンプレートの展開例が並ぶ
「GitHub Issue/PRを開く」を開いたところ。下の「例:」の行に、テンプレートの展開結果が出ます。

マッチ条件

マッチ条件は ICU 構文の正規表現です。選択またはコピーしたテキストの中からこの条件に一致する箇所を探し、見つかった箇所ごとに候補を作ります。

反応させたいものマッチ条件
Jira のチケット番号。WT-1234 など[A-Z]{2,10}-\d+
URLhttps?://[^\s]+
メールアドレス[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}
GitHub の owner/repo#123([\w.-]+)/([\w.-]+)#(\d+)
8桁の数字だけの注文番号\b\d{8}\b

テンプレートと差し込み

テンプレートには、マッチした内容を次の記号で差し込めます。

記号差し込まれるもの
$0マッチした箇所の全体。マッチ条件が空欄なら、選択したテキスト全体。
$1、$2 …マッチ条件の中で ( ) で囲んだグループ。左の括弧から順に1、2と数えます。一致しなかったグループは空になります。
${name}名前付きグループ。マッチ条件に (?<name>…) と書いたものを名前で参照します。

マッチ条件を ([\w.-]+)/([\w.-]+)#(\d+)、開く URL を https://github.com/$1/$2/issues/$3 にしたルールで anthropics/claude-code#42 を選択すると、$1 が anthropics、$2 が claude-code、$3 が 42 になり、https://github.com/anthropics/claude-code/issues/42 が開きます。

差し込みの規則

保存できないとき

「保存」が押せないときは、ボタンの左に理由が出ています。

メッセージ直しかた
名前を入力してください。名前が空欄です。
正規表現が正しくありません。マッチ条件が正規表現として読めません。括弧の閉じ忘れなどを確認してください。
アクションのテンプレートを入力してください。URLを開く、Web検索、コマンド実行では、テンプレートを空にできません。
テンプレートが存在しないキャプチャグループを参照しています。マッチ条件のグループが2つしかないのに $3 を書いた、名前付きグループの綴りが違う、といった場合です。
異なる2つの言語を選んでください。翻訳の言語1と言語2が同じです。
URL は https: などのスキームから始めてください。開く URL が https: や mailto: で始まっていません。テンプレートが $0 だけのときは、選択したテキストが URL そのものとみなされるので通ります。

保存先と初期化

ルールは ~/Library/Application Support/Pluck/rules.json に保存されています。設定画面で編集するとこのファイルが更新されるので、ふだん直接開く必要はありません。別の Mac に移すときやバックアップを取るときは、このファイルをコピーしてください。

アップデートで新しい種類のアクションが増えたときは、次に起動したとき、その種類の既定ルールが自動で追加されます。すでにあるルールは書き換わりません。

作ったルールをすべて消して最初の状態に戻すには、一覧の下の「初期値に戻す」を使います。