mcpField
N
nocobase-ai-knowledge-base-manager

nocobase-ai-knowledge-base-manager

github.com/nocobaseデータ・データベース5538 回インストール8 週間前に更新
リポジトリ

nocobase-ai-knowledge-base-manager について

NocoBase AI ナレッジベースを機能確認優先で管理するスキルです。PGVector、ナレッジベース、ドキュメント、検索テスト、エージェント連携情報を扱い、操作前にエディション、プラグイン、ランタイム、ACL を確認します。

主な機能

  1. 01エディション、プラグイン、ランタイム、ACL の確認
  2. 02PGVector 設定とナレッジベースの管理
  3. 03ドキュメントのアップロード、再ベクトル化、削除
  4. 04独立したセマンティック検索テスト
  5. 05エージェント連携用入力の準備

活用シーン

  1. 01環境がナレッジベース操作に対応するか確認
  2. 02各種ナレッジベースの作成や保守
  3. 03ドキュメントを登録して検索結果を確認
  4. 04AI エージェントのナレッジベース連携情報を準備

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/nocobase/skills --skill nocobase-ai-knowledge-base-manager

インストール後、Claude Code で/nocobase-ai-knowledge-base-managerを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
references/
ai-employee-binding.md
command-map.md
edition-and-capability.md
knowledge-bases-and-documents.md
vector-databases.md

詳細

目標

NocoBase AI ナレッジベース向けに、エディションを考慮した、機能を優先するワークフローを提供します。作業を始める前に Professional Edition 以上が必要であることを明示し、エディションを推測せずに利用資格、プラグイン、ランタイムの機能を確認します。必要なプラグインがインストール済みで無効になっている場合は、有効化を提案し、ユーザーの明示的な同意を得た後にプラグイン管理を通じて有効化します。その後、ベクトルデータベース、ナレッジベース、ドキュメント、検索テスト、従業員へのバインドに必要な入力を安全に管理します。

必須の依存関係

  • @nocobase/plugin-ai-knowledge-base は Professional 以上のエディションが必要な商用プラグインです。Enterprise もサポート対象ですが、Community と Standard は対象外です。
  • ナレッジベースプラグインが動作するには、事前に @nocobase/plugin-ai を有効にする必要があります。
  • nocobase-ai-manager は、このスキルの機能確認に合格し、選択した KB タイプで LLM/埋め込みの前提条件が必要な場合にのみ実行します。
  • ローカルのドキュメントワークフローには、利用可能なファイルストレージも必要です。ZIP 処理とバックグラウンド処理は、アクティブな非同期タスク機能に依存します。
  • 最終的な従業員レコードの書き込みは nocobase-ai-employee が行います。このスキルはバインド入力を準備して検証します。

対象範囲

  • ナレッジベースの利用資格、プラグインのインストール/有効化、API 機能、ACL をそれぞれ個別に判定します。
  • 必須プラグインがインストール済みで無効になっている場合は、正確なパッケージと環境を指定して有効化するか確認します。明示的な同意を得た後、nocobase-plugin-manage を使用して有効化し、変更後の状態を検証してランタイムメタデータを更新したうえで、機能確認を続行します。
  • PGVector データベース設定を検出、テスト、作成、更新、検証し、安全に削除します。
  • LOCAL、READONLY、EXTERNAL のナレッジベースを推奨し、管理します。
  • ドキュメントの一覧表示、取得、アップロード、個別の再ベクトル化/再試行、安全な削除を行います。
  • 個別のセマンティック検索ヒットテストを実行します。
  • 有効な KB キーと検索のデフォルト値を含む、検証済みの AI 従業員バインド引き継ぎ情報を準備します。
  • 不変フィールド、非同期処理の完了境界、保護対象のシークレット、依存関係の逆順でのクリーンアップを徹底します。

対象外

  • kb コマンドが見つからないこと、ライセンスキーが見つからないこと、nb env info、nb license status の結果から現在のエディションを断定しないでください。
  • このスキルでは、プラグインのインストール、同期、無効化は行いません。インストール済みで無効になっている必須プラグインは、ユーザーの明示的な同意を得た後に限り、nocobase-plugin-manage を通じて有効化します。このワークフローが利用可能な場合、コマンドの実行をユーザーに案内するだけにしないでください。
  • 保存済みの LLM サービスは設定しません。機能確認の後に nocobase-ai-manager を使用してください。
  • AI 従業員レコードを直接書き込みません。最終的なバインド/バインド解除の更新には nocobase-ai-employee を使用してください。
  • ナレッジベースのセグメント、非表示のベクトルストア変更アクション、専用の非同期タスクコマンドは管理しません。
  • アップロード、ZIP インポート、セグメント化、ベクトル化の完了を自動的にポーリングしません。
  • アップロードが成功した後に、ベクトル化するかどうかを尋ねません。アップロードにより、ベクトル化はすでに開始またはキューに登録されています。
  • ACL、依存関係の保護、既存テーブルの確認、不変フィールドのルールを回避しません。

