組み込み AI 従業員の定義
組み込み AI 従業員はプラグインと共に登録されます。プラグインが最初にロードされた際、NocoBase は対応する従業員レコードを作成し、組み込み従業員としてマークします。それ以降のプラグインロード時には、コードに基づいて従業員のデフォルトプロフィール、プロンプト、スキル、およびツールが更新されます。
単一ファイルとディレクトリの2つの形式
プロフィールがシンプルで、独立したプロンプトや専用リソースが不要な場合は、単一ファイルを使用できます:
prompt.md、専用の Skill または専用の Tool が必要な場合は、ディレクトリを使用します:
ディレクトリ形式の方が長期的なメンテナンスに適しています。
defineAIEmployee() の使用
index.ts では、@nocobase/ai が提供する defineAIEmployee() を使用します:
主なフィールドは以下の通りです:
現在の tools の型はオブジェクトの配列です:
autoCall は、現在の AI 従業員による CUSTOM Tool の呼び出し権限をオーバーライドするためにのみ使用されます。GENERAL および SPECIFIED Tool の場合、実行時は引き続き Tool 自身の defaultPermission が優先されます。CUSTOM Tool に従業員レベルの設定がない場合も、Tool 自身の defaultPermission にフォールバックします。
ディレクトリ内で自動的に検出された Tool は、{ name: 'toolName' } に正規化されます。
長いプロンプトを prompt.md に配置する
AI 従業員をディレクトリ形式で作成する場合、システムプロンプトを同階層の prompt.md に配置できます:
prompt.md が存在する場合、index.ts 内の systemPrompt を上書きします。長いプロンプトを Markdown ファイルに記述することで、レビューが容易になり、TypeScript のテンプレート文字列におけるエスケープの問題を回避できます。
組み込み AI 従業員の例:Nathan
packages/plugins/@nocobase/plugin-flow-engine/src/ai/ai-employees/nathan/index.ts の従業員プロフィールは非常に簡潔です:
Nathan の完全な能力は、同一ディレクトリ内の他のリソースから得られています:
ロードプロセスによって、以下の3層のバインディングが自動的に完了します:
tools/内のファイルが Tool として登録される- Tool が
frontend-developerSkill に自動的にバインドされる - Skill が Nathan に自動的にバインドされる
そのため、index.ts で一連の skills や tools を重複して列挙する必要はありません。
関連リンク
- AI 従業員プラグイン開発 — 組み込み AI 従業員と Tool、Skill の関係について
- Skill の定義 — 従業員専用の Skill を作成する
- 完全な例:組み込み AI 従業員の作成 — 完全な従業員ディレクトリと登録プロセスを確認する
- AI 従業員プラグインの国際化 — 従業員プロフィールと Tool、Skill の文言におけるローカライズの違いについて

