0

Pitch: Crie seu primeiro pacote para o ThinkIac utilizando IA

Uma das propostas do ThinkIac é permitir que qualquer pessoa amplie as capacidades da plataforma sem precisar modificar seu núcleo.

Você pode criar aplicativos, interfaces, ferramentas para agentes, rotas HTTP e até estruturas próprias de banco de dados, tudo através de pacotes independentes.

Neste tutorial, vamos criar nosso primeiro pacote: um aplicativo simples de notas, com armazenamento persistente e integração com agentes de IA.

E o interessante: vamos construir tudo conversando com o agente do Shell.

1. Instale o ThinkIac

Acesse o repositório ThinkIac/ThinkIac no GitHub e siga as instruções de instalação.

Após iniciar a plataforma, configure seu provider e modelo preferido utilizando OpenRouter ou OpenAI.

Com tudo funcionando, abra o Shell.

Diferentemente dos tutoriais anteriores, não precisaremos instalar nenhum pacote adicional. Vamos desenvolver o nosso.

2. Entenda como funcionam os pacotes

O ThinkIac possui um núcleo modular chamado Lógos, responsável por descobrir, validar e integrar pacotes ao ambiente de execução.

Os pacotes ficam no diretório /packages do workspace e podem adicionar diferentes capacidades à plataforma:

  • Views: interfaces visuais que podem aparecer no Shell.
  • Tools: ferramentas que agentes de IA podem executar.
  • Routes: endpoints HTTP para comunicação externa.
  • Events e Hooks: comunicação entre componentes e pacotes.
  • Database: modelos próprios de persistência, integrados ao Scriba.
  • Settings: configurações e integrações exibidas na plataforma.

O objetivo é que cada pacote seja independente, mas consiga compartilhar capacidades através dos contratos do Lógos.

Por exemplo, um pacote de notas pode disponibilizar uma interface para você escrever manualmente e, ao mesmo tempo, uma ferramenta para agentes criarem notas através de linguagem natural.

3. Crie seu primeiro pacote

Vamos começar com um aplicativo chamado Minhas Notas.

Nosso aplicativo deverá permitir criar, consultar, editar e excluir notas, além de oferecer uma interface visual para gerenciamento.

Abra o Shell e envie:

Crie um pacote chamado minhas-notas no diretório /packages, seguindo os contratos e padrões existentes do ThinkIac.

Funcionalidades:

  • Criar, listar, editar e excluir notas.
  • Cada nota deverá possuir título, conteúdo e datas de criação e atualização.
  • Persistir os dados utilizando o Scriba e os recursos de banco de dados do Lógos.
  • Criar uma interface visual simples, moderna e responsiva, seguindo o padrão visual do ThinkIac.
  • Adicionar um item "Minhas Notas" ao menu lateral esquerdo do Shell.
  • Disponibilizar ferramentas para agentes criarem, consultarem e editarem notas.
  • Publicar eventos quando uma nota for criada, atualizada ou excluída.

Arquitetura:

Utilize os contratos existentes para registrar views, rotas, tools, hooks e banco de dados.

Centralize as operações de negócio em um serviço compartilhado, evitando duplicação de lógica entre interface, rotas e ferramentas de agente.

Inspecione os pacotes e a documentação existentes antes de implementar. Não invente contratos ou APIs.

Restrinja operações ao usuário ou workspace autorizado e valide os dados recebidos.

Validação:

Crie os arquivos necessários, valide o pacote e execute testes de persistência e integração.

Apresente os resultados antes de publicar os novos recursos no runtime.

O agente deverá analisar a estrutura do ThinkIac, criar os arquivos necessários e integrar o aplicativo ao ambiente.

Você não precisa definir manualmente toda a arquitetura, mas continua podendo inspecionar e modificar o código gerado.

4. Abra seu novo aplicativo

Após a validação e publicação, o pacote deverá disponibilizar uma nova opção chamada Minhas Notas no menu lateral esquerdo do Shell.

Abra o aplicativo e experimente criar sua primeira nota.

Por exemplo:

Título: Ideias para meu projeto

Conteúdo: Criar uma plataforma de atendimento utilizando agentes especialistas e automações baseadas em eventos.

Salve a nota, feche o aplicativo e abra novamente.

Se a persistência estiver funcionando, o conteúdo continuará disponível.

O armazenamento é gerenciado pelo Scriba, de acordo com o schema e a configuração de isolamento do pacote.

5. Utilize o aplicativo através de IA

Agora vem a parte interessante.

