Skip to content

デバッグコマンドガイド

このドキュメントでは、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 + 1

code_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_on

debug_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/false1/0yes/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_reload

conf_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:ストリーミングモードを使用

ログ一致ルール

  1. インデックス番号として解析を試みる
  2. キャッシュされた一覧でファイル名で一致させる
  3. ログディレクトリで直接ファイルを検索する
  4. 自動的に.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_cache

github_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 # 指定されたデータテーブルをリセット

セキュリティ推奨事項

  1. 権限制御:信頼できるユーザーのみがスーパー管理者権限を持つように確認する
  2. 操作記録:重要な操作の前に関連データをバックアップすることを推奨する
  3. テスト環境:高リスクコマンドを本番環境外で最初にテストする
  4. ログ監視:異常な操作を監視するために定期的にコマンド実行ログを確認する
  5. 設定バックアップ:重要な設定変更の前にconf_saveを使用してバックアップする

ヘルプの取得