# HumanTakeover(人による引き継ぎ) [English](../README.md) | [简体中文](README_zh_Hans.md) LangBot 向けの人による引き継ぎ・手動応答プラグインです。オペレーターが内蔵の Web コンソールから任意の個人チャット・グループチャットを引き継ぎ、AI の自動応答を遮断し、テキスト・画像・ファイルで手動応答できます。 ## 主な機能 - **引き継ぎ時に AI を遮断**:会話が引き継がれると AI パイプラインが停止し(`prevent_default`)、人が対応します。 - **Web コンソール(単一 Page コンポーネント)**:2 カラムレイアウト+折りたたみ可能な情報パネル。LangBot のデザイン言語に準拠し、ダーク/ライトテーマに対応。 - **全会話の表示**:すべての個人・グループチャットを一覧表示。グループメッセージは送信者を区別します。 - **手動応答**:コンソールからテキスト・画像(base64)・ファイル(base64)を送信可能。 - **会話ごとの下書き**:入力欄の内容と選択済みの画像/ファイルはその会話に紐づき、会話を切り替えると保存・復元されます。手動応答にはその会話で選んだ添付だけが送られます。 - **10 分で自動解除**:引き継ぎ後、設定時間内に人の応答がなければ自動解除。応答待ちの間はカウントダウンを表示します。 - **トリガーワード**:ユーザーメッセージに設定したトリガーワードが含まれると、会話を未処理としてマーク(アバターに WeChat 風の赤い点)し、通知を表示、(任意で)自動引き継ぎします。 - **プロフィールカード**:ユーザー/グループのアバターをクリックして取得可能な情報(ID、グループ、Bot、アダプター)を表示。 - **永続化**:会話とメッセージは LangBot `plugin_storage`(データベース)に保存され、再起動後も保持されます。 - **ストレージのクリア**:カスタム確認ダイアログ付きのワンクリックで全データを消去。 - **多言語対応**:簡体字中国語 / 英語の完全な UI。 ## 設定項目 | フィールド | 型 | 既定値 | 説明 | |------|------|--------|------| | `takeover_timeout` | integer | 600 | 引き継ぎ後、この秒数内に人の応答がなければ自動解除します。 | | `trigger_words` | array[string] | `[]` | これらの語を含むメッセージで未処理マークと自動引き継ぎを行います。 | | `auto_takeover_on_trigger` | boolean | true | トリガーワード一致時に自動引き継ぎするかどうか。 | ## 使い方 1. LangBot にインストールして有効化し、上記の項目を設定します。 2. WebUI のサイドバーから **Human Takeover** ページを開きます。 3. 会話を選択し、**引き継ぎ** をクリックして AI を遮断、手動で応答します。 4. アバターをクリックして情報を確認。**ストレージのクリア** でデータをリセットします。 ## コンポーネント - **EventListener**:メッセージの記録、アダプターのキャッシュ、トリガーワードの照合、引き継ぎ中の AI 遮断を行います。 - **Page(`console`)**:Web 管理コンソール(`index.html` + `console.py`)。