Space
A área de trabalho paralela onde o agente corre tarefas web dentro do ego lite.
Um Space é uma área de trabalho paralela que o ego lite reserva para um agente de IA. O agente abre páginas, lê-as, clica, preenche formulários e descarrega ficheiros dentro do seu Space, enquanto você continua a trabalhar nos seus separadores. Os dois lados partilham o mesmo processo do browser ego lite, mas nenhum interrompe o outro.
O que é, e o que não é
Um Space é:
- Uma área de trabalho paralela dentro do mesmo processo do browser ego lite.
- Um BrowserContext isolado por tarefa, com cookies e storage próprios.
Um Space não é:
- Não é uma nova janela do browser nem outro Profile do Chrome.
- Não é Chrome headless nem renderização fora do ecrã.
- Não é uma sessão de browser na nuvem — os dados ficam todos na sua máquina.
Porque é que existe o Space
Quando se quer que um agente conduza um browser real, a resposta habitual é iniciar uma instância de Chromium dedicada por tarefa (headless, ou com cópia do Profile). O user-data-dir do Chrome está normalmente bloqueado a um único processo, por isso reaproveitar as sessões reais em várias sessões em simultâneo significa ou disputar o lock ou copiar o Profile para uma pasta temporária.
O Space segue outro caminho: todas as tarefas do agente partilham o processo principal do ego lite, e cada uma recebe o seu BrowserContext nativo para cookies e storage — enquanto a infraestrutura do browser e as sessões já existentes são reutilizadas.
Um teste em paralelo com seis tarefas que apenas abrem about:blank:
| Abordagem | Memória adicional | Processos adicionais | Arranque em paralelo |
|---|---|---|---|
| Instâncias separadas + cópia de Profile | ~15 GB | ~84 | ~2,5 s |
| Space do ego lite | ~0,9 GB | ~6 | ~0,6 s |
Os números servem para ilustrar o modelo de recursos, não como benchmark preciso. O custo real depende da complexidade das páginas, das extensões, dos scripts do site e do grau de paralelismo.
O que pertence a um Space
Use um Space sempre que precise de um browser real, de uma sessão real ou de interação com ficheiros:
- Dashboards autenticados, espaços pessoais, páginas de encomendas, documentos privados.
- Tudo o que envolva clicar, escrever, navegar entre páginas, filtrar, fazer upload ou download.
- Reaproveitar as sessões já presentes no ego lite, em vez de fazer login outra vez.
- Tarefas que depois quer rever — que páginas foram visitadas, o que foi feito.
Para informação puramente pública, uma pesquisa web tradicional é mais leve.
Como você e o agente trabalham em conjunto
Enquanto trabalha no seu Space, o agente não rouba a sua página atual, o rato nem o foco. Pode continuar a navegar, ou entrar no Space sempre que quiser ver o progresso.
Um fluxo típico:
- Você descreve uma tarefa web no Codex, Claude Code, Cursor ou outro agente.
- O agente usa o
ego-browserpara escrever código que conduz o browser e abre o site alvo no Space. - O agente lê um Snapshot e executa ações.
- Em passos que precisam de si — captcha, login por código QR, confirmação de pagamento — o agente pausa e espera que assuma.
- Depois de assumir, o agente retoma.
- Quando a tarefa acaba, os separadores ficam no Space para análise posterior.
Sessões iniciadas
Para sites em que já está autenticado no ego lite, o agente normalmente vai direto à página pós-login — não precisa reimportar cookies.
O agente deve, no entanto, parar e devolver o controlo nestes casos:
- Códigos SMS ou e-mail, login por QR code, chaves de segurança.
- Pagamentos, encomendas, transferências, reembolsos.
- Publicar, apagar, arquivar, ou qualquer alteração em massa difícil de reverter.
- Autorizar uma aplicação de terceiros a aceder à conta.
Também pode definir os limites logo no início, por exemplo "só leitura, não alterar" ou "pára antes de submeter para eu confirmar".
Várias tarefas em simultâneo
Um Space pode acomodar várias tarefas em simultâneo, cada uma com os seus separadores, cookies e storage. O useOrCreateTaskSpace(name) reutiliza ou cria um espaço pelo nome, e o restante do script corre lá dentro:
ego-browser nodejs <<'EOF'
const task = await useOrCreateTaskSpace('describe your task')
await openOrReuseTab('https://example.com', { wait: true, timeout: 20 })
cliLog(await snapshotText())
await click('button.primary', { label: 'click the submit button' })
EOF
As refs de página não são partilhadas entre tarefas. Após uma navegação, submissão de formulário, troca de separador ou re-render dinâmico, volte a tirar um snapshot — ver Snapshot.
Instalação e ativação
Vai junto com o ego lite — ver Início rápido.
Se já usa um agente com suporte a Skills, pode instalar a skill em separado:
npx skills add github:CitroLabs/ego-lite/skills/ego-browser
Perguntas frequentes
Um Space afeta a página que estou a ver?
Não. O agente trabalha dentro do Space; os seus separadores, foco e rato não são tocados.
Os separadores fecham-se quando a tarefa termina?
Não. O Space mantém-nos abertos para que possa verificar o que aconteceu.
Quando é que não preciso de Space?
Se está apenas a pesquisar informação pública ou a resumir uma página pública, sem precisar de login nem de interagir — uma pesquisa web normal serve melhor.