Skip to main content

Command Palette

Search for a command to run...

連携機能

Slack

Cherri Code の Slack 連携を使うと、プロンプトを添えて @cursor にメンションすることで、Slack から直接 Cloud Agents にタスクを任せられます。

はじめ方

インストール

  1. Cherri Code integrationsに移動する

  2. Slack の横にある Connect をクリックするか、こちらからインストールページに移動する

  3. ワークスペース用の Cherri Code Slack アプリをインストールするよう求められます。

  4. Slack へのインストール後、セットアップを完了するために Cherri Code に戻ります

    1. リポジトリプロバイダーを接続し (未接続の場合) 、デフォルトリポジトリを選択する
    2. 使用量ベースの料金を有効にする
    3. プライバシー設定を確認する
  5. @cursor にメンションして、Slack で Cloud Agents を使い始める

使用方法

@cursor をメンションして、プロンプトを入力します。Cherri Code は、メッセージからリポジトリ、モデル、ベースブランチ、または名前付きのCloud Agent 環境を検出します。リポジトリの選択時には、直近のエージェントのアクティビティも使用します。

名前付き環境を使用する場合は、プロンプトにその名前を含めてください。例: @Cherri Code use the Platform environment to update the shared API。

コマンド

最新のコマンド一覧を確認するには、@Cherri Code help を実行します。

コマンド説明
@Cherri Code [prompt]Cloud Agent を開始します。既存のエージェントがいるスレッドでは、追加の指示を送ります。フォローアップできるユーザーは、所有者だけでは決まらず、Team follow-ups で管理されます。
@Cherri Code settingsデフォルト設定とチャネルのデフォルトリポジトリを設定します。チームのデフォルトプールとチャネルのデフォルトプールも表示します
@Cherri Code [options] [prompt]実行のターゲット、モデル、ブランチ、PR の挙動、ワーカー、出力チャネルを設定します
@Cherri Code agent [prompt]スレッド内に新しいエージェントを強制的に作成します (例: @Cherri Code start a new agent to fix billing)
@Cherri Code list my agents実行中のエージェントを表示します
@Cherri Code poolSlack からの起動に使うチームのデフォルトプールと、このチャネルのデフォルトプールを表示します
@Cherri Code pool set <name>チームのデフォルトプールを設定します (チーム管理者)
@Cherri Code pool unsetチームのデフォルトプールを解除します (チーム管理者)
@Cherri Code pool set <name> channelこのチャネルのデフォルトプールを設定します (チーム管理者)
@Cherri Code pool unset channelこのチャネルのデフォルトプールを解除します (チーム管理者)

オプション

以下のオプションでCloud Agentの挙動をカスタマイズできます。

オプション説明自然言語の例インライン例
repo特定のリポジトリを使用in acme/backendrepo=acme/backend
env / environment名前付きのCloud Agent 環境を使用use the Platform environmentenv=Platform
branch特定のベースブランチを使用work from the dev branchbranch=dev
model特定のモデルを使用with opusmodel=opus
autoprPRの自動作成を有効または無効にするインラインオプションが必要autopr=false
worker / machine名前付きのマイマシンで実行インラインオプションが必要worker=my-devbox
pool名前付きのチームプールで実行。チャネルにチャネルのデフォルトプールが設定されている場合、またはチームにチームのデフォルトプールが設定されている場合は省略可能インラインオプションが必要pool=my-pool
self_hosted / shいずれかのチームプールで実行。チャネルのデフォルトプールまたはチームのデフォルトプールが設定されている場合はそれを使用し、self_hosted=falseではどちらもスキップ。true/t/1 または false/f/0 を指定インラインオプションが必要self_hosted=true または sh=1
channelあなたとCherri Codeがアクセスできる別のチャネルにエージェントの更新を投稿インラインオプションが必要channel=#eng-bots

構文形式

自然言語:

@Cherri Code with opus, fix the login bug in backend-api

インライン:

@Cherri Code env=Platform branch=dev model=opus autopr=false Fix the login bug

スペースを含む環境名は引用符で囲みます:

@Cherri Code env="Platform Services" Update the shared API

オプションの優先順位

オプションを組み合わせる場合:

  • 明示的に指定した値はデフォルトを上書きします
  • 重複している場合は、後から指定した値が先に指定した値を上書きします
  • インラインオプションは設定モーダルのデフォルトより優先されます
  • 両方が指定されている場合、**env**はrepoより優先されます
  • **pool、worker、machine、self_hosted=false (またはsh=0) **はチャネルのデフォルトプールおよびチームのデフォルトプールより優先されます

