Só eu
Instale um binário, suba um servidor local e abra seu agente. O servidor escuta em 127.0.0.1:49374, então nada de fora desta máquina consegue acessá-lo e ele não precisa de token.
Instale o binário
O mise baixa o arquivo da release para o seu SO e processador e confere com o arquivo
.sha256publicado. Não precisa de toolchain Rust nem de Docker.Terminal mise use -g github:akitaonrails/ai-memoryCrie o diretório de dados e suba o servidor
initsó cria o diretório de dados.serveprecisa ficar rodando, então dê um terminal só para ele. Ele escuta apenas nesta máquina e não precisa de token.Terminal ai-memory init ai-memory serve --transport http --bind 127.0.0.1:49374Abra seu agente por ele
A primeira abertura de um harness instala os hooks e a entrada MCP dele, se estiverem faltando. Abrir o
claudedireto continua funcionando depois.Terminal ai-memory run claude
Instale o pacote
O pacote
-biné um binário pré-compilado para x86_64 ou aarch64. Os dois pacotes trazem uma unit de usuário e uma unit de sistema para o systemd.Terminal yay -S ai-memory-bin # binário pré-compilado para Linux x86_64/aarch64 yay -S ai-memory # compila a partir do código-fonteCrie o diretório de dados
Terminal mkdir -p ~/.config/ai-memory ~/.local/share/ai-memory ai-memory --data-dir ~/.local/share/ai-memory \ --config ~/.config/ai-memory/config.toml initInicie o serviço de usuário
Não precisa de sudo, e todo o estado fica no seu diretório home. A seção de serviços cobre a unit de sistema e como continuar rodando depois do logout.
Terminal systemctl --user enable --now ai-memory.serviceAbra seu agente por ele
Terminal ai-memory run claude
Baixe e extraia
Este arquivo é para Apple Silicon. Em um Mac Intel, troque
aarch64porx86_64. Um download pelo navegador precisa dexattr -d com.apple.quarantine ./ai-memoryuma vez. Um download por curl não precisa.Terminal mkdir -p ~/Applications/ai-memory && cd ~/Applications/ai-memory curl -fsSL -O https://github.com/akitaonrails/ai-memory/releases/latest/download/ai-memory-macos-aarch64.tar.gz tar -xzf ai-memory-macos-aarch64.tar.gzCrie o diretório de dados e suba o servidor
Deixe o
serverodando neste terminal. Com o agente launchd, ele passa a subir no login.Terminal ./ai-memory init ./ai-memory serve --transport http --bind 127.0.0.1:49374Configure seu agente em um segundo terminal
Deixe o binário extraído onde está, porque os comandos dos hooks apontam para esse caminho.
Terminal cd ~/Applications/ai-memory ./ai-memory install-hooks --agent claude-code --apply ./ai-memory install-mcp --client claude-code --apply
Instale o script wrapper
O wrapper é um shell script pequeno que vai para
~/.local/bin/ai-memory. O README tem o script de instalação, que confere o download com o arquivo SHA-256 antes de instalar. Copie de lá.Suba o servidor
A imagem cobre
linux/amd64elinux/arm64. Em um host com Podman, troquedockerporpodman. O wrapper usa Podman rootless sozinho quando o Docker não está instalado.Terminal docker run -d --name ai-memory \ --restart unless-stopped \ -p 127.0.0.1:49374:49374 \ -v ai-memory-data:/data \ docker.io/akitaonrails/ai-memory:latestConfigure seu agente
Depois disso, abra o Claude Code como sempre. Este caminho tem um limite: os hooks em shell do wrapper não aplicam as regras de captura
ignore_pathspor repositório. O binário nativo aplica.Terminal ai-memory install-mcp --client claude-code --apply ai-memory install-hooks --agent claude-code --apply
Decida onde seu agente roda
Um agente aberto dentro do WSL2 precisa do ai-memory dentro do WSL2. Esse caminho é suportado e é igual ao da aba Docker: instale o wrapper a partir do README no seu shell do WSL2. Com Docker Desktop, habilite antes a integração com WSL para a distro.
Suba o servidor dentro do WSL2
Terminal docker run -d --name ai-memory \ --restart unless-stopped \ -p 127.0.0.1:49374:49374 \ -v ai-memory-data:/data \ akitaonrails/ai-memory:latestConfigure seu agente, também dentro do WSL2
O Windows nativo é experimental. Ele tem um zip da release com o
ai-memory.exe, um wrapper de Docker em PowerShell e uma receita de serviço com WinSW. O guia de Windows tem os três.Terminal ai-memory install-mcp --client claude-code --apply ai-memory install-hooks --agent claude-code --apply

