デバッグコマンドガイド
このドキュメントでは、Nekro Agentのデバッグとシステム保守のコマンドについて紹介します。これらのコマンドは主に技術的なデバッグ、パフォーマンス監視、システム保守などの高度な操作に使用されます。
リスク警告
このドキュメントのコマンドは高いシステム権限を持ち、システムの安定性やデータセキュリティに影響を与える可能性があります。コマンドの機能を理解した上で、慎重に使用してください。
プラットフォーム制限
現在、すべてのコマンドはOneBot V11アダプター(つまりQQプラットフォーム)でのみ利用可能で、他のプロトコルエンドポイントはまだサポートされていません。
権限説明
すべてのデバッグコマンドにはスーパー管理者権限が必要です(config.SUPER_USERSで設定)。
コード実行とデバッグ
exec
機能:サンドボックスでPythonコードを実行し、結果を返す
構文:exec <python_code>
権限要件:スーパー管理者
パラメータ説明:
python_code:実行するPythonコード
セキュリティ説明:
- コードはサンドボックス環境で実行されます
- 実行時間とリソースの制限を受けます
- 一定のシステムリソースアクセス権限があります
使用例:
exec print("Hello World")
exec import os; print(os.getcwd())
exec 1 + 1code_log / code-log
機能:コード実行履歴を表示する
構文:code_log [index]
権限要件:スーパー管理者
パラメータ説明:
index(オプション):レコードのインデックス番号- 正の数:時系列順でN番目のレコードを表示
- 負の数:逆時系列順でN番目のレコードを表示
- 省略:最新のレコードを表示
表示内容:
- 実行されたコード内容
- 実行結果/出力
- 実行時間情報
使用例:
code_log # 最新の実行レコードを表示
code_log -2 # 最後から2番目のレコードを表示
code_log 1 # 最初のレコードを表示システムメッセージとデバッグモード
system
機能:現在のチャットにシステムメッセージを追加し、Agentをトリガーする
構文:system <message>
権限要件:スーパー管理者
パラメータ説明:
message:追加するシステムメッセージ内容
使用シナリオ:
- Agentの動作をデバッグする
- 特定のシステム指示を注入する
- プロンプト応答をテストする
使用例:
system 自己紹介してください
system 現在のタスク:ユーザーが提供したデータを分析するdebug_on / debug-on
機能:プロンプトデバッグモードを有効にする
構文:debug_on
権限要件:スーパー管理者
機能説明:
- ロールプレイングモードを終了する
- 技術分析と状態報告に集中する
- 各応答後に追加のデバッグ情報を提供する
- 現在のコンテキスト状態と設定を分析する
デバッグモードの機能:
- 技術分析を優先
- プロンプトの長所/短所を表示
- 潜在的な問題を特定
- 改善提案を提供
使用例:
debug_ondebug_off / debug-off
機能:プロンプトデバッグモードを無効にする
構文:debug_off
権限要件:スーパー管理者
機能説明:
- 通常のロールプレイングモードに戻る
- デバッグ分析出力を停止する
- すべてのデバッグコンテキストを無視する
使用例:
debug_off設定管理
conf_show / conf-show
機能:システム設定を表示または一覧表示する
構文:conf_show [config_key]
権限要件:スーパー管理者
パラメータ説明:
config_key(オプション):表示する設定項目名- 省略時:動的に変更可能なすべての設定項目の一覧を表示
サポートされている設定タイプ:
- 整数(int)
- 浮動小数点数(float)
- ブール値(bool)
- 文字列(str)
使用例:
conf_show # 変更可能なすべての設定項目を一覧表示
conf_show AI_GENERATE_TIMEOUT # AI生成タイムアウト設定を表示conf_set / conf-set
機能:システム設定を動的に変更する
構文:conf_set <key>=<value>
権限要件:スーパー管理者
パラメータ説明:
key:設定項目名value:新しい設定値
データ型処理:
- 整数/浮動小数点数:自動型変換
- ブール値:
true/false、1/0、yes/noをサポート - 文字列:直接代入
使用例:
conf_set AI_GENERATE_TIMEOUT=60
conf_set ENABLE_DEBUG_MODE=true
conf_set AI_COMMAND_OUTPUT_PREFIX=[Bot]conf_reload / conf-reload
機能:設定ファイルを再読み込みする
構文:conf_reload
権限要件:スーパー管理者
機能説明:
- 設定ファイルからすべての設定を再読み込みする
- 動的に変更された設定を破棄する
- ファイル内の設定状態に復元する
使用例:
conf_reloadconf_save / conf-save
機能:現在の設定をファイルに保存する
構文:conf_save
権限要件:スーパー管理者
機能説明:
- メモリ内の設定を設定ファイルに書き込む
- 動的に変更された設定を永続化する
使用例:
conf_saveモデルテスト
model_test / model-test
機能:モデルの可用性とパフォーマンスをテストする
構文:model_test [options] <model_names...>
権限要件:スーパー管理者
オプションパラメータ:
-g:パラメータをモデル名ではなくモデルグループ名として扱う--stream:ストリーミングモードでテストを使用する--use-system:テストにシステムメッセージを含める
ワイルドカードサポート:
*ワイルドカードをサポートして複数のモデル/モデルグループに一致させる- 例:
gpt*は"gpt"で始まるすべてのモデルに一致
テスト内容:
- モデル応答能力
- 応答速度統計
- 成功/失敗率
- パフォーマンスベンチマーク
使用例:
model_test gpt-4o # 単一モデルをテスト
model_test -g main_model debug_model # モデルグループをテスト
model_test --stream gpt* # すべてのgptモデルをストリームテスト
model_test --use-system claude* # システムメッセージテストを含めるエラーログ管理
log_err_list / log-err-list / log_err_ls / log-err-ls
機能:エラーログ一覧を表示する
構文:log_err_list [options]
権限要件:スーパー管理者
オプションパラメータ:
-p <page_number>:ページ番号を指定(デフォルト:1)-s <per_page>:1ページあたりの項目数(デフォルト:10、最大:50)-a/--all:キャッシュされた一覧ではなくログディレクトリ内のすべてのファイルを表示
表示内容:
- エラーログファイル一覧
- ファイル変更時間
- ログ番号(他のコマンドで参照するために使用)
使用例:
log_err_list # 最近のエラーログを表示
log_err_list -p 2 -s 5 # ページ2を表示、1ページあたり5項目
log_err_list -a # すべてのログファイルを表示log_chat_test / log-chat-test
機能:エラーログの会話内容を使用してLLMリクエストをテストする
構文:log_chat_test <log_index_or_filename> [options]
権限要件:スーパー管理者
パラメータ説明:
log_index_or_filename:ログインデックス番号またはファイル名
オプションパラメータ:
-g <model_group_name>:使用するモデルグループを指定(デフォルト:メインモデルグループ)--stream/-s:ストリーミングモードを使用
ログ一致ルール:
- インデックス番号として解析を試みる
- キャッシュされた一覧でファイル名で一致させる
- ログディレクトリで直接ファイルを検索する
- 自動的に
.jsonサフィックスを追加して再試行する
テスト内容:
- エラーログからリクエストを再現する
- モデル応答能力をテストする
- パフォーマンスベンチマーク
- エラー再現分析
使用例:
log_chat_test 1 # 1番目のログをテスト
log_chat_test error_20241201.json # 指定されたログファイルをテスト
log_chat_test 2 -g debug_model # デバッグモデルグループを使用してテスト
log_chat_test 3 --stream # ストリームモードでテストシステム保守
clear_sandbox_cache / clear-sandbox-cache / na_csc / na-csc
機能:サンドボックス環境のキャッシュディレクトリをクリアする
構文:clear_sandbox_cache
権限要件:スーパー管理者
クリア内容:
- pipキャッシュディレクトリ
- サンドボックスパッケージディレクトリ
- 一時ファイルとディレクトリ
表示情報:
- クリアされたファイル数
- 解放されたディスク容量
- クリア操作の状態
使用例:
clear_sandbox_cachegithub_stars_check / github-stars-check
機能:ユーザーが公式GitHubリポジトリにスターを付けたかチェックする
構文:github_stars_check
権限要件:スーパー管理者
表示内容:
- スター状態の概要
- スターを付けたリポジトリ一覧
- スターを付けていないリポジトリ一覧
使用例:
github_stars_check高リスクコマンド
危険な操作
以下のコマンドは極めて高いシステムリスクを持ち、データ損失やシステム不安定性を引き起こす可能性があります。結果を完全に理解した上で使用してください。
docker_restart / docker-restart
機能:Dockerコンテナを再起動する
構文:docker_restart [container_name]
権限要件:スーパー管理者 + Docker環境
パラメータ説明:
container_name(オプション):コンテナ名(デフォルト:nekro_agent)
制限:
- Docker環境でのみ利用可能
- Docker操作権限が必要
使用例:
docker_restart # デフォルトコンテナを再起動
docker_restart my_container # 指定されたコンテナを再起動docker_logs / docker-logs
機能:Dockerコンテナログを表示する
構文:docker_logs [container_name]
権限要件:スーパー管理者 + Docker環境
パラメータ説明:
container_name(オプション):コンテナ名(デフォルト:nekro_agent)
表示内容:
- コンテナログの最後の100行
- 実行状態情報
使用例:
docker_logs # デフォルトコンテナのログを表示
docker_logs my_container # 指定されたコンテナのログを表示sh
機能:Shellコマンドを実行する
構文:sh <command>
権限要件:スーパー管理者
パラメータ説明:
command:実行するShellコマンド
セキュリティリスク:
- 完全なシステムアクセス権限を持つ
- システムの安定性に影響を与える可能性がある
- コマンド実行結果は不可逆
使用例:
sh ls -la # ファイル一覧を表示
sh df -h # ディスク使用量を表示
sh ps aux | grep python # Pythonプロセスを表示nekro_db_reset / nekro-db-reset
機能:データベースをリセットする
構文:nekro_db_reset [-y] [table_name]
権限要件:スーパー管理者
パラメータ説明:
-y:リセット操作の実行を確認table_name(オプション):リセットするデータテーブルを指定
セキュリティメカニズム:
- 確認のため1分以内に2回の実行が必要
- 最初の実行は警告のみを表示
- 2回目の実行には
-yパラメータが必要
データへの影響:
- 指定されたデータテーブルまたはデータベース全体を完全にクリア
- 操作は不可逆
- 関連するすべてのデータが失われる
使用例:
nekro_db_reset # 最初の実行、警告を表示
nekro_db_reset -y # データベース全体のリセットを確認
nekro_db_reset -y chat_messages # 指定されたデータテーブルをリセットセキュリティ推奨事項
- 権限制御:信頼できるユーザーのみがスーパー管理者権限を持つように確認する
- 操作記録:重要な操作の前に関連データをバックアップすることを推奨する
- テスト環境:高リスクコマンドを本番環境外で最初にテストする
- ログ監視:異常な操作を監視するために定期的にコマンド実行ログを確認する
- 設定バックアップ:重要な設定変更の前に
conf_saveを使用してバックアップする
ヘルプの取得
na_helpコマンドを使用してコマンド概要を表示する- 基本コマンドガイドを表示して日常管理機能を理解する
- GitHubプロジェクトにアクセスして問題を報告する