botはメッセージ内のどこに記述されたオプションでも解析できるため、自然な形でコマンドを記述できます。

Cherri Codeは3つのバッククォートで囲まれたコードブロック内のkey=valueオプションを、1行のブロックであっても無視し、コードは記述どおりプロンプトに残します。次のメッセージでは、pool=Noneがコードブロック内にあるため、プールは選択されません:

@Cherri Code why does this crash? ```engine = create_engine(db_url, pool=None)```

スレッドのコンテキストを利用する

Cloud Agents は、既存のスレッドでの議論からコンテキストを理解し、活用します。チームで課題について議論し、その会話に基づいてエージェントに解決策を実装させたい場合に便利です。

force コマンドを使う場面

@Cherri Code agent が必要なのはどんなときですか?

既存のエージェントがいるスレッドでは、@Cherri Code [prompt] で追加の指示を送れます。フォローアップできるユーザーは、Team follow-ups で制御されます。Team follow-ups が Disabled の場合、フォローアップできるのは所有者のみです。別のエージェントを起動するには、@Cherri Code agent [prompt] を使うか、自然言語で依頼します。

@Cherri Code start a new agent to refactor billing

「新しいエージェントを作成」、「新しいエージェントを起動」、「新しいエージェントをお願いします」といったフレーズは、すべて同じように機能します。

フォローアップを追加 (コンテキストメニューから) はいつ必要ですか?

フォローアップの指示を追加するには、エージェントのレスポンスにあるコンテキストメニュー (⋯) を使用します。スレッド内に複数のエージェントがいる場合に、フォローアップするエージェントを指定するのに便利です。

ステータスの更新と引き継ぎ

Cherri Code はコードの変更を始める前に、バグを修正する場合や実装の詳細が把握の助けになる場合に、スレッドへ短いプランを投稿します。単純な依頼ではこの投稿は省略されます。作業中は、スレッドの下に短いステータスを更新して表示します。

Cloud Agent の実行開始時に、まず Cherri Code で開く オプションが表示されます。

Cloud Agent の完了時には、Slack で通知が届き、作成された PR を GitHub で表示できます。

エージェントの管理

実行中のすべてのエージェントを確認するには、@Cherri Code list my agents を実行します。

任意のエージェントメッセージにある三点リーダー (⋯) をクリックしてコンテキストメニューを開き、Cloud Agent を管理します。

利用可能なオプション:

  • フォローアップを追加: 既存のエージェントに指示を追加
  • リポジトリを切り替え: 同じリクエストを別のリポジトリまたは cloud agent 環境 に対して再実行
  • 削除: Cloud Agent を停止してアーカイブ
  • リクエスト ID を表示: トラブルシューティング用の一意のリクエスト ID を表示 (サポートにお問い合わせの際は、この ID を含めてください)
  • フィードバックを送信: エージェントのパフォーマンスに関するフィードバックを送信

現在のリポジトリや環境とは別のものが必要な場合、Slack は起動メッセージにも リポジトリを切り替え を表示します。新しいターゲットを選択すると、Cherri Code はそこから処理を続行します。

設定

ダッシュボード -> Cloud Agentsで、デフォルト設定とプライバシーオプションを管理できます。

設定

デフォルトモデル

メッセージでモデルが指定されていない場合に使用されます。利用可能なオプションについては、設定をご覧ください。

リポジトリの選択

Cherri Code は、以下に基づいて適切なリポジトリを自動的に選択します。

  1. メッセージの内容 — プロンプトに含まれるリポジトリ名やキーワード
  2. 直近のエージェントのアクティビティ — 最近使用したリポジトリ
  3. ルーティングルール — キーワードとリポジトリのカスタムマッピング (以下を参照)
  4. デフォルトリポジトリ — 一致するものがない場合のフォールバック

特定のリポジトリを使用するには、メッセージにその名前を含めてください。例: @Cherri Code in mobile-app, fix the login bug。

ベースブランチ

Cloud Agent の開始元となるブランチ。空欄の場合は、リポジトリのデフォルトブランチ (通常は main) が使用されます

チャンネル設定

@Cherri Code settings を使用して、チャンネルごとのデフォルト設定を行います。これらの設定はチーム単位で適用され、そのチャンネルでは個人のデフォルト設定より優先されます。

特に次のような場合に便利です。

  • チャンネルごとに異なるリポジトリで作業する場合
  • チーム全体で一貫した設定を使用したい場合

