README_JA.md
📣 Chat2DB チームからのお知らせ! AI ネイティブアプリケーション向けの新しいデプロイレイヤー Nubase をオープンソースで公開しました! Chat2DB がデータ管理を簡単にするように、Nubase は AI コーディングツールやエージェントのデプロイをよりスムーズにします。
オープンソースの取り組みを応援するため、GitHub で Nubase に ⭐️ をお願いします!
Community、Pro、Enterprise は、同じデータベースクライアントの基本機能を共有します。商用版は別のデータベースエンジンを提供するのではなく、その基本機能に公式 AI、クラウドストレージ、マルチデバイス利用、コラボレーション、ガバナンスを追加します。
| 機能 | Community | Pro(オンライン個人版) | Enterprise |
|---|---|---|---|
| データソース接続と認証情報管理 | ✅ | ✅ | ✅ |
| データベースプラグインとメタデータ参照 | ✅ | ✅ | ✅ |
| SQL の編集、補完、フォーマット、実行 | ✅ | ✅ | ✅ |
| DDL/DML、オブジェクト管理、データ編集 | ✅ | ✅ | ✅ |
| データのインポートとエクスポート | ✅ | ✅ | ✅ |
| 保存済み SQL、履歴、タスク | ✅ | ✅ | ✅ |
| ダッシュボードとチャート | ✅ | ✅ | ✅ |
| CLI と MCP | ✅ | ✅ | ✅ |
| カスタム AI モデル | ✅ | ✅ | ✅ |
| 公式 AI クレジットとクラウド会話履歴 | ❌ | ✅ | ✅ |
| アカウントと ID 管理 | ❌ | ✅ | ✅ |
| クラウドとマルチデバイス | ❌ | ✅ | ✅ |
| チームデータソースと共有資産 | ❌ | ❌ | ✅ |
| メンバーとロール | ❌ | ❌ | ✅ |
| 権限、承認、監査 | ❌ | ❌ | ✅ |
| 組織データコンテキストと企業ナレッジベース | ❌ | ❌ | ✅ |
Chat2DB は、Windows、macOS、Linux をサポートするクロスプラットフォームアプリケーションです。以下のリンクから Chat2DB をダウンロードできます。
[!WARNING] Chat2DB Community は、単一ユーザー向けのローカルファーストなアプリケーションです。 ユーザーアカウント、テナント分離、複数ユーザー間の認可境界は提供しません。 HTTP サービスは
127.0.0.1または::1にバインドし、他のユーザーや 信頼できないネットワークへ直接公開しないでください。カスタム JDBC ドライバーは実行可能な Java コードです。信頼できる提供元の ドライバーだけをインストールしてください。インポートした設定ファイル、 アーカイブ、SQL ファイル、データベースの内容、AI の応答は引き続き信頼できない データとして扱います。完全な信頼境界と脆弱性の報告手順については、 セキュリティポリシーを参照してください。
Chat2DBをインストールする前に、システムが以下の要件を満たしていることを確認してください:
# リポジトリ内で初回に一度実行します。再実行時は同じ有効なキーを再利用します。
./script/security/init-community-encryption-key.sh
docker run --detach \
--name chat2db-community \
--restart unless-stopped \
--publish 127.0.0.1:10825:10825 \
--volume "$HOME/.chat2db-community-docker:/root/.chat2db-community" \
--env CHAT2DB_COMMUNITY_ENCRYPTION_KEY_FILE=/run/secrets/chat2db-community-encryption.key \
--volume "$HOME/.config/chat2db-community/encryption.key:/run/secrets/chat2db-community-encryption.key:ro" \
chat2db/chat2db:latest
docker logs --follow chat2db-community
http://localhost:10825 を開いてください。更新する場合は、新しいイメージを取得し、古いコンテナを削除してから上記のコマンドを再実行します。
Chat2DB Community 5.3.0 は独立した /root/.chat2db-community ディレクトリを使用し、旧イメージの /root/.chat2db にあるデータを自動移行しません。
コンテナを再作成しても ~/.config/chat2db-community/encryption.key を保持し、別途バックアップしてください。このファイルを置き換えたり失ったりすると、保存済みのデータソースパスワードと AI モデル API キーを復号できません。chat2db.mode が DESKTOP 以外の起動方式(通常の Web/headless 起動を含む)は、有効なキーがない場合に起動に失敗します。
リポジトリには Compose 定義も含まれています:
./script/security/init-community-encryption-key.sh
docker compose --file docker/docker-compose.yml up --detach
docker run は $HOME/.chat2db-community-docker にデータを保存し、Compose は chat2db-community-data という名前付きボリュームを使用します。両者はデータを自動的に共有または移行しません。
Chat2DB Community は、保存されたデータソースパスワードとユーザー設定の AI モデル API キーを AES-256-GCM で暗号化します。両者は同じインストールキーを使用しますが、認証用 AAD は別々であるため、一方の暗号文をもう一方として復号できません。キーは有効な Base64 で、デコード後に正確に32バイトでなければなりません。付属の初期化スクリプトは、末尾が = の44文字からなる標準のパディング付き形式を生成します。人が決める通常のパスワードではなく、暗号化用のキーマテリアルです。
リポジトリ内で次のコマンドを実行し、デフォルトのキーファイルを作成します:
./script/security/init-community-encryption-key.sh
デフォルトパスは ~/.config/chat2db-community/encryption.key です。カスタムパスを使用する場合は、初期化スクリプトと Chat2DB の起動引数に同じパスを指定します:
./script/security/init-community-encryption-key.sh /secure/path/chat2db-community.key
java -Dloader.path=chat2db-community-server/chat2db-community-start/target/lib \
-Dchat2db.runtime.mode=community \
-Dchat2db.mode=WEB \
-Dchat2db.gui=false \
-Dchat2db.network.status=OFFLINE \
-Dchat2db.community.encryption-key-file=/secure/path/chat2db-community.key \
-Dserver.address=127.0.0.1 \
-Dserver.port=10825 \
-jar chat2db-community-server/chat2db-community-start/target/chat2db-community.jar
初期化スクリプトには openssl が必要です。スクリプトが使用するキーファイルパスの優先順位は、位置引数、CHAT2DB_COMMUNITY_ENCRYPTION_KEY_FILE、デフォルトパスの順です。既存の有効な通常ファイルは再利用し、シンボリックリンクと通常ファイル以外のパスを拒否し、無効なファイルを上書きしません。キーファイルは Chat2DB プロセスの所有者だけが読み取れるようにし、アップグレードやコンテナ再作成後も保持して、データソースストレージとは別にバックアップしてください。
キー設定は次の優先順位で解決されます:
chat2db.community.encryption-key。CHAT2DB_COMMUNITY_ENCRYPTION_KEY。chat2db.community.encryption-key-file。CHAT2DB_COMMUNITY_ENCRYPTION_KEY_FILE。~/.config/chat2db-community/encryption.key。最初に設定された値が優先されます。空の値、不正な Base64、デコード後に32バイトにならないキー、または不正なキーファイルは、次の設定へフォールバックせず起動エラーになります。キー値をプロセス引数や環境変数へ直接置かないため、キーファイル方式を推奨します。
キーファイルの自動生成は chat2db.mode だけで決まり、chat2db.gui には依存しません。Community Desktop モード(chat2db.runtime.mode=community と chat2db.mode=DESKTOP)では、インラインキーが設定されておらず、選択されたキーファイルが存在しない場合にファイルを自動生成します。通常の Web/headless 起動を含む Desktop 以外のモードは不足しているキーを自動生成しないため、起動前に有効なキーを初期化または明示的に設定する必要があります。解決されたキーはプロセスの存続期間中キャッシュされるため、キー設定を変更した後はアプリケーションを再起動してください。キーを置き換えたり失ったりすると、保存済みのデータソースパスワードと AI モデル API キーを復号できません。
git clone [email protected]:OtterMind/Chat2DB.git
リポジトリに含まれる Yarn lockfile を使用してください。
cd Chat2DB/chat2db-community-client
yarn install --frozen-lockfile
yarn run start:community:hot
cd Chat2DB
mvn -B clean package -Dmaven.test.skip=true -Dchat2db.finalName=chat2db-community \
-f chat2db-community-server/pom.xml \
-pl chat2db-community-start -am
./script/security/init-community-encryption-key.sh
java -Dloader.path=chat2db-community-server/chat2db-community-start/target/lib \
-Dchat2db.gui=false \
-Dchat2db.runtime.mode=community \
-Dchat2db.mode=WEB \
-Dchat2db.network.status=OFFLINE \
-Dchat2db.community.encryption-key-file="$HOME/.config/chat2db-community/encryption.key" \
-Dserver.address=127.0.0.1 \
-Dserver.port=10825 \
-Dspring.profiles.active=dev \
-jar chat2db-community-server/chat2db-community-start/target/chat2db-community.jar
./docker/docker-build.sh 5.3.0 chat2db/chat2db:5.3.0
コミュニティからのバグ報告、機能リクエスト、ドキュメント改善、テストフィードバック、Pull Request を歓迎します。
Issue の作成や Pull Request の送信前に、コントリビューションガイドをお読みください。バグの報告、改善提案、メンテナーがレビューしやすい形で貢献する方法を説明しています。
Chat2DBに貢献してくださったすべての方々に感謝します。
<a href="https://github.com/OtterMind/Chat2DB/graphs/contributors"> </a>Chat2DB Community 5.3.0 以降には、このリポジトリの LICENSE が適用されます。このライセンスは Apache License 2.0 を基礎として追加条件を設けた Source Available ライセンスです。Chat2DB 5.3.0 より前に公開されたすべてのリリース(0.3.7 およびそれ以前の履歴 バージョンを含む)には、引き続き Apache License 2.0 が適用されます。