mcpField
N
nocobase-notification-manage

nocobase-notification-manage

github.com/nocobase開発5567 回インストール8 週間前に更新
リポジトリ

nocobase-notification-manage について

nocobase-notification-manageは、NocoBaseの通知チャネルとワークフロー通知を管理するスキルです。設定、配信テスト、送信ログによる診断を扱い、秘密情報を保護し、リスクの高い操作には確認を求めます。

主な機能

  1. 01通知チャネルと送信ログの確認
  2. 02アプリ内通知とSMTPメールの設定
  3. 03ワークフロー通知ノード設定の案内
  4. 04明示された宛先への配信テスト
  5. 05ログとジョブ結果による障害診断

活用シーン

  1. 01既存チャネルと最近の送信記録の確認
  2. 02メールまたはアプリ内通知チャネルの設定
  3. 03ワークフロー通知の送信失敗の調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/nocobase/skills --skill nocobase-notification-manage

インストール後、Claude Code で/nocobase-notification-manageを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
references/
channel-configuration.md
diagnostics.md
index.md
workflow-notification.md

詳細

目標

NocoBase の通知管理をエンドツーエンドで支援します。通知プラグインとチャネルを確認し、アプリ内メッセージまたはメールチャネルを設定し、ワークフローの通知ノードを接続して、配信をテストし、送信ログを調査します。

対象範囲

  • 対象:notificationChannels 内のチャネルや notificationSendLogs 内の送信ログなど、通知マネージャーの使用方法。
  • 対象:アプリ内メッセージチャネル(notificationType: in-app-message)と、そのワークフローのメッセージフィールド。
  • 対象:SMTP トランスポートを使用するメールチャネル(notificationType: email)。
  • 対象:ノードタイプ notification のワークフロー通知ノードに関するガイダンス。
  • 対象:送信ログ、ワークフロージョブの結果、チャネル設定の読み戻しによる配信診断。

対象外

  • プラグインを直接インストール、有効化、または無効化しないでください。プラグインの状態変更には nocobase-plugin-manage を使用してください。
  • ワークフロー全体をゼロから設計しないでください。トリガーとノードチェーンの作成には nocobase-workflow-manage を使用してください。
  • 新しい通知チャネルタイプを作成しないでください。カスタムプロバイダーにはプラグイン開発ガイダンスを使用してください。
  • 受信者の明示的な確認なしに、実際の外部メールテストを送信しないでください。
  • SMTP パスワード、アプリパスワード、その他のチャネルシークレットを公開またはそのまま表示しないでください。

入力契約

入力必須デフォルト検証確認の質問
actionはいinspectinspect/configure-channel/test-channel/configure-workflow/diagnose のいずれか「実行するアクションを選んでください。inspect、configure-channel、test-channel、configure-workflow、diagnose のどれにしますか?」
channelconfigure/test:はいなし既存のチャネル名、または in-app-message/email のいずれか「使用するチャネル名またはチャネルタイプを指定してください。」
envいいえ現在の CLI env設定済みの nb env 名「対象とする NocoBase CLI env を指定してください。」
workflowconfigure-workflow/diagnose:場合によるなしワークフロー ID/キー/タイトルが一意に解決されること「確認するワークフローまたは通知ノードを指定してください。」
recipientstest-channel:はいなし明示的なユーザー ID またはメールアドレス「通知を受信する安全なテスト対象を指定してください。」
modeいいえsafesafe/fast のいずれか「読み戻しを行うセーフモードと、ファストモードのどちらを使用しますか?」

ルール:

  • 必須入力が不足している場合は、変更を中止して確認してください。
  • ユーザーが「決めて」と言った場合は、文書化されたデフォルトを使用してください。
  • チャネル名は notificationChannels から解決してください。生成された s_ 名を推測しないでください。
  • ワークフローノードまたは送信操作で使用する前に、通知チャネルが notificationChannels に存在している必要があります。存在しない channelName を決して作り出したり補完したりしないでください。先にチャネルを作成し、読み戻して実際の name を使用してください。
  • すべての設定およびテスト作業では、セーフモードを優先してください。

必須の確認ゲート

  • 確認ラウンドの上限:2
  • 1 ラウンドあたりの質問数の上限:3
  • 変更の前提条件:
  • action が確定していること。
  • アプリケーション操作において、nb CLI の接続性と認証が確認されていること。
  • チャネルへの書き込みでは、チャネルタイプと必須のプロバイダーフィールドが明らかになっていること。
  • テストでは、受信者が明示され、承認されていること。
  • ワークフローの編集では、対象のワークフローまたはノードの所有者が特定されていること。
  • 前提条件が満たされていない場合は中止し、不足している入力または機能を報告してください。