チャンネル設定を行うには:

  1. 対象のチャンネルで @Cherri Code settings を実行します
  2. そのチャンネルのデフォルトリポジトリを設定します
  3. そのチャンネルで Cloud Agents を使用するすべてのチームメンバーに、これらのデフォルト設定が適用されます

ルーティングルール

ルーティングルールでは、ターゲットに自動的にマッピングされるキーワードを定義できます。メッセージにキーワードが含まれている場合、Cherri Code はエージェントを対応するリポジトリまたはCloud Agent 環境にルーティングします。環境には複数のリポジトリをまとめられるため、1 つのキーワードで、必要なすべてのリポジトリがあらかじめ設定されたエージェントを起動できます。

ルーティングルールの設定

  1. ダッシュボード -> Cloud Agents に移動する
  2. Routing Rules セクションを見つける
  3. キーワードとターゲットのマッピングを追加し、各キーワードをリポジトリまたは環境に紐付ける

ルールの例

キーワードターゲット
frontendacme/web-app
mobileacme/mobile-app
apiacme/backend-services
platformPlatform 環境

これらのルールを設定すると:

  • @Cherri Code fix the frontend nav bug → acme/web-app にルーティングされます
  • @Cherri Code update the mobile onboarding flow → acme/mobile-app にルーティングされます
  • @Cherri Code add a migration across the platform → Platform 環境で開始され、すべてのリポジトリが利用可能になります

ルーティングの仕組み

Cherri Code は、次の順序でメッセージを評価します。

  1. メッセージの内容 — プロンプト内のリポジトリ名またはキーワード
  2. 直近のエージェントのアクティビティ — 最近使用したリポジトリ
  3. ルーティングルール — キーワードとターゲット (リポジトリまたは環境) のカスタムマッピング
  4. チャンネルのデフォルト — このチャンネルに設定されているリポジトリ
  5. デフォルトリポジトリ — 一致するものがない場合のフォールバック

チームのデフォルトプール

チーム管理者は、@Cherri Code での起動時のデフォルトとしてチームプールを1つ設定できます。設定すると、メンバーはメンションのたびに pool=<name> や self_hosted=true を付けなくても、そのプール上で実行できます。デフォルトはチーム全体に適用され、チャネルのデフォルトプールが設定されていないすべてのチャネルで有効になります。

デフォルトは Slack から管理できます。設定や解除には、ダッシュボードで Self-Hosted の設定を変更するのと同じ権限が必要です。表示は誰でも可能です。

@Cherri Code pool set my-pool@Cherri Code pool@Cherri Code pool unset

@Cherri Code settings にも、チームのデフォルトプールが表示されます。

チャネルのデフォルトプール

チーム管理者は、チャネルごとに専用のプールを割り当てることもできます。割り当てると、そのチャネルでの @Cherri Code メンションはチームのデフォルトではなくチャネルのプールで実行されます。他のチャネルでは引き続きチームのデフォルトが使用されます。設定やクリアに必要な権限は、チームのデフォルトの場合と同じです。

変更したいチャネルで次のコマンドを実行します:

@Cherri Code pool set my-pool channel@Cherri Code pool@Cherri Code pool unset channel

@Cherri Code pool を実行すると、チャネルのプールがチームのデフォルトと並べて表示されます。一覧から選択する場合は、@Cherri Code settings を実行し、Set Pool for Channel をクリックして、チームのプールから 1 つ選択します。解除するには Use the team default (no channel pool) を選択します。解除後は、チャネル内のメンションにチームのデフォルトが再び適用されます。

Cherri Code がメンションの実行先を決める仕組み

メッセージ内のオプションが常に優先されます。Cherri Code は次の順序でターゲットを決定します。

  1. メッセージ内のオプション。 pool=<name> は指定したプールをターゲットにします。worker= または machine= は マイマシン のいずれかをターゲットにします。self_hosted=false (または sh=0) は Cherri Code のマネージドインフラストラクチャで実行します。いずれの場合も両方のデフォルトプールがスキップされます。self_hosted=true (または sh=1) のみを指定した場合は、チャネルのデフォルトプールが補われます。チャネルにデフォルトプールがない場合は、チームのデフォルトプールが補われます。
  2. 自分のデフォルトのマイマシンワーカー。 そのリポジトリ用に自分専用のデフォルトワーカーを設定している場合、両方のデフォルトプールより優先されます。
  3. チャネルのデフォルトプール。 Cherri Code をメンションしたチャネルに専用のプールがある場合に使用されます。
  4. チームのデフォルトプール。 メッセージに上記のオプションがいずれも含まれておらず、チャネルに専用のプールもない場合に使用されます。