Nosso pacote não precisa funcionar apenas pela interface visual. Como também registramos ferramentas no Lógos, podemos disponibilizar suas funcionalidades aos agentes.

Volte ao Shell e experimente:

Crie uma nota chamada "Próximas melhorias" e registre três ideias: integrar Telegram, criar um calendário inteligente e automatizar tarefas recorrentes.

O agente deverá identificar a ferramenta disponibilizada pelo pacote, executá-la e armazenar a nota.

Você também pode experimentar:

Liste minhas cinco notas mais recentes e resuma os principais assuntos.

Ou:

Encontre minha nota sobre Telegram e acrescente uma ideia de integração com atendimento automático.

Essas operações dependem das tools implementadas e das permissões concedidas ao agente.

Importante: ferramentas não devem ser disponibilizadas indiscriminadamente a todos os especialistas. Conceda acesso apenas às operações necessárias, especialmente quando envolverem escrita, exclusão ou dados particulares.

6. Evolua seu pacote sem começar do zero

Agora que temos um aplicativo funcionando, vamos adicionar mais uma funcionalidade.

O ThinkIac permite que um pacote evolua sem precisar modificar o núcleo da plataforma.

No Shell, envie:

Evolua o pacote minhas-notas adicionando a possibilidade de fixar notas importantes.

Utilize os mecanismos existentes de extensão de schema do Scriba, quando apropriado.

Adicione uma opção de fixar ou desafixar notas na interface.

Exiba as notas fixadas antes das demais.

Disponibilize ferramentas específicas para consultar e modificar esse estado.

Preserve todas as notas existentes e valide a compatibilidade da alteração com os dados armazenados.

Não modifique arquivos do núcleo do ThinkIac.

O Scriba oferece suporte a fragmentos de schema, permitindo compor modelos de dados a partir de arquivos declarativos.

Isso ajuda a manter a evolução dos pacotes organizada sem precisar reconstruir toda a aplicação.

7. Conecte seu pacote a outros recursos

Uma das características mais interessantes do ThinkIac é a comunicação entre pacotes através dos eventos reconhecidos pelo Lógos.

No nosso aplicativo, podemos emitir eventos como notes:created, notes:updated e notes:deleted.

Esses nomes são uma proposta para o pacote que acabamos de construir, não eventos preexistentes do núcleo.

Com o pacote Flows instalado, podemos utilizar esses eventos para disparar automações.

Por exemplo:

  • Quando uma nota for criada, classificá-la automaticamente por assunto.
  • Quando uma nota for atualizada, gerar um pequeno resumo.
  • Quando uma nota receber determinada categoria, criar uma tarefa no pacote Tasks.
  • Quando uma nota importante for criada, notificar um canal do Telegram.

Nenhuma dessas integrações precisa ser colocada diretamente dentro do aplicativo de notas.

O pacote apenas publica os eventos. Outros pacotes podem reagir a eles, de acordo com as automações configuradas.

Essa é uma das principais vantagens da arquitetura componível.

8. Compartilhe seu pacote

Depois de testar e validar tudo, você pode colocar o código do pacote em um repositório Git.

Como o pacote está organizado separadamente no workspace, outros usuários poderão instalá-lo em suas próprias instâncias do ThinkIac, seguindo os procedimentos de revisão, instalação e publicação.

Inclua um README com as funcionalidades, dependências, permissões necessárias e instruções de instalação.

Antes de publicar, revise o código e certifique-se de não incluir credenciais, bancos locais, arquivos de sessão ou informações privadas.


Conclusão

Começamos com um aplicativo simples de notas, mas acabamos construindo algo maior:

  • Uma interface integrada ao Shell.
  • Um modelo próprio de persistência.
  • Ferramentas utilizáveis por agentes de IA.
  • Rotas e serviços reutilizáveis.
  • Eventos que permitem integrar outras automações.

Tudo dentro de um pacote independente, sem precisar alterar o núcleo do ThinkIac.

A proposta é justamente essa: novas capacidades podem ser criadas, combinadas e reutilizadas como peças de um mesmo ambiente operacional.

E o aplicativo de notas é apenas um exemplo. A mesma abordagem pode ser utilizada para construir CRMs, sistemas de atendimento, painéis administrativos, aplicações internas ou ferramentas especializadas para agentes.

Repositório: ThinkIac/ThinkIac

Referência técnica: consulte a seção "Seu primeiro pacote: notas" no README, que apresenta um exemplo utilizando Scriba, hooks, rotas HTTP e tools.

Carregando publicação patrocinada...