Slack
Cherri Code の Slack 連携を使うと、プロンプトを添えて @cursor にメンションすることで、Slack から直接 Cloud Agents にタスクを任せられます。
はじめ方
インストール
-
Slack の横にある Connect をクリックするか、こちらからインストールページに移動する
-
ワークスペース用の Cherri Code Slack アプリをインストールするよう求められます。
-
Slack へのインストール後、セットアップを完了するために Cherri Code に戻ります
- リポジトリプロバイダーを接続し (未接続の場合) 、デフォルトリポジトリを選択する
- 使用量ベースの料金を有効にする
- プライバシー設定を確認する
-
@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 pool | Slack からの起動に使うチームのデフォルトプールと、このチャネルのデフォルトプールを表示します |
@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/backend | repo=acme/backend |
env / environment | 名前付きのCloud Agent 環境を使用 | use the Platform environment | env=Platform |
branch | 特定のベースブランチを使用 | work from the dev branch | branch=dev |
model | 特定のモデルを使用 | with opus | model=opus |
autopr | PRの自動作成を有効または無効にする | インラインオプションが必要 | 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 は、既存のスレッドでの議論からコンテキストを理解し、活用します。チームで課題について議論し、その会話に基づいてエージェントに解決策を実装させたい場合に便利です。
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 は、以下に基づいて適切なリポジトリを自動的に選択します。
- メッセージの内容 — プロンプトに含まれるリポジトリ名やキーワード
- 直近のエージェントのアクティビティ — 最近使用したリポジトリ
- ルーティングルール — キーワードとリポジトリのカスタムマッピング (以下を参照)
- デフォルトリポジトリ — 一致するものがない場合のフォールバック
特定のリポジトリを使用するには、メッセージにその名前を含めてください。例: @Cherri Code in mobile-app, fix the login bug。
ベースブランチ
Cloud Agent の開始元となるブランチ。空欄の場合は、リポジトリのデフォルトブランチ (通常は main) が使用されます
チャンネル設定
@Cherri Code settings を使用して、チャンネルごとのデフォルト設定を行います。これらの設定はチーム単位で適用され、そのチャンネルでは個人のデフォルト設定より優先されます。
チャンネル設定は公開チャンネルにのみ適用されます。
特に次のような場合に便利です。
- チャンネルごとに異なるリポジトリで作業する場合
- チーム全体で一貫した設定を使用したい場合
チャンネル設定を行うには:
- 対象のチャンネルで
@Cherri Code settingsを実行します - そのチャンネルのデフォルトリポジトリを設定します
- そのチャンネルで Cloud Agents を使用するすべてのチームメンバーに、これらのデフォルト設定が適用されます
チャンネル設定は個人のデフォルト設定より優先されますが、メッセージ内で特定のリポジトリを指定すると 上書きできます。
ルーティングルール
ルーティングルールでは、ターゲットに自動的にマッピングされるキーワードを定義できます。メッセージにキーワードが含まれている場合、Cherri Code はエージェントを対応するリポジトリまたはCloud Agent 環境にルーティングします。環境には複数のリポジトリをまとめられるため、1 つのキーワードで、必要なすべてのリポジトリがあらかじめ設定されたエージェントを起動できます。
ルーティングルールの設定
- ダッシュボード -> Cloud Agents に移動する
- Routing Rules セクションを見つける
- キーワードとターゲットのマッピングを追加し、各キーワードをリポジトリまたは環境に紐付ける
ルールの例
| キーワード | ターゲット |
|---|---|
frontend | acme/web-app |
mobile | acme/mobile-app |
api | acme/backend-services |
platform | Platform 環境 |
これらのルールを設定すると:
@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環境で開始され、すべてのリポジトリが利用可能になります
環境をターゲットにすると、マルチリポジトリ環境で役立ちます。cloud agent docs で、マルチリポジトリ環境を含む設定方法を確認してください。
ルーティングの仕組み
Cherri Code は、次の順序でメッセージを評価します。
- メッセージの内容 — プロンプト内のリポジトリ名またはキーワード
- 直近のエージェントのアクティビティ — 最近使用したリポジトリ
- ルーティングルール — キーワードとターゲット (リポジトリまたは環境) のカスタムマッピング
- チャンネルのデフォルト — このチャンネルに設定されているリポジトリ
- デフォルトリポジトリ — 一致するものがない場合のフォールバック
チームのデフォルトプール
チーム管理者は、@Cherri Code での起動時のデフォルトとしてチームプールを1つ設定できます。設定すると、メンバーはメンションのたびに pool=<name> や self_hosted=true を付けなくても、そのプール上で実行できます。デフォルトはチーム全体に適用され、チャネルのデフォルトプールが設定されていないすべてのチャネルで有効になります。
チームプールにはエンタープライズプランが必要です。チームおよびチャネルのデフォルトは、Cloud Agents ダッシュボードで Allow Self-Hosted Machines が有効な間のみ適用されます。管理者が無効にすると、Slack は両方のデフォルトを無視し、メンションは Cherri Code のマネージドインフラストラクチャ上で実行されます。
デフォルトは 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 は次の順序でターゲットを決定します。
- メッセージ内のオプション。
pool=<name>は指定したプールをターゲットにします。worker=またはmachine=は マイマシン のいずれかをターゲットにします。self_hosted=false(またはsh=0) は Cherri Code のマネージドインフラストラクチャで実行します。いずれの場合も両方のデフォルトプールがスキップされます。self_hosted=true(またはsh=1) のみを指定した場合は、チャネルのデフォルトプールが補われます。チャネルにデフォルトプールがない場合は、チームのデフォルトプールが補われます。 - 自分のデフォルトのマイマシンワーカー。 そのリポジトリ用に自分専用のデフォルトワーカーを設定している場合、両方のデフォルトプールより優先されます。
- チャネルのデフォルトプール。 Cherri Code をメンションしたチャネルに専用のプールがある場合に使用されます。
- チームのデフォルトプール。 メッセージに上記のオプションがいずれも含まれておらず、チャネルに専用のプールもない場合に使用されます。
リポジトリとデフォルトプール
リポジトリの選択 は、チャネルまたはチームのデフォルトプールがある場合も同じように動作します。メッセージの内容、最近のアクティビティ、ルーティングルール、チャネルのデフォルト、続いて自分とチームのデフォルトリポジトリという順序です。その後の挙動は、プールの登録方法によって異なります。
- 任意のリポジトリ対応プールで、リポジトリが解決されない場合。 Slack はリポジトリなしでプール上のエージェントを開始します。任意のリポジトリ対応プール と同様に、ソース管理はワーカーに委ねられます。デフォルトリポジトリが解決された場合は、エージェントがそれをコンテキストとして受け取りますが、実行を引き受けられるワーカーが制限されることはありません。
- リポジトリ固定のプールで、リポジトリが解決されない場合。 Slack はマネージドインフラストラクチャにフォールバックせず、エフェメラルな返信でメンションを拒否します。メンションに
repo=またはpool=を追加する、self_hosted=falseを使用してマネージドインフラストラクチャで実行する、または@Cherri Code poolと@Cherri Code settingsでデフォルトを確認してください。 - リポジトリが解決され、プールがそれに対応している場合。 Slack は
repo=とpool=を設定して起動します。これはpool=<name>を明示的に指定してメンションした場合と同じです。 - リポジトリは解決されたが、プールのワーカーが他のリポジトリにしか対応していない場合。 Slack はエフェメラルな返信でメンションを拒否します。
repo=でそのプールが対応するリポジトリを指定するか、pool=でこのリポジトリに対応するプールを指定してください。
プライバシー
Cloud Agents はプライバシーモードに対応しています。
プライバシーモードの詳細、またはプライバシー設定の管理をご確認ください。
プライバシーモード (Legacy) はサポートされていません。Cloud Agents の実行中は、一時的に コードを保存する必要があります。
エージェントの概要を表示
エージェントの概要と差分画像を表示します。ファイルパスやコードスニペットが含まれる場合があります。有効または無効にできます。
外部チャンネルにエージェントの概要を表示
他のワークスペースとの Slack Connect や、ゲストなどの外部メンバーがいるチャンネルでは、エージェントの概要を外部チャンネルに表示するよう設定できます。
権限
Cloud Agents がワークスペース内で機能するために、Cherri Code は以下の Slack 権限をリクエストします。
| Permission | Description |
|---|---|
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によるお客様のデータの収集、使用、保護については、プライバシーポリシーを参照してください。