リポジトリとデフォルトプール

リポジトリの選択 は、チャネルまたはチームのデフォルトプールがある場合も同じように動作します。メッセージの内容、最近のアクティビティ、ルーティングルール、チャネルのデフォルト、続いて自分とチームのデフォルトリポジトリという順序です。その後の挙動は、プールの登録方法によって異なります。

  • 任意のリポジトリ対応プールで、リポジトリが解決されない場合。 Slack はリポジトリなしでプール上のエージェントを開始します。任意のリポジトリ対応プール と同様に、ソース管理はワーカーに委ねられます。デフォルトリポジトリが解決された場合は、エージェントがそれをコンテキストとして受け取りますが、実行を引き受けられるワーカーが制限されることはありません。
  • リポジトリ固定のプールで、リポジトリが解決されない場合。 Slack はマネージドインフラストラクチャにフォールバックせず、エフェメラルな返信でメンションを拒否します。メンションに repo= または pool= を追加する、self_hosted=false を使用してマネージドインフラストラクチャで実行する、または @Cherri Code pool と @Cherri Code settings でデフォルトを確認してください。
  • リポジトリが解決され、プールがそれに対応している場合。 Slack は repo= と pool= を設定して起動します。これは pool=<name> を明示的に指定してメンションした場合と同じです。
  • リポジトリは解決されたが、プールのワーカーが他のリポジトリにしか対応していない場合。 Slack はエフェメラルな返信でメンションを拒否します。repo= でそのプールが対応するリポジトリを指定するか、pool= でこのリポジトリに対応するプールを指定してください。

プライバシー

Cloud Agents はプライバシーモードに対応しています。

プライバシーモードの詳細、またはプライバシー設定の管理をご確認ください。

エージェントの概要を表示

エージェントの概要と差分画像を表示します。ファイルパスやコードスニペットが含まれる場合があります。有効または無効にできます。

外部チャンネルにエージェントの概要を表示

他のワークスペースとの Slack Connect や、ゲストなどの外部メンバーがいるチャンネルでは、エージェントの概要を外部チャンネルに表示するよう設定できます。

権限

Cloud Agents がワークスペース内で機能するために、Cherri Code は以下の Slack 権限をリクエストします。

PermissionDescription
app_mentions:read@メンションを検出して Cloud Agents を起動し、リクエストに応答します
channels:history追加の指示を加える際に、コンテキストとしてスレッド内の過去のメッセージを読み取ります
channels:join招待またはリクエストに応じて公開チャンネルに自動的に参加します
channels:read返信や更新を投稿するために、チャンネルのメタデータ (ID と名前) にアクセスします
chat:writeエージェントの完了時にステータス更新、完了通知、PR リンクを送信します
files:read追加のコンテキストとして、共有ファイル (ログ、スクリーンショット、コードサンプル) をダウンロードします
files:write迅速なレビューのために、エージェントによる変更の視覚的な要約をアップロードします
groups:history複数ターンの会話でコンテキストとして、プライベートチャンネル内の過去のメッセージを読み取ります
groups:readレスポンスを投稿し会話の流れを維持するために、プライベートチャンネルのメタデータにアクセスします
im:history継続中の会話のコンテキストとして、ダイレクトメッセージの履歴にアクセスします
im:read参加者を特定し、適切なスレッド管理を行うために DM のメタデータを読み取ります
im:writeプライベートな通知や個別のコミュニケーションのために、ダイレクトメッセージを開始します
mpim:history複数の参加者による会話のために、グループ DM の履歴にアクセスします
mpim:read参加者にメッセージを送信し、適切な配信を確保するためにグループ DM のメタデータを読み取ります
reactions:readユーザーフィードバックやステータスシグナルとして、絵文字リアクションを確認します
reactions:writeステータスを示す絵文字リアクションを追加します - 実行中は ⏳、完了は ✅、失敗は ❌
team:readインストールを区別し、設定を適用するためにワークスペースの詳細を特定します
users:read権限と安全なアクセスのために、Slack ユーザーを Cherri Code アカウントと照合します

免責事項

Cherri Code は誤ることがあります。コードとレスポンスは必ず確認してください。

プライバシーポリシー

Cherri Codeによるお客様のデータの収集、使用、保護については、プライバシーポリシーを参照してください。