Exemplo completo: criar um funcionário de IA integrado
Neste exemplo completo, você criará um funcionário de IA integrado que orienta o desenvolvimento de plugins. O funcionário se chamará Dev Helper e terá uma Tool, uma Skill e um prompt de sistema. Quando o usuário disser “Cumprimente Alice, por favor”, o funcionário carregará a Skill welcome-developer, chamará a Tool greetDeveloper para confirmar o nome e gerará uma saudação no idioma atual do usuário.
- Definir uma Tool no servidor — conheça
defineTools()e a estrutura básica de uma Tool - Definir uma Skill — conheça
SKILLS.mde o vínculo de Tools - Definir um funcionário de IA integrado — conheça
defineAIEmployee()e o diretório do funcionário
Resultado final
Quando estiver pronto, o plugin oferecerá as seguintes capacidades:
- Criar um funcionário de IA integrado chamado
Dev Helper - Vincular automaticamente a Skill
welcome-developerao funcionário - Confirmar o nome do desenvolvedor chamando a Tool
greetDeveloperpor meio da Skill - Gerar uma saudação e uma pergunta de acompanhamento no idioma atual do usuário
Estrutura final de diretórios
Este exemplo não precisa de código no frontend nem de registro manual em src/server/plugin.ts.
Etapa 1: definir a Tool
Crie src/ai/ai-employees/dev-helper/skills/welcome-developer/tools/greetDeveloper.ts:
Etapa 2: definir a Skill
Crie src/ai/ai-employees/dev-helper/skills/welcome-developer/SKILLS.md:
Como greetDeveloper.ts está no diretório tools/ da Skill atual, não é necessário declarar também tools: [greetDeveloper].
Etapa 3: definir o perfil do funcionário de IA
Crie src/ai/ai-employees/dev-helper/index.ts:
username é o identificador único no banco de dados. Não o altere sem necessidade depois da publicação, pois o NocoBase tratará o novo valor como outro funcionário de IA integrado.
Além de permanecer estável, o username não pode ter o mesmo nome de outro plugin ou funcionário de IA existente. Se o banco de dados já contiver o mesmo username, o carregamento do plugin atualizará o registro correspondente em vez de criar um novo funcionário isolado.
Quando o plugin é recarregado, category, nickname, position, avatar, bio, greeting, o prompt de sistema padrão, os vínculos de Skills e Tools, chatSettings e sort definidos no código podem ser gravados novamente no banco de dados. Para plugins de produção, recomenda-se usar um nome com o prefixo do plugin, como developer-helper-dev-assistant.
Etapa 4: definir o prompt de sistema
Crie src/ai/ai-employees/dev-helper/prompt.md:
Com isso, a relação entre os diretórios estabelece os vínculos automaticamente:
Etapa 5: habilitar e verificar
Faça um novo build ou reinicie o serviço de desenvolvimento e confirme se o plugin que contém esses arquivos está habilitado. Depois, verifique na página de administração de funcionários de IA:
- Se
Dev Helperaparece - Se o funcionário está identificado como funcionário integrado
- Se as Skills exclusivas do funcionário incluem
welcome-developer - Se
greetDeveloperfica disponível depois que a Skill é carregada
Digite na conversa:
O fluxo esperado é:
Se você não quiser solicitar confirmação ao usuário antes de cada chamada da Tool, defina defaultPermission: 'ALLOW'. Para Tools que excluem dados, fazem alterações em lote ou causam efeitos colaterais externos, normalmente é melhor manter ASK como padrão.
Resumo
Links relacionados
- Desenvolvimento de plugins para funcionários de IA — entenda a relação entre Tool, Skill e funcionário de IA integrado
- Definir uma Tool no servidor — consulte a configuração completa de
defineTools() - Definir uma Skill — consulte os campos e a sintaxe de
SKILLS.md - Definir um funcionário de IA integrado — consulte
defineAIEmployee()e os vínculos por diretório - Internacionalização de plugins para funcionários de IA — adicione traduções aos textos da interface de administração usados no exemplo

