Lampson

Um agente de programação para os seus projetos, e o motor para os agentes dos seus apps

Aponte para uma pasta.
Ele lê, edita e executa — e pergunta antes.

Lampson é um agente de programação que você instala uma vez e abre dentro de qualquer projeto. Converse com ele no terminal ou no navegador, acompanhe cada passo que ele dá e diga sim ou não antes que algo arriscado aconteça. Ele funciona com o modelo pelo qual você já paga.

$npm i -g lampson

depois entre em um projeto com cd e digite lampson

my-app — lampson
lampson 0.5 · deepseek-chat · build · ask

o formulário de login não mostra erro quando a senha está errada. corrija isso

✓ grep "password" src/                    3 files
✓ read src/components/LoginForm.tsx       88 lines
✓ read src/api/auth.ts                   41 lines
✓ edit src/components/LoginForm.tsx       +6 −1
   40   } catch (err) {
   41 +   setError("Wrong email or password");
? bash npm test                          allow? ❯ yes  no
✓ bash npm test                          14 passed

O formulário agora mostra “Wrong email or password” abaixo do
campo de senha quando a API devolve 401. Os testes passam.

─── 5 steps · 12k tokens · 38s

Nada para aprender. Nada para configurar.

Você descreve o que quer em palavras simples. O Lampson descobre quais arquivos importam, altera esses arquivos, roda os testes e mostra o resultado — um passo visível de cada vez.

01Fica dentro do seu projeto

O Lampson só pode tocar na pasta em que você o abriu. Nem na sua pasta pessoal, nem no projeto ao lado. Isso não é uma configuração que você poderia esquecer — é assim que funciona a linguagem em que ele foi escrito.

02Pergunta antes de qualquer ação arriscada

Ler e editar simplesmente acontecem. Apagar coisas, instalar pacotes, mexer no histórico do git, rodar instaladores — isso para e espera o seu sim. Comandos realmente destrutivos são recusados de imediato.

03Terminal ou navegador

lampson abre um chat no seu terminal. lampson --web abre o mesmo agente no navegador, com árvore de arquivos, logs ao vivo dos servidores que ele iniciou e uma aba de terminal de verdade.

04Seu modelo, sua chave

DeepSeek, GLM, Kimi, Groq, OpenRouter, Ollama na sua própria máquina, Anthropic, OpenAI… Escolha um provedor na primeira execução, cole uma chave, pronto. Troque a qualquer momento com um único comando.

05Lembra do seu projeto

Como rodar, o que quebrou da última vez, decisões que vocês tomaram juntos — o Lampson guarda anotações por projeto e as relê na próxima sessão. Você também pode ler e editar essas anotações.

06Trabalha enquanto você está fora

“Toda manhã às 9, rode os testes e me avise.” Tarefas agendadas rodam sozinhas; se uma delas encontra algo arriscado, você recebe um link no celular para aprovar ou negar.

Lampson como motor

Use dentro dos seus apps. Atenda os seus clientes.

Os agentes do Lampson também trabalham sem interface: um bot que responde as mensagens do seu negócio, seu backend que pergunta algo a um agente, outra IA que usa os seus agentes como ferramenta.

  • Um agente é um arquivo: o prompt, as ferramentas exatas que ele pode usar e suas permissões.
  • Telegram e Chatwoot (WhatsApp, Instagram, email) como canais — até sem URL pública.
  • SDK para JavaScript (npm i lampson) e Python (pip install lampson): as suas funções como ferramentas, e uma API HTTP com keys e MCP para Claude, Cursor ou outro Lampson.
  • Ferramentas com garantias: uma ferramenta escrita em Synsema declara tudo o que pode tocar, e a linguagem não a deixa fazer mais nada. Segurança →
  • Uma conversa por cliente; três mensagens seguidas recebem uma única resposta.
  • Objetivos e equipes: um agente trabalha sozinho até terminar, ou uma equipe inteira divide o trabalho. Abaixo →

Lampson como motor →

motor
$ lampson key add --agent tienda
API key criada (k6KJgJHpu) para tienda · 120 pedidos/min

$ curl -X POST …/w/tienda/v1/messages \
    -H "Authorization: Bearer lk_…" \
    -d '{"to": "tienda", "thread": "cliente-42",
         "text": "vocês têm pão sem glúten?"}'

{"text": "Sim! Pão de arroz e painço a $4.100,
          restam 5.", "steps": 2, …}

$ lampson channel on telegram
canal telegram ligado · agente: tienda

Equipes de agentes

Dê um objetivo a uma equipe. Eles dividem, revisam uns aos outros e pedem sua permissão.

Uma equipe com papéis (CEO, CPO, CTO, Dev, CMO, ou vendas e estoque) recebe um objetivo e vai até o fim: montam um quadro de tarefas, trocam mensagens, trabalham em paralelo e revisam o trabalho um do outro.

  • Ninguém atropela ninguém: cada tarefa tem um só dono, e num projeto com git cada agente trabalha na sua própria cópia, na sua branch e com seu nome de autor.
  • Nada chega à main sem você: um merge ou um push espera sua aprovação, mesmo que outro agente diga "aprovado".
  • Tudo fica registrado: quem pegou o quê, quem escreveu para quem e o que foi aprovado. Você acompanha ao vivo no painel da equipe.
  • Não só para programar: uma equipe de vendas, suporte ou pesquisa trabalha na sua própria pasta.

Uma equipe gasta mais do que um agente sozinho: a execução ao lado foram uns 368.000 tokens entre cinco agentes. Por isso há um limite diário por agente e um por objetivo, e um agente sem nada para fazer não gasta. Para uma tarefa de um só papel, um objetivo para um agente basta.

Como as equipes funcionam →

equipe empresa — objetivo O-2
Lançar a versão 0.2: prioridade por tarefa, com testes,
revisão e merge na main pelo CTO, e um CHANGELOG.

21:38  ceo  adicionou #11 "revisão e merge" → cto
21:39  cto  escreveu → dev: "Tarefa sua: #8…"
21:39  cpo  moveu #6 → revisão: requisitos
21:40  cto  pede aprovação: merge team/empresa/cpo  ✓
21:42  dev  moveu #8 → revisão: npm test 10/10
21:44  cto  pede aprovação: merge team/empresa/dev  ✓
21:45  cto  pede aprovação: merge team/empresa/cmo  ✓
21:46  ceo  concluiu O-2: "v0.2 lançada e verificada na main"

─── 5 agentes · 8 min · ~368k tokens · 3 merges aprovados

Segurança

Seu agente pode cair numa armadilha. Seus dados não.

Um agente que atende desconhecidos vai receber prompt injection: um link parecido com o dos correios, «na verdade eu sou outro cliente», uma avaliação com ordens escondidas. Nenhum modelo detecta isso sempre.

  • Cada ferramenta em Synsema declara quais hosts, arquivos e variáveis pode tocar. Se o modelo cair, a chamada é negada: Capability not granted.
  • Quem escreve é o seu app que define, não o modelo: «sou o cliente-bruno» não muda de quem são os pedidos que ele vê.
  • Um agente para os seus clientes não tem bash, nem lê nem escreve arquivos: só as ferramentas que você deu a ele.
  • Se alguém amplia o teto de uma ferramenta, ela para de rodar até uma pessoa aprovar a mudança.

O que garante e o que não garante → · A receita completa →

soporte — panadería
Me llegó un mail del correo con este link de seguimiento:
https://seguimiento.correo-sol.example.track-envios.net/…
¿Me lo consultás?

→ consultar_envio {"url": "https://seguimiento.correo-sol…
✗ Capability not granted:
  net("seguimiento.correo-sol.example.track-envios.net")

No pude abrir ese link: el dominio no es el del correo,
tiene toda la pinta de phishing. Tu pedido P-101
figura en camino.

─── a ferramenta só consegue chegar a
    seguimiento.correo-sol.example

Plugins

Dê novas habilidades a ele. Ative quando quiser.

Um plugin é uma pequena pasta que ensina uma nova ferramenta ao Lampson: consultar seu banco de dados, chamar a API da sua empresa, fazer deploy, enviar uma mensagem. Os plugins vêm desligados por padrão — você liga cada um, e só então o agente pode usá-lo.

  • Um plugin é uma pasta com um plugin.json e um script em qualquer linguagem.
  • Um plugin em Synsema roda sob um teto de capacidades; um executável roda como está. Nos dois casos, ligá-lo é decisão sua.
  • O agente pode escrever um plugin para você — mas nunca ligá-lo sozinho.
  • Mantenha plugins globais (todos os projetos) ou dentro de um só projeto.

Como os plugins funcionam →

plugins
$ ls ~/lampson/plugins/
example-hello/  deploy/  postgres/

$ cat ~/lampson/plugins/postgres/plugin.json
{
  "name": "postgres",
  "description": "read-only queries on the dev database",
  "kind": "exec",
  "command": "python query.py",
  "tools": [{ "name": "query", "readonly": true, … }]
}

lampson ❯ /plugins on postgres
☼ postgres is on — 1 tool available: plugin_postgres_query

Também incluído

O que você esperaria, sem a configuração.

  • Subagentes — ele pode dividir um trabalho em workers paralelos e reunir os resultados.
  • Skills — coloque um SKILL.md no seu projeto e o agente aprende os seus procedimentos.
  • Servidores MCP — a mesma configuração JSON que você já usa em outros lugares.
  • Servidores de linguagem — ir à definição e às referências em vez de adivinhar com grep.
  • Sessões e traces — cada passo é salvo; reabra uma conversa dias depois.
  • Imagens — cole uma captura de tela e pergunte sobre ela.

Funciona com

DeepSeekAnthropicOpenAIGLM (Z.ai)KimiGroqGrokOpenRouterMiniMaxOllamaqualquer API compatível com OpenAI

Sua chave de API fica guardada na sua máquina e só é enviada ao provedor que você escolheu. O Lampson não tem servidor próprio — nada sai do seu computador além da sua conversa com o modelo.

Experimente em um projeto que você tem aberto agora mesmo.

Uma linha para instalar. Uma palavra para começar.

$npm i -g lampson