ワークフロー

  1. nb CLI に接続できることと、プラグインの状態を確認します。プラグインを有効にする必要がある場合は、nocobase-plugin-manage に引き継ぎます。
  2. 変更を加える前に、notificationChannels と登録済みのチャネルタイプを確認します。
  3. 適切な手順を選択します。
  • inspect:チャネルと最近の notificationSendLogs を一覧表示します。
  • configure-channel:要求されたチャネルタイプのみを作成または更新します。
  • test-channel:明示的に指定された安全な宛先に送信してから、ログを読み取ります。
  • configure-workflow:タイプが notification のワークフローノードの編集を案内または委任します。
  • diagnose:チャネル設定、送信ログ、ワークフロージョブ、サーバーログを照合します。
  1. フィールド単位の案内を行う前に、関連するリファレンスファイルを読みます。
  2. 変更を加える場合は、一度に1つの書き込みを実行し、その都度 notificationChannels を読み戻します。
  3. 配信テストでは、notificationSendLogs.status、reason、message、triggerFrom、channelName を確認します。
  4. ワークフロー通知ノードには、読み戻した notificationChannels.name のみを使用します。適切なチャネルがない場合は、先にチャネルを作成または設定するか、不足しているチャネルを報告して停止します。
  5. 最終状態、根拠、残るリスクを報告します。

リファレンスの読み込みマップ

曖昧なリファレンスの使用を防ぐため、このセクションを使用します。各項目には、いつ読み込むかを明記してください。

リファレンス読み込む場合備考
チャネル設定アプリ内メッセージチャネルやメールチャネルを作成、更新、確認するとき。チャネルタイプ、フィールド、シークレットの取り扱いを含みます。
ワークフロー通知ワークフロー通知ノードを追加または確認するとき。ノードタイプとチャネルごとのメッセージフィールドを含みます。
診断通知の失敗や未着を調査するとき。コレクション、ステータスフィールド、よくある失敗原因を含みます。

リファレンスのルール:

  • ローカルファイルへのリンクには、相対 Markdown リンクを使用します。
  • リンクのパス区切りには / を使用します。
  • 可能な限り、リファレンスは SKILL.md から1階層以内に配置します。
  • リファレンスファイルが100行を超える場合は、そのファイルに目次を追加します。

安全性の確認

  • 高リスクの操作を実行するには、事前に二次確認が必要です。
  • 高リスクの操作には、次のものが含まれます。
  • 外部の宛先への実際のメール送信
  • SMTP のホスト、アカウント、パスワード、差出人の値の変更
  • 通知チャネルまたは送信ログの削除
  • 有効化済み、または以前実行されたワークフローの通知ノードの変更
  • 通知関連プラグインの有効化または無効化

二次確認のテンプレート:

  • "実行を確認してください:通知チャネル {{channel}} に対する {{action}}。想定される影響:{{impact}}。続行するには confirm と入力してください。"

ロールバックの案内:

  • 読み戻した内容が要求されたチャネルまたはワークフロー設定と一致しない場合は、ロールバックを実行します。
  • ロールバック手順:
  • 以前の notificationChannels レコードの値を復元します
  • nocobase-workflow-manage を使用して、以前のワークフローリビジョンまたはノード設定を復元します
  • 読み戻しと、必要に応じて安全なテスト送信で確認します

検証チェックリスト

  • 対象のチャネルまたはワークフローノードが存在し、一意に特定されています。
  • nb の認証状態が有効です。
  • 必要な通知プラグインが有効になっているか、引き継ぎが行われています。
  • 入力値が検証ルールを満たしています。
  • すべての書き込みが直後の読み戻しで検証されています。
  • チャネルの notificationType が意図したプロバイダーと一致しています。
  • メールチャネルには SMTP の host、port、secure、account、password、from が設定されており、シークレットは表示されていません。
  • アプリ内メッセージチャネルには表示タイトルが設定され、ワークフロー通知で選択できます。
  • ワークフロー通知ノードはタイプ notification を使用し、実在する channelName を指定しています。
  • ワークフローのアプリ内メッセージの receivers 定数には、"1" のような文字列ではなく、整数のユーザー ID を使用しています。
  • 送信ログには、期待される status、triggerFrom、channelName が記録されており、失敗時には reason も記録されています。
  • エラーと部分的な成功が分けて報告されています。
  • 最終出力には、使用した CLI 環境とアプリのコンテキストが含まれています。

最小テストシナリオ

  1. 確認のみ:通知チャネルと最近の送信ログを一覧表示します。
  2. アプリ内メッセージチャネルを設定し、notificationChannels に表示されることを確認します。
  3. メール SMTP チャネルを設定し、出力内のシークレットがマスキングされていることを確認して、設定内容を読み戻します。
  4. 明示的な受信者を指定してチャネルをテストし、notificationSendLogs を確認します。
  5. 実際のテストで受信者が指定されていない場合、送信がブロックされます。
  6. 実行済みワークフローのノードを変更する場合は、nocobase-workflow-manage のリビジョンルールに引き継ぎます。

出力要件

最終回答には以下を含めてください。

  • 依頼された内容。
  • 実行した内容。
  • 検証した内容。
  • 失敗した内容、または不明な点。
  • 適用したデフォルト値や前提条件。
  • 通知チャネル名/タイプと使用した CLI 環境変数。
  • 作業がブロックされた場合にユーザーが行うべき具体的な次の手順。

参考資料

  • チャネル設定:通知チャネルの設定項目とプロバイダーのルールについては、こちらを参照してください。
  • ワークフロー通知:ワークフロー通知ノードの動作とメッセージフィールドについては、こちらを参照してください。
  • 診断:ログ、失敗理由、トラブルシューティングの手順については、こちらを参照してください。

コメント