Executando verificação de segurança...
1

[PITCH] Estou criando um Framework de Agentes de IA local para Bun porque cansei do LangChain

Salve, pessoal.

Recentemente, me deparei com uma barreira que acredito que vai se tornar cada vez mais comum no nosso mercado: a delicadeza de processar dados sensíveis com LLMs de terceiros.

Empresas (especialmente Enterprise) estão barrando o envio de dados de clientes para a OpenAI/Anthropic por questões de compliance e sigilo. A solução óbvia é rodar modelos locais (Llama 3, Mistral, Qwen), que estão ficando absurdamente bons e eficientes.

Mas quando fui tentar montar uma stack robusta para isso no ecossistema JavaScript, a experiência foi frustrante.

Os problemas que encontrei:

  1. A complexidade do "Simples": Implementar sistemas básicos, como fazer o parsing de um PDF ou indexar imagens no contexto (RAG), exige uma "cola" de código enorme. Você acaba lutando mais com conversores de arquivos e bancos vetoriais do que com a regra de negócio.
  2. O Peso do LangChain: Ele é incrível, mas para o cenário de Bun/Local, ele traz uma sobrecarga gigante. Eu queria performance bare-metal, sem abstrações desnecessárias que aumentam o cold start.
  3. A falta de facilidade de API: No Python, temos o Agno (antigo Phidata), onde você cria um agente e expõe uma API com uma linha. Eu queria essa mesma experiência de desenvolvedor (DX) no JS/TS.

A Solução: Monan (WIP)

Decidi criar o Monan, um framework otimizado especificamente para o Bun. A filosofia é similar ao que o ElysiaJS fez para servidores web: aproveitar ao máximo a performance nativa do runtime.

O que ele resolve de cara:

  • Privacidade First: Otimizado para rodar com Ollama e modelos locais. Seus dados não saem da sua máquina/servidor.
  • Batteries Included: O parsing de arquivos e a indexação vetorial (usando bun:sqlite nativo) já vêm embutidos. Nada de subir containers Docker só para ter um banco de vetores.
  • API Instantânea: Assim como no Agno, você define o agente e roda um comando CLI para ter uma API REST completa pronta para consumo.

Como funciona na prática:

import { Agent } from 'monan';

// Definição simples e tipada
export const assistant = new Agent({
  name: "PrivateBot",
  model: 'qwen3-vl:8b', // Roda local
  description: "Analista de contratos confidenciais"
});

// Precisa testar?
// $ monan test agent.ts

// Precisa virar API?
// $ monan run agent.ts --port 3000

Estou construindo isso em público e o projeto está em fase Alpha. Se você também sente falta de uma ferramenta que una a performance do Bun com a facilidade de criação de Agentes Locais, convido a testar e colaborar.

🔗 Repositório: https://github.com/Monan-AI/monan-sdk

Qualquer feedback sobre a API ou sobre a arquitetura interna é muito bem-vindo!

Carregando publicação patrocinada...
1

Empresas (especialmente Enterprise) estão barrando o envio de dados de clientes para a OpenAI/Anthropic por questões de compliance e sigilo

Dependendo do seu contrato com o provider os dados não são usados para treinamento.

Rodar local demanda muito mais investimentos para ter um hardware parrudo, a conta não fecha...

1

De fato não fecha, se quiser usar em larga escala, mas se for o caso de requisições simples, você consegue rodar o agente na máquina do próprio usuário, reduzindo o custo de requisições como "traduza isso", "pesquise x coisa", compare y com z".

Quem vai procurar esse tipo de solução, é uma empresa em que de jeito nenhum pode compartilhar dados, independente de usar para treinamento ou não, como hospitais, ou projetos que envolvem dados de processos internos.

Mas também não vejo problemas em implementar um sistema que conexão com o Open Router e um mascarador de PII nativo.