入力コントラクト

入力必須デフォルト検証確認の質問
actionはいKB を意図したリクエストでは preflight、それ以外では inspectpreflight/inspect/create/update/upload/revectorize/test/prepare-binding/delete のいずれか"どのナレッジベース操作を実行しますか?"
target変更操作の場合:はいpreflight では capabilitycapability/vector-db/knowledge-base/document/employee のいずれか"どのリソースタイプを管理しますか?"
envいいえnb env list の現在の環境設定済み、到達可能、認証済み"対象にする NocoBase CLI 環境を指定してください。"
identifierupdate/upload/revectorize/test/prepare-binding/delete の場合:はいなし正確なベクターキー、KB キー/ID、ドキュメント ID、または従業員のユーザー名"対象の識別子を正確に指定してください。"
knowledgeBaseTypecreate の場合:はいLOCAL を推奨。推奨だけを理由に変更してはいけませんLOCAL/READONLY/EXTERNAL のいずれか"NocoBase にドキュメントを管理させますか(Local)、外部の PGVector データを読み取らせますか(Readonly)、それとも外部プロバイダーを使用しますか?"
configurationModevector-db の create/update の場合:はいなし。暗黙に選択してはいけませんdirect-cli/ui のいずれか"このベクターデータベース接続では、直接 CLI パラメーターと NocoBase UI のワークフローのどちらを使用しますか?"
payloaddirect-CLI の create/update、または test/prepare-binding の場合:はいユーザーが受け入れた場合に限り、文書化された製品デフォルト値を使用タイプごとに許可されたフィールドと範囲"使用するベクター、KB、検索、またはバインディングの値を指定してください。"
fileupload の場合:はいなし読み取り可能なサポート対象ファイルまたは ZIP。KB は LOCAL である必要があります"どのファイルをどの Local ナレッジベースにアップロードしますか?"
pluginEnableConsent必須プラグインが installed-disabled の場合は必須なし。承認を仮定してはいけません対象のパッケージ名と環境を明示した承認"必須プラグインは <env> でインストールされていますが、無効になっています。今すぐ <package> を有効にして、ナレッジベースの事前確認を続けますか?"
confirmation高リスク操作の場合:はいなし。影響を示した後に、対象を明示した新たな確認が必要です影響を示した後に行う、対象を明示した新たな確認"この破壊的操作または依存関係を変更する操作を正確に確認しますか?"

ルール:

  • 必須入力が不足している場合は、変更操作を中止し、不足している値をユーザーに尋ねます。
  • KB を意図したリクエストではすべて、機能の確認を行う前に最低限必要なエディションを伝えます。
  • ユーザーが「お任せします」と言った場合は、事前確認/調査を実行し、通常の管理対象ドキュメントの用途には LOCAL を推奨します。作成や変更は行いません。
  • 実際の list/get の結果から識別子を特定します。ID やキーを推測してはいけません。
  • ベクターデータベース接続を作成または変更する前に、direct-cli または ui のどちらを使うか、ユーザーに明示的に選んでもらいます。代わりに選択してはいけません。
  • ui の場合は、AI マネージャーに文書化された UI モードのワークフローを使用し、ユーザーによる完了を待ちます。その後、安全なベクターデータベースのフィールドを独立して検証してから続行します。
  • 必須プラグインがインストール済みで無効になっており、プラグイン管理が可能な場合、手動で有効にするよう案内するだけで終えてはいけません。承認を求め、承認後に有効化します。
  • 有効化が拒否された場合は、KB の変更を行う前に中止し、プラグインが無効のままであることを報告します。
  • 通常のアップロード成功、ZIP タスクの送信、再ベクトル化の受付、ヒットテストの結果、完了は、それぞれ異なる結果です。
  • 削除のたびに、その削除対象に対する新たな確認を直前に得てから destroy を実行します。