ai-memory run é o launcher recomendado, e é opcional. Ele configura um harness na primeira abertura e adiciona a retomada nativa de sessão entre harnesses. Só os hooks já levam o handoff, então abrir seu agente direto continua funcionando. Leia como funciona a abertura gerenciada.
Confira se está funcionando
Três checagens, da rede até o agente.
O servidor responde
Um erro JSON-RPC é a resposta certa. Quer dizer que a porta está acessível e o servidor está respondendo.
curl http://127.0.0.1:49374/mcp
A CLI chega nele
A CLI é um cliente HTTP fino. Se este comando imprimir um status, os hooks também conseguem chegar no servidor.
ai-memory status
O agente lembra
Trabalhe por alguns minutos, saia e abra uma segunda sessão no mesmo diretório. Então pergunte:
“Onde a gente parou?”
Depois do primeiro agente
Os três são opcionais. Faça quando precisar.
Adicione outro agente
Rode os mesmos dois comandos com outro nome. Os dois agentes passam a compartilhar uma única memória de projeto.
ai-memory install-mcp --client codex --apply
ai-memory install-hooks --agent codex --apply
Opcional: resumos melhores com um LLM
Sem provedor, captura, busca e resumos baseados em regras funcionam sem custo nenhum. Um provedor reescreve as páginas de sessão como narrativas legíveis. Defina estas duas variáveis no ambiente do servidor (flags -e no Docker, ~/.config/ai-memory/env no serviço de usuário do systemd) e reinicie.
AI_MEMORY_LLM_PROVIDER=anthropic
ANTHROPIC_API_KEY=sk-ant-...
Compare os provedores, incluindo assinaturas e modelos locais
Desfazer tudo
Isto remove só o que o ai-memory instalou. Os comandos de instalação são idempotentes, e cada um grava um backup com timestamp ao lado de qualquer arquivo em que mexe.
ai-memory uninstall --apply
Meu time
Um servidor que todas as máquinas e todos os colegas de time acessam. Não existe replicação entre servidores: memória compartilhada quer dizer que todo mundo se conecta no mesmo.

Suba o servidor compartilhado com um token
Escolha uma máquina do homelab ou qualquer host da LAN. Um servidor que escuta fora do loopback precisa de um bearer token e de uma allowlist de hosts. A allowlist tem todos os nomes ou IPs que suas máquinas usam para chegar nele.
no servidor TOKEN=$(ai-memory generate-auth-token) docker run -d --name ai-memory \ --restart unless-stopped \ -p 0.0.0.0:49374:49374 \ -v ai-memory-data:/data \ -e AI_MEMORY_AUTH_TOKEN="$TOKEN" \ -e AI_MEMORY_ALLOWED_HOSTS="<server-ip>,localhost,127.0.0.1" \ akitaonrails/ai-memory:latestCrie as pessoas
Rode isto com o token de root exportado. A senha temporária é impressa uma vez, e a pessoa troca no primeiro login. Este comando não emite chave de API. O guia de usuários cobre a identidade root em
[auth].Terminal ai-memory user add-human --username alice --email alice@home --name "Alice Smith"Dê uma chave de API para cada pessoa
O segredo
aim_é mostrado uma única vez.ai-memory api-key rotate <id>eai-memory api-key revoke <id>têm efeito imediato.Terminal ai-memory api-key add --username alice --label codex-laptopAponte cada máquina para o servidor
Cada pessoa usa a própria chave como token. Ela fica em um arquivo
0600no diretório de dados e não aparece na linha de comando dos hooks.--as-usersó rotula a instalação.em cada laptop # TOKEN aqui é a chave aim_ desta pessoa, não o token de root export AI_MEMORY_SERVER_URL="http://<server-ip>:49374" export AI_MEMORY_AUTH_TOKEN="$TOKEN" ai-memory install-mcp --client claude-code --apply ai-memory install-hooks --apply --agent claude-code \ --as-user alice --auth-token aim_XGq...<secret>Adicione TLS antes de sair da LAN
Um bearer token autentica a requisição e não a criptografa. Chaves e cookies da web trafegam em texto puro sobre HTTP simples, então coloque Caddy, nginx ou um Cloudflare Tunnel na frente assim que existirem contas ou o servidor for acessível fora da sua mesa.
Travou em algum passo?
O cookbook de instalação no GitHub tem os comandos por agente, servidores remotos e Windows. O issue tracker está aberto.