Multica Docs

DingTalk Bot

エージェントを DingTalk に接続し、DM やグループチャットから直接仕事を依頼します。

エージェントを DingTalk に接続すると、そのエージェントが属するワークスペースのメンバーは、Bot に DM を送ったり、グループで @ メンションしたり、/issue コマンドで Multica 作業を直接作成したりできます。会話と実行記録は Multica ワークスペースに保存されます。

DingTalk 連携はコミュニティがメンテナンスしており、公式サポートの SLA はありません。問題がある場合は GitHub issues に報告してください。

Bot を接続する

エージェントの作成者またはワークスペースの owner/admin は、エージェントを DingTalk に接続できます。エージェントと DingTalk Bot は 1 対 1 の接続関係です。

1. Stream モードのロボットを作成する

  1. DingTalk オープンプラットフォーム企業内部アプリを作成します。
  2. ロボット機能を有効にし、メッセージ受信モードStream モードに設定します。

2. ロボットに権限を付与する

ロボットメッセージ送信権限qyapi_robot_sendmsg)はデフォルトで追加されています。Multica に Bot 名を表示するには、DingTalk グループ基本情報管理権限qyapi_chat_manage)を手動で追加します。

3. アプリ認証情報を取得する

凭证与基础信息(認証情報と基本情報)ページを開き、Client ID(AppKey)Client Secret(AppSecret) をコピーします。

4. エージェントを DingTalk に接続する

  1. Multica に戻り、エージェント → あなたのエージェント → 機能 → 連携を開きます。
  2. DingTalk に接続をクリックします。
  3. AppKeyAppSecret を入力し、送信します。

5. DingTalk アカウントと Multica アカウントを連携する

DingTalk で Bot に DM を送るか、グループで @ メンションして、アカウント連携を一度開始します。Bot との DM にリンクが届きます(有効期間は約 15 分)。リンクを開き、接続成功のメッセージが表示されたら完了です。

DingTalk でエージェントに仕事を依頼する

DM

Bot に直接メッセージを送ります。エージェントが依頼内容の処理を終えると、結果が DM に返信されます。

グループチャット

Bot を DingTalk グループに追加し、@your-bot <メッセージ> を送ります。追加の質問でも毎回改めて @ メンションしてください。Bot は自分宛てに @ メンションされたメッセージだけを処理します。

画像を送る

DM とグループチャットのどちらでも、テキストと画像を混在させたメッセージを送れます。PNG、JPEG、GIF、WebP、BMP に対応し、1 メッセージあたり最大 4 枚、1 枚あたり 10 MB までです。ファイルと音声メッセージには現在対応していません。

/issue で作業を作成する

/issue <タイトル> または /issue <タイトル>{改行}<詳細説明> を送ると、新しい Multica 作業が作成され、Bot に接続されたエージェントに自動的に割り当てられます。同じメッセージの画像も、添付ファイルとして作業に追加されます。通常の会話メッセージとは異なり、/issue コマンドは Multica の「チャット」に記録されません。

/new で新しい Chat を開始する

/new を送ると、空の新しい Multica Chat が作成され、その後の DingTalk メッセージは新しい Chat にルーティングされます。/new <メッセージ> では、そのメッセージが新しい Chat の最初のターンになります。以前の Chat は Multica に保存され、引き続き利用できます。

/clear で現在のコンテキストをクリアする

/clear を送ると、現在の Multica Chat を維持したまま、次のメッセージに新しいエージェント可視コンテキストが適用されます。/clear <メッセージ> では、そのメッセージが境界後の最初のターンになります。Chat の全履歴は Multica に表示されたままです。

接続を管理する

  • エージェント → あなたのエージェント → 機能 → 連携ページでは、エージェントの作成者とワークスペースの owner/admin が DingTalk への接続と切断を行えます。接続後は、Bot 名、Bot がメッセージを正常に処理したことのある DingTalk グループ、および各グループでの Bot のアクティビティ状況データが表示されます。エージェントの読み取り権限を持つワークスペースメンバーは、これらの情報をすべて確認できます。直近 90 日間に正常に処理されたメッセージがないグループは長期間未使用にまとめられ、展開時に読み込まれます。
  • 設定 → 連携ページには、現在のワークスペース内で、自分に読み取り権限があり、DingTalk に接続済みのエージェントがすべて表示されます。Bot の DingTalk グループ内でのアクティビティ状況データも表示されます。ワークスペースの owner/admin は、リスト内の任意のエージェントの DingTalk 接続をここから直接切断できます。切断後、Bot はメッセージを受信しなくなりますが、インストール記録は監査用に保持されます。ワークスペースの owner/admin は、グループを一覧から削除することもできます。この操作で会話やメッセージが削除されることはありません。その後、DingTalk アカウントを連携済みのワークスペースメンバーが同じグループで Bot を @メンションし、そのメッセージを Multica が正常に受け付けると、グループは再び表示されます。

セルフホスト設定

Multica Cloud ユーザーはこのセクションをスキップできます。セルフホスト環境では、DingTalk の AppSecret を暗号化するためのキーを先に設定します。

MULTICA_DINGTALK_SECRET_KEY=<base64-encoded 32-byte key>

次のコマンドで生成できます。

openssl rand -base64 32

API サービスを再起動した後、DingTalk に接続します。このキーは長期間保存してください。変更または紛失すると、既存のトークンを復号できず、再接続が必要になります。

アカウント連携リンクは MULTICA_APP_URL を使用し、未設定の場合は FRONTEND_ORIGIN にフォールバックします。メンバーがアクセスできる Multica のアドレスを指定してください。

次に