必須確認ゲート

  • 確認ラウンドの上限:2。
  • 1 ラウンドあたりの質問数の上限:3。
  • 必須プラグインを有効化する前に、正確な環境とパッケージ名を提示し、プラグインの実行時状態が変更されることを説明して、ユーザーから明示的な同意を得てください。
  • 1 つのパッケージを有効化する同意は、他のパッケージを有効化する許可にはなりません。@nocobase/plugin-ai がインストール済みで無効になっており、かつ必要な場合に限り、同じ依頼に含めてください。
  • 同意を得た後は、セーフモードで nocobase-plugin-manage を使用し、プラグイン一覧の読み戻しを必須とし、環境を更新してから、KB API/ACL チェックを再実行してください。同意が得られない場合、または有効化に失敗した場合は、KB の変更を行う前に停止してください。
  • ベクトルデータベースを作成/更新する前に、configurationMode を必須としてください。ui の場合は、KB の機能チェックに合格した後に限り nocobase-ai-manager に引き継いでください。direct-cli の場合は、このスキル内で続行してください。
  • skipTableExistedCheck=true を指定する前に、サーバーの TABLE_ALREADY_EXISTS 応答と、テーブルを再利用することへの明示的な確認を必須としてください。
  • イミュータブルフィールドまたはベクトルの依存関係を変更する前に、該当する場合は停止するか、正確なマイグレーション/検索への影響を提示して確認を得てください。
  • ベクトルデータベース、KB、またはドキュメントを削除するたびに、正確な対象、環境、依存関係、データへの影響、ロールバックの制限を提示し、その削除を実行する直前に改めて確認を得てください。
  • エンタイトルメントの証拠が不明な場合は、正確な KB プラグインがインストール済みかつ有効であり、生成された KB コマンドが動作し、安全な KB 読み取りが成功し、ACL が許可されている場合に限り続行してください。プラグイン、実行時状態、または ACL に関する証拠が不明または矛盾している場合は、変更を行わず停止してください。

ワークフロー

  1. 対象環境を特定し、直ちに次の点を明示します。@nocobase/plugin-ai-knowledge-base には NocoBase Professional Edition 以上が必要です。
  2. エディションと機能の事前確認を読みます。確認可能な場合はライセンスの証拠、インストール済み/有効なプラグインの状態、AI の基本依存関係、ランタイムの更新、生成された kb のヘルプ、安全な読み取りを確認します。
  3. @nocobase/plugin-ai-knowledge-base またはその基本依存関係である @nocobase/plugin-ai がインストール済みで無効になっている場合は、正確なパッケージ名と環境を示し、有効化するかどうかを尋ねます。承認された場合は、nocobase-plugin-manage を action=enable で呼び出し、有効化後の状態を検証し、ランタイムを更新してから事前確認を続けます。拒否された場合、または失敗した場合は、KB を変更せずに停止します。有効化コマンドの実行をユーザーに手動で依頼してはいけません。
  4. 同意に基づいて適用可能な有効化と更新を行ってもランタイム機能が利用できない場合は、LLM、埋め込み、ストレージ、PGVector、KB、ドキュメント、従業員に関する変更を行う前に停止します。根拠の弱い情報から Community Edition だと推測してはいけません。
  5. 現在のベクトルデータベース、ナレッジベース、ドキュメント、ストレージ、および依頼された従業員のコンテキストを調べ、コマンドマップを読みます。
  6. KB のタイプを選択します。通常の管理対象ドキュメントには LOCAL を推奨します。外部で管理される PGVector データに限り READONLY を使用し、プロバイダーが存在する場合に限り EXTERNAL を使用します。
  7. LOCAL/READONLY の場合は nocobase-ai-manager を実行し、有効なサービス、保存済みのチャット専用モデル設定、および別途検出された埋め込みモデルを利用します。LOCAL の場合は、ファイルストレージも解決します。
  8. PGVector の作成/更新では、まず direct-cli または ui の選択を必須とします。ui モードでは、機能確認の通過後に nocobase-ai-manager へ引き継ぎ、ユーザーによる完了まで停止し、その独立した安全なフィールドの読み戻し結果を利用します。direct-cli モードでは、ベクトルデータベースのワークフローに従い、プロバイダーの検出、保護された接続テスト、作成/更新、テーブル再利用のガード、依存関係への影響、安全な読み戻しを実行します。
  9. KB の作成/更新では、ナレッジベースとドキュメントに従います。タイプ別フィールド、不変のキー/ストレージのルール、セグメントのデフォルト、ベクトル変更の影響、書き込みを 1 回だけ行うこと、読み戻しを確認します。
  10. アップロードでは、LOCAL タイプとファイル制約を検証し、マルチパートアップロードを 1 回実行します。その後、ポーリングや完了の断定を行わず、自動バックグラウンド処理が受け付けられたことを報告します。
  11. ドキュメントの vectorization は、独立して依頼された再試行/再構築の場合に限り実行します。ヒットテストは明示的に依頼された場合に限り実行します。どちらもアップロード後に自動で実行してはいけません。
  12. 従業員のバインドでは、AI 従業員のバインドに従います。有効なキー、プロンプト/デフォルト値/範囲の要件を正確に準備し、最終的な書き込みを nocobase-ai-employee に引き継ぎます。
  13. クリーンアップでは、逆依存関係の順序に従い、破壊的な操作ごとに別途あらためて確認を取得します。
  14. 事前確認の証拠、該当する場合は同意とプラグインの有効化後の状態、書き込み、読み戻し、受け付けられた非同期処理、部分的な成功、ロールバックの制限、残っている引き継ぎ事項を分けて報告します。

リファレンス読み込みマップ

リファレンス使用するタイミング備考
エディションと機能の事前確認KB リソース、ドキュメント、検索、またはバインドに関するリクエストの場合。Professional+ の開示、エビデンスの優先順位、状態、続行・停止の判断基準を記載しています。
コマンドマップライセンス、プラグイン、ランタイム、KB、ストレージ、ドキュメント、または引き継ぎのコマンドを選ぶ場合。対象外の項目も記載しています。
ベクトルデータベースPGVector の設定をテストまたは変更する場合。シークレット、テーブルの検証・再利用、依存関係、読み戻しを記載しています。
ナレッジベースとドキュメントKB タイプの選択、KB の作成・更新、アップロード、再試行、テスト、または削除を行う場合。変更不可のフィールド、ファイル制約、バックグラウンド処理の動作、デフォルトを記載しています。
AI 従業員のバインドバインドまたはバインド解除のリクエストを準備する場合。従業員に対する最終的な書き込みは、AI 従業員スキルに委任します。

安全確認

影響の大きい操作とは、以下に挙げる高リスク操作です。

  • ベクトルデータベース、ナレッジベース、ドキュメントのすべての削除。
  • 既存の PGVector テーブルの再利用。
  • ベクトルデータベース、LLM サービス、埋め込みモデル、または外部ベクトルストアの設定の変更。
  • 変更不可の KB キーまたは Local ストレージの変更を試みること。
  • データベースのパスワードまたは vectorStoreProps[].value の開示。
  • パッケージ名と環境を明示した同意なしでのプラグインの有効化。
  • ライセンス未取得、無効、利用不可、矛盾、または不明な機能のエビデンスがあるにもかかわらず続行すること。
  • AI 従業員スキルによる確認なしで、従業員の KB 回答ソースを変更すること。

二次確認のテンプレート:

  • "実行を確認してください:<env> の <resource identifier> に対する <action>。想定される影響:<table/data/retrieval/employee dependency impact>。続行するには confirm と入力してください。"

ロールバックのガイダンス:

  • 作成時の不一致:新規のベクトル/KB オブジェクトを削除するには、改めて別途確認が必要です。
  • 更新時の不一致:機密情報以外の書き込み可能なフィールドを以前の値に戻します。機密情報は再度入力する必要があります。
  • 変更不可のキー/ストレージの変更:パッチを適用せず、新しい KB を作成して明示的に移行する計画を立ててください。
  • アップロード、ZIP タスクの送信、受け付けられたバックグラウンド処理は、取り消せない場合があります。
  • 依存関係によって削除がブロックされた場合:オブジェクトを保持し、ガードを決して回避しないでください。
  • プラグインの有効化に失敗した場合:確認された事後状態を保持し、自動的に無効化したり、際限なく再試行したりしないでください。ロールバックのために無効化する場合も、事前に確認を求めてください。

検証チェックリスト

  • KB の作業を始める前に、Professional+ が最低要件であることを伝えました。
  • 利用資格、プラグインの状態、ランタイムの機能、ACL を個別に報告しました。
  • コマンドが見つからないことやライセンスメタデータだけを根拠に、エディションを推定しませんでした。
  • インストール済みで無効な必須プラグインがある場合、手動での実行だけを指示するのではなく、対象のパッケージと環境を明示して同意を確認しました。
  • 承認された有効化には nocobase-plugin-manage を使用し、その後、ランタイム/API/ACL の確認を再開する前に有効化状態を確認しました。
  • 変更を加える前に、@nocobase/plugin-ai と KB プラグインのランタイム機能を確認しました。
  • 有効化が拒否された場合、または失敗した場合は、KB に変更を加える前に処理を停止しました。
  • 必要な LLM/埋め込みの準備状況は、機能の確認後にのみ使用しました。
  • 保存されたサービスの enabledModels にはチャットモデルのみが含まれ、埋め込みモデルは別に管理されています。
  • 対象の KB タイプと、条件付きのすべてのフィールドが有効です。
  • KB キーと Local ストレージの変更不可要件を適用しています。
  • セグメントのオプションは chunkOverlap < chunkSize を満たしています。
  • ベクトルデータベースの作成/更新ごとに、direct-cli または ui の選択が明示されました。UI モードでは、ユーザーによる完了まで処理を一時停止し、安全なフィールドを独立して読み戻して確認しました。
  • direct-cli で作成/更新する前に、PGVector の接続テストが成功しています。
  • 既存のテーブルの再利用は、TABLE_ALREADY_EXISTS の後、明示的な確認を得てからのみ行っています。
  • ベクトルデータベースまたは KB の作成/更新ごとに、安全なフィールドを読み戻して確認しています。
  • アップロード結果は完了ではなく、受け付け済み/キュー登録済みとして報告しました。対応ファイル/PDF/ZIP の制約も確認しました。
  • 再ベクトル化とヒットテストは、独立して明示的に依頼された場合にのみ実行します。
  • バインドの引き継ぎには、利用可能な機能、有効なキー、プロンプトのプレースホルダー、検索範囲が含まれています。
  • 削除の実行直前に、対象を正確に指定した新たな確認を毎回取得しました。
  • 要約と出力にシークレットを含めていません。
  • 許可されたケースとブロックされたケースを、少なくとも 1 つずつ正しく報告しました。
  • エラー、一部成功、非同期処理に関する不確実性、ロールバックの制限、引き継ぎを区別して報告しました。

最小テストシナリオ

  1. 機能確認の成功:ライセンスが有効、または開発環境で動作しており、プラグインが有効化済みで、KB API が生成され、安全な読み取りがすべて成功する。
  2. 無効なプラグインの有効化に同意:対象環境にインストール済みで無効なパッケージを有効化するか確認し、承認後にプラグイン管理を通じて有効化し、有効化後の状態を確認してからランタイムメタデータを更新し、KB API/ACL の確認を続ける。
  3. 無効なプラグインの有効化に同意しない:無効状態を維持し、KB に変更を加えず、ユーザーにコマンドを手動で実行するよう指示することなく、次の手順がブロックされていることを報告する。
  4. 利用資格が明示的にブロックされる場合:商用プラグインの一覧に KB パッケージがなく、変更も行われない。
  5. 利用資格が不明だがプラグインは動作する場合:ランタイム機能の確認は成功し、エディションは未確認のままで、Professional+ の開示を行ったうえで安全な KB 作業を続行できる。
  6. Local の正常系:ストレージ/LLM/埋め込み/PGVector を準備し、KB を作成し、対応ファイルをアップロードして、ポーリングせずに自動のバックグラウンド処理について報告する。
  7. ベクトル UI モード:機能確認後、UI の手順を AI マネージャーに引き継ぎ、ユーザーが明示的に完了するまで待機し、KB 作業を続ける前にベクトルデータベースの安全なフィールドを確認する。
  8. 無効な更新:KB キーまたは Local ストレージの変更を試み、書き込みが拒否されて移行手順が案内されることを確認する。
  9. 従業員のバインド:有効な引き継ぎ内容を準備し、最終的な切り替え/プロンプト/検索範囲の書き込みを AI 従業員スキルに委任する。
  10. 認証/機能の失敗:401/403 とライセンス/プラグインの不在を区別し、変更を加える前に停止する。
  11. リスクの高いクリーンアップ:ドキュメント、KB、ベクトルデータベースを削除するたびに、それぞれ独立した新たな確認を要求する。

出力契約

最終回答には、以下を含めてください。

  • 対象環境、要求された操作、リソースの種類、識別子
  • 必要な最低エディションとパッケージ名
  • エンタイトルメント、プラグインの操作前状態、有効化への同意/結果、プラグインの操作後状態、ランタイム/API の機能、ACL の証拠
  • 選択したベクトルデータベースの direct-cli または ui モード、および該当する場合は UI での完了と読み戻し
  • 使用した前提条件となる LLM/埋め込み/ストレージ/ベクトルの結果
  • 秘密値を含めずに実行したコマンド
  • 設定の書き込みに対する安全なフィールドの読み戻し
  • アップロード/タスク/再ベクトル化/ヒットテストの結果と非同期処理の境界
  • 該当する場合は従業員のバインド引き継ぎ
  • ガード付き操作、依存関係エラー、部分的な成功、ロールバックの制限、残作業
  • 適用したデフォルトまたは前提

参考資料

コメント