Полный пример: создание встроенного ИИ-сотрудника
Ниже приведён полный пример встроенного ИИ-сотрудника, который помогает начать разработку плагинов. В примере сотрудник называется Dev Helper; для него настроены Tool, Skill и системный промпт. Когда пользователь говорит «Поприветствуй Alice», сотрудник загружает Skill welcome-developer, вызывает Tool greetDeveloper, чтобы подтвердить имя, а затем формирует приветствие на текущем языке пользователя.
- Определение серверного Tool — основная структура
defineTools()и Tool - Определение Skill —
SKILLS.mdи привязка Tool - Определение встроенного ИИ-сотрудника —
defineAIEmployee()и каталог сотрудника
Итоговый результат
После завершения плагин будет предоставлять следующие возможности:
- Создавать встроенного ИИ-сотрудника с именем
Dev Helper - Автоматически привязывать к сотруднику Skill
welcome-developer - Проверять имя разработчика, вызывая Tool
greetDeveloperчерез Skill - Формировать приветствие и следующий вопрос на текущем языке пользователя
Итоговая структура каталогов
Для этого примера не нужен фронтенд-код или ручная регистрация в src/server/plugin.ts.
Шаг 1. Определите Tool
Создайте src/ai/ai-employees/dev-helper/skills/welcome-developer/tools/greetDeveloper.ts:
Шаг 2. Определите Skill
Создайте src/ai/ai-employees/dev-helper/skills/welcome-developer/SKILLS.md:
Поскольку greetDeveloper.ts находится в каталоге tools/ текущего Skill, указывать tools: [greetDeveloper] отдельно не нужно.
Шаг 3. Определите профиль ИИ-сотрудника
Создайте src/ai/ai-employees/dev-helper/index.ts:
username — уникальный идентификатор в базе данных. Не меняйте его без необходимости после публикации, иначе NocoBase воспримет новое значение как другого встроенного ИИ-сотрудника.
username должен не только оставаться стабильным, но и не совпадать с именами из других плагинов или существующих ИИ-сотрудников. Если в базе данных уже есть такой username, при загрузке плагина соответствующая запись будет обновлена, а не создан отдельный сотрудник.
При повторной загрузке плагина в базу данных могут быть перезаписаны значения category, nickname, position, avatar, bio, greeting, системного промпта по умолчанию, привязок Skill и Tool, chatSettings и sort. Для готового плагина рекомендуется использовать имя с префиксом плагина, например developer-helper-dev-assistant.
Шаг 4. Определите системный промпт
Создайте src/ai/ai-employees/dev-helper/prompt.md:
Теперь связи между каталогами настроены автоматически:
Шаг 5. Включите и проверьте
Пересоберите или перезапустите службу разработки и убедитесь, что плагин с этими файлами включён. Затем проверьте на странице управления ИИ-сотрудниками:
- Отображается
Dev Helper - Сотрудник помечен как встроенный
- Среди собственных Skill сотрудника есть
welcome-developer - После загрузки Skill доступен
greetDeveloper
Введите в диалоге:
Ожидаемый процесс:
Если Tool не должен запрашивать подтверждение пользователя перед каждым вызовом, задайте defaultPermission: 'ALLOW'. Для Tool, которые удаляют данные, вносят массовые изменения или вызывают внешние побочные эффекты, обычно лучше сохранить значение ASK.
Краткие итоги
Связанные ссылки
- Разработка плагинов для ИИ-сотрудников — связи между Tool, Skill и встроенным ИИ-сотрудником
- Определение серверного Tool — полная конфигурация
defineTools() - Определение Skill — поля и структура
SKILLS.md - Определение встроенного ИИ-сотрудника —
defineAIEmployee()и привязка по каталогам - Интернационализация плагина ИИ-сотрудника — переводы текстов интерфейса управления из примера

