macOS開発環境セットアップ
警告
このドキュメントは開発環境専用であり、デプロイメントや使用には推奨されません。
前提条件
開発環境要件:
- 機能するPostgreSQLデータベース
- Python環境がインストール済み(Python 3.10推奨)
poetryをインストール(Python依存関係管理ツール)nb-cliをインストール(NoneBotスキャフォールディングツール)- Mac用のOrbStackまたはDocker Desktopをインストール
基本的な開発ツールをインストール
- Homebrewをインストール(まだインストールしていない場合)
bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"- Pythonをインストール
bash
brew install python@3.10- 開発依存関係をインストール
bash
pip3 install poetry
pip3 install nb-cliソースコードデプロイメント
1. リポジトリをクローン
bash
git clone https://github.com/KroMiose/nekro-agent.git2. 依存関係をインストール
bash
cd nekro-agent
poetry config virtualenvs.in-project true # プロジェクトディレクトリに仮想環境をインストール(オプション)
poetry install3. PostgreSQLデータベースをインストール
Homebrew経由でインストール:
bash
brew install postgresql@15
brew services start postgresql@154. データベース初期化
- データベースを作成:
bash
# postgresユーザーに切り替え
psql postgres
# PostgreSQL内で実行
CREATE DATABASE nekro_db;
\q5. 設定ファイルを生成
Botを一度実行してプラグインをロードし、設定ファイルを生成するために閉じます:
bash
nb run6. 必要な情報を設定
設定ファイル./data/configs/nekro-agent.yamlを編集して、データベース接続やその他の情報を設定します。
yaml
# Botと管理情報
SUPER_USERS: # 管理者ユーザーQQ番号のリスト
- "12345678"
BOT_QQ: "12345678" # Bot QQ番号(**必須**)
ADMIN_CHAT_KEY: group_12345678 # 管理者セッションチャネル識別子
# PostgreSQLデータベース設定
POSTGRES_HOST: localhost
POSTGRES_PORT: 5432
POSTGRES_USER: postgres # macOSのデフォルトユーザー名は通常現在のユーザー名
POSTGRES_PASSWORD: "" # ローカル開発環境ではパスワードがない場合がある
POSTGRES_DATABASE: nekro_db完全な設定
完全な設定手順については、config.pyを参照してください
7. Docker環境をインストール
macOSでは、コンテナ管理ツールとしてOrbStackを使用することをお勧めします。これはDocker Desktopよりも軽量で高性能です。
オプション1: OrbStackをインストール(推奨)
bash
brew install --cask orbstackインストール後にOrbStackアプリケーションを起動します。
オプション2: Docker Desktop for Macをインストール
- Docker Desktop公式サイトにアクセスしてmacOS版をダウンロード
- Docker Desktopをインストールして起動
- Dockerサービスが正常に実行されていることを確認:
docker info
8. サンドボックスイメージをプル
サンドボックス環境用のDockerイメージをプルします:
bash
# イメージをプル
docker pull kromiose/nekro-agent-sandbox:latest
# イメージを確認
docker images | grep nekro-agent-sandbox9. WebUIパスワードを設定
macOSで環境変数を設定:
bash
# 一時的な設定(現在のターミナルセッションで有効)
export NEKRO_ADMIN_PASSWORD="your_password"
# 永続的な設定(ターミナルの再起動が必要)
echo 'export NEKRO_ADMIN_PASSWORD="your_password"' >> ~/.zshrc # zshを使用している場合
# または
echo 'export NEKRO_ADMIN_PASSWORD="your_password"' >> ~/.bash_profile # bashを使用している場合10. Botを実行
bash
nb run
# 開発デバッグモードでリロード監視を有効にし、動的拡張ディレクトリを除外
nb run --reload --reload-excludes ext_workdir注意
macOSで実行する場合、権限の問題が発生した場合は、sudoを使用する必要がある場合があります:
bash
sudo nb run11. OneBot設定
任意のOneBotプロトコルクライアントを使用してBotにログインし、リバースWebSocket接続方法を使用して、接続アドレスを設定します:
ws://127.0.0.1:8021/onebot/v11/wsTIP
ここでのポートは.env.prodで設定できます。デフォルトは8021です
12. デバッグモード
プロジェクトには.vscode/launch.jsonファイルが含まれており、VSCodeを使用して直接デバッグできます:
- プロジェクトルートディレクトリを開く
F5を押してデバッグを開始- ターミナル出力が正常かどうかを観察
OrbStack仮想マシンを使用した開発(代替案)
ネイティブのmacOS環境で互換性の問題が発生した場合は、OrbStack仮想マシンを使用して開発することを検討してください:
1. Linux仮想マシンを作成
bash
orb create ubuntu nekro-dev2. 仮想マシンに入る
bash
orb -m nekro-dev3. 仮想マシンでLinux開発ガイドに従う
仮想マシン内で、Linux開発・デプロイメントガイドに従って後続の操作を実行します。
フロントエンド開発(オプション)
フロントエンドページを開発する必要がある場合は、以下の手順に従ってください:
1. Node.jsをインストール
bash
brew install node@202. pnpmを設定
bash
# pnpmをグローバルにインストール
npm install -g pnpm
# ミラーを設定して加速
pnpm config set registry https://registry.npmmirror.com3. フロントエンド依存関係をインストール
bash
cd frontend
# 依存関係をインストール
pnpm install --frozen-lockfile4. フロントエンドを開始
bash
cd ./frontend
pnpm dev以下のログが表示されたら、ブラウザでアクセスできます:
VITE vx.x.x ready in xxx ms
➜ Local: http://localhost:xxxx/ <- これがポート番号です
➜ Network: use --host to expose
➜ press h + enter to show help