ego (lite) is just a browser, ego is your personal agent across devices.
Join waitlist
Português (Brasil)

Início rápido

Instale o ego lite em cinco minutos e rode sua primeira tarefa de navegador a partir do seu Agent CLI.

llms.txt

Instale o ego lite em cinco minutos e rode sua primeira tarefa de navegador a partir do seu Agent CLI.

Requisitos do sistema

  • macOS 12.0 ou superior
  • Algum destes Agent CLI: Claude Code, OpenAI Codex, Cursor, Continue, Gemini CLI, Hermes Agent, OpenClaw, Opencode

Instalação

Escolha o caminho que te servir melhor.

Baixar o instalador macOS

Clique duas vezes para instalar. No primeiro start, o ego lite procura os Agent CLI instalados na sua máquina e grava a skill ego-browser na pasta de skills de cada um.

Instalar pela linha de comando

No terminal de qualquer Agent CLI:

curl -fsSL https://lite.ego.app/install.sh | sh

O comando instala o navegador ego lite e o helper ego-browser, e registra a skill em todos os Agent CLI que existirem na sua máquina.

Da primeira vez que o ego lite abre, ele faz uma pergunta: quer importar os dados do navegador? Depois selecione o navegador correspondente para confirmar, e logins, cookies, extensões e Profile vão junto, e os agentes podem usar tudo de cara.

Sua primeira tarefa

No Agent CLI, digite / para abrir o seletor de skills, escolha /ego-browser, e descreva a tarefa em linguagem natural:

/ego-browser follow @ego_agent on x.com for me

Depois de carregar o contexto da skill, o agente gera e roda este código:

ego-browser nodejs <<'EOF'
await useOrCreateTaskSpace('follow-ego-agent')
await openOrReuseTab('https://x.com/ego_agent', { wait: true })

await snapshotText()
// O snapshot devolve a página de perfil do @ego_agent — uma SPA com centenas de refs.
// O botão Follow tem accessible name "Follow @ego_agent". Nesta execução, a ref dele é @92.

await click('@92')
await wait(3)  // Três segundos para o X confirmar o follow e re-renderizar

await snapshotText()
// Depois do click, o label do mesmo botão muda de "Follow @ego_agent" para "Following @ego_agent". A ref segue a mesma.

cliLog('Done. @ego_agent followed.')
EOF

Dois pontos merecem atenção:

  • O agente age pela ref que o snapshotText() devolveu (@92), não por seletor CSS. A ref reflete como uma pessoa enxerga o elemento (o accessible name do botão é mesmo "Follow @ego_agent"), então sobrevive a qualquer rodízio de class name que o X aplicar. As refs são atribuídas por snapshot, então o número que você vai ver na prática não é igual ao do exemplo.
  • O agente usa o login do X que veio do seu Chrome. Não precisa fazer login de novo, nem colar cookie, nem passar por OAuth. No primeiro snapshot, o botão Follow já está clicável porque você já está logado.

Acompanhar o agente trabalhando

Quando a tarefa começa, abra o ego lite e clique no painel Space na barra lateral. O Space em execução fica destacado; entre nele para ver o agente operando em tempo real: navegação, scroll, snapshots, extração de dados.

No rodapé da view Space tem dois botões:

  • Assumir (Take over). Tira a aba atual do agente e te entrega para você operar.
  • Parar (Stop). Encerra a tarefa na hora.

Operar uma página

click é só uma das operações por ref. fill, type, pressKey, hover e select funcionam do mesmo jeito: snapshot, escolhe a ref alvo, age sobre ela. Aqui um fluxo de login:

ego-browser nodejs <<'EOF'
await useOrCreateTaskSpace('example-login')
await openOrReuseTab('https://example.com/login', { wait: true })

await snapshotText()
// O snapshot devolve algo assim:
//   @3 [input type="email"]    placeholder="Email"
//   @4 [input type="password"] placeholder="Password"
//   @5 [button type="submit"]  "Continue"

await fill('@3', 'user@example.com')
await fill('@4', 'your-password')
await click('@5')
await waitForLoad()

const tab = await currentTab()
cliLog('Logged in:', tab.url)
EOF

Se você importou os dados do Chrome no onboarding e o Chrome já estava logado nesse site, o openOrReuseTab leva o agente direto para a página autenticada. O snapshot volta com o dashboard em vez do formulário, e o agente pula o preenchimento.

Várias tarefas em paralelo

Cada Space leva o nome que você passou em useOrCreateTaskSpace. Nomes diferentes não brigam entre si, então dá para rodar ao mesmo tempo:

# Claude Code num terminal
ego-browser nodejs <<'EOF'
await useOrCreateTaskSpace('leads-enrichment')
await openOrReuseTab('https://www.linkedin.com', { wait: true })
EOF
# Ao mesmo tempo, o Codex em outro terminal
ego-browser nodejs <<'EOF'
await useOrCreateTaskSpace('qa-regression')
await openOrReuseTab('https://staging.example.com', { wait: true })
EOF

Próximos passos