@openclaw/nextcloud-talk) です。ダイレクトメッセージ、ルーム、リアクション、markdown メッセージに対応しています。メディアは URL として送信されます。
インストール
クイックセットアップ(初心者向け)
- Plugin をインストールします(上記)。
-
Nextcloud サーバーで bot を作成します。
--feature responseは保持してください。これがないと、外向きの返信が 401 で失敗します。既存の bot は./occ talk:bot:state --feature webhook --feature response --feature reaction <botId> 1で修復します。 - 対象ルームの設定で bot を有効化します。
-
OpenClaw を設定します。
- 設定:
channels.nextcloud-talk.baseUrl+channels.nextcloud-talk.botSecret - または env:
NEXTCLOUD_TALK_BOT_SECRET(デフォルトアカウントのみ)
--url/--tokenは明示フィールドのエイリアスです。nc-talkとncはチャネルエイリアスとして機能します):同等の明示フィールド:ファイルベースのシークレット: - 設定:
- gateway を再起動します(またはセットアップを完了します)。
注記
- bot は DM を開始できません。ユーザーが最初に bot にメッセージを送る必要があります。
- webhook URL は Nextcloud サーバーから到達可能である必要があります。gateway がプロキシの背後にある場合は
webhookPublicUrlを設定してください。webhook リクエストは bot secret で HMAC-SHA256 署名されます。無効な署名は拒否され、レート制限されます。 - bot API はメディアアップロードに対応していません。外向きメディアは
Attachment: <url>行として追加されます。 - webhook ペイロードは DM とルームを区別しません。ルーム種別のルックアップ(約 5 分キャッシュ)を有効にするには
apiUser+apiPasswordを設定してください。設定しない場合、すべての会話はルームとして扱われます。 - 外向きリクエストは SSRF ガードを通過します。信頼済みのプライベート/内部ネットワーク上の Nextcloud ホストについては、
channels.nextcloud-talk.network.dangerouslyAllowPrivateNetwork: trueで明示的に許可します。 apiUser/apiPasswordとwebhookPublicUrlが設定されている場合、openclaw channels statusは bot を検査し、response機能がないと警告します。
アクセス制御(DM)
- デフォルト:
channels.nextcloud-talk.dmPolicy = "pairing"。不明な送信者にはペアリングコードが提示されます。 - 承認方法:
openclaw pairing list nextcloud-talkopenclaw pairing approve nextcloud-talk <CODE>
- パブリック DM:
channels.nextcloud-talk.dmPolicy="open"とchannels.nextcloud-talk.allowFrom=["*"]。 allowFromは Nextcloud ユーザー ID のみ(小文字化)に一致します。表示名は無視されます。
ルーム(グループ)
- デフォルト:
channels.nextcloud-talk.groupPolicy = "allowlist"(メンションゲート)。 channels.nextcloud-talk.roomsでルームを許可リスト化します。キーはルームトークンです。"*"はワイルドカードのデフォルトを設定します。
- ルームごとのキー:
requireMention(デフォルト true)、enabled(false でルームを無効化)、allowFrom(ルームごとの送信者許可リスト)、tools(ツールの許可/拒否オーバーライド)、skills(読み込む skills を制限)、systemPrompt。 - ルームを許可しないには、許可リストを空のままにするか、
channels.nextcloud-talk.groupPolicy="disabled"を設定します。
機能
| 機能 | 状態 |
|---|---|
| ダイレクトメッセージ | 対応 |
| ルーム | 対応 |
| スレッド | 非対応 |
| メディア | URL のみ |
| リアクション | 対応 |
| ネイティブコマンド | 非対応 |
設定リファレンス(Nextcloud Talk)
完全な設定: 設定 プロバイダーオプション:channels.nextcloud-talk.enabled: チャネル起動を有効/無効にします。channels.nextcloud-talk.baseUrl: Nextcloud インスタンス URL。channels.nextcloud-talk.botSecret: bot 共有シークレット(文字列またはシークレット参照)。channels.nextcloud-talk.botSecretFile: 通常ファイルのシークレットパス。シンボリックリンクは拒否されます。channels.nextcloud-talk.apiUser: ルームルックアップ(DM 検出)とステータス検査用の API ユーザー。channels.nextcloud-talk.apiPassword: ルームルックアップ用の API/アプリパスワード。channels.nextcloud-talk.apiPasswordFile: API パスワードファイルパス。channels.nextcloud-talk.webhookPort: webhook リスナーポート(デフォルト: 8788)。channels.nextcloud-talk.webhookHost: webhook ホスト(デフォルト: 0.0.0.0)。channels.nextcloud-talk.webhookPath: webhook パス(デフォルト: /nextcloud-talk-webhook)。channels.nextcloud-talk.webhookPublicUrl: 外部から到達可能な webhook URL。channels.nextcloud-talk.dmPolicy:pairing | allowlist | open | disabled(デフォルト: pairing)。openにはallowFrom=["*"]が必要です。channels.nextcloud-talk.allowFrom: DM 許可リスト(ユーザー ID)。channels.nextcloud-talk.groupPolicy:allowlist | open | disabled(デフォルト: allowlist)。channels.nextcloud-talk.groupAllowFrom: ルーム送信者許可リスト(ユーザー ID)。未設定の場合はallowFromにフォールバックします。channels.nextcloud-talk.rooms: ルームごとの設定と許可リスト(上記参照)。- 静的な送信者アクセスグループは、
allowFromとgroupAllowFromからaccessGroup:<name>で参照できます。 channels.nextcloud-talk.historyLimit: グループ履歴上限(0 で無効化)。channels.nextcloud-talk.dmHistoryLimit: DM 履歴上限(0 で無効化)。channels.nextcloud-talk.dms: ユーザー ID をキーにした DM ごとのオーバーライド(historyLimit)。channels.nextcloud-talk.textChunkLimit: 外向きテキストチャンクの文字数サイズ(デフォルト: 4000)。channels.nextcloud-talk.chunkMode: 長さで分割するlength(デフォルト)、または長さによるチャンク化の前に空行(段落境界)で分割するnewline。channels.nextcloud-talk.blockStreaming: このチャネルのブロックストリーミングを無効にします。channels.nextcloud-talk.blockStreamingCoalesce: ブロックストリーミングの結合調整。channels.nextcloud-talk.responsePrefix: 外向き返信プレフィックス。channels.nextcloud-talk.markdown.tables: markdown テーブルのレンダリングモード(off | bullets | code | block)。channels.nextcloud-talk.mediaMaxMb: 受信メディア上限(MB)。channels.nextcloud-talk.network.dangerouslyAllowPrivateNetwork: SSRF ガードを越えて、プライベート/内部 Nextcloud ホストを許可します。channels.nextcloud-talk.accounts.<id>: アカウントごとのオーバーライド(同じキー)。defaultAccountがデフォルトを選択します。Env varsNEXTCLOUD_TALK_BOT_SECRET/NEXTCLOUD_TALK_API_PASSWORDはデフォルトアカウントにのみ適用されます。
関連
- チャネル概要 — 対応するすべてのチャネル
- ペアリング — DM 認証とペアリングフロー
- グループ — グループチャットの動作とメンションゲート
- チャネルルーティング — メッセージのセッションルーティング
- セキュリティ — アクセスモデルと堅牢化