# Instalação da agência de IA — Marcelo Miranda (Score da Vida)

Este arquivo é para o Claude Code do computador novo. Ele conduz a instalação junto com o Joe.

## Para o Claude que está lendo

- A agência roda na **VPS**. O computador só serve para entrar nela e conduzir os passos.
- Faça uma etapa de cada vez e confirme o resultado antes de seguir.
- Comandos com login, QR Code ou aprovação no navegador são feitos pelo Joe ou pelo Marcelo. Avise e espere.
- Fora do escopo: SDR, prospecção, conversa automática no direct e disparo em massa pelo WhatsApp. Não crie nada disso.
- Não coloque chaves nem dados do cliente no repositório da matriz. Eles ficam em `/etc/agencia/cliente.env` e `/root/central`.
- Se algo falhar em `/opt/agencia`, **não altere o código lá dentro**. Copie o erro para o Joe levar ao Claude dele. A correção entra na matriz, numa versão nova, e chega com `atualizar.sh`.
- A instalação só foi testada em container, sem ligar os serviços. WhatsApp, Instagram e vídeo reais estão sendo testados pela primeira vez aqui, então confira cada um.

## Onde estamos

| Item | Situação |
|---|---|
| Conta nova do Claude | Feito |
| Claude Code no computador | Feito |
| Codex no computador, com conta paga | Feito |
| Matriz no GitHub privado (`YehoshBR/agencia-ia-matriz`, versão `v1.0.0`) | Feito |
| Contratar a VPS | **Próximo passo** |
| Instalar a agência na VPS | Falta |
| Login do Claude e do Codex **dentro da VPS** | Falta |
| WhatsApp e os 3 grupos | Falta |
| Aplicativo na Meta e Instagram | Falta |
| Conta da ElevenLabs | Falta |
| Cérebro de marca | Falta |
| Testes reais | Falta |

Os logins feitos no computador não valem para a VPS. Lá, cada um é feito de novo, uma vez.

## O que separar antes

- Celular com o WhatsApp do número que a agência vai usar
- Login do Instagram do Marcelo, em conta profissional
- Login do Facebook que vai criar o aplicativo na Meta
- Conta da ElevenLabs com a chave de acesso
- E-mail para o certificado do site
- O @ do Instagram do Marcelo

---

## Etapa 1 — Chave de acesso deste computador (5 min)

**Claude novo:** gere uma chave para entrar na VPS e mostre a parte pública. No Windows, adapte o caminho de `~`.

```sh
ssh-keygen -t ed25519 -N "" -C "computador-marcelo" -f ~/.ssh/agencia_vps
cat ~/.ssh/agencia_vps.pub
```

## Etapa 2 — Contratar a VPS (15 min)

**Joe**, na conta dele da Hostinger:

- Plano com 2 núcleos, 8 GB e 100 GB (deve ser o KVM 2). Se o Marcelo for editar vídeo todo dia, 4 núcleos e 16 GB.
- Sistema: **Ubuntu 24.04 limpo**, sem painel nem aplicativo pré-instalado.
- Local: Brasil, se tiver opção.
- Cole a chave pública da Etapa 1 no campo de chaves SSH.
- **Deixe a renovação automática ligada.**

Anote o IP da VPS.

## Etapa 3 — Passar o IP para o Claude do Joe (10 min)

**Joe:** mande o IP para o Claude da conta dele e peça:

> A VPS do Marcelo está pronta, o IP é X. Cria o `midia.marcelomirandamvp.com.br` apontando pra ela e gera a chave de manutenção desse cliente.

Ele devolve a **chave pública de manutenção**, usada na Etapa 5.

## Etapa 4 — Baixar a matriz na VPS (10 min)

**Claude novo:** entre com `ssh -i ~/.ssh/agencia_vps root@IP` e rode:

```sh
apt-get update -qq && apt-get install -y -qq git tmux
ssh-keygen -t ed25519 -N "" -C "vps-marcelo-leitura" -f /root/.ssh/id_ed25519
ssh-keyscan github.com >> /root/.ssh/known_hosts
cat /root/.ssh/id_ed25519.pub
```

**Joe:** passe essa chave para o Claude dele cadastrar no repositório como **chave somente leitura**. Quando ele confirmar:

```sh
git clone git@github.com:YehoshBR/agencia-ia-matriz.git /opt/agencia
git -C /opt/agencia checkout v1.0.0
mkdir -p /etc/agencia
cp /opt/agencia/cliente.exemplo.env /etc/agencia/cliente.env
chmod 600 /etc/agencia/cliente.env
```

## Etapa 4B — Matriz também no computador (5 min)

O computador fica com a própria cópia da matriz e continua entrando na VPS.

**Não use o login da conta do GitHub do Joe neste computador** (`/login/device`). A chave abaixo dá acesso só à matriz, e só para leitura.

**Claude novo:** mostre a chave da Etapa 1 com `cat ~/.ssh/agencia_vps.pub`.

**Joe:** passe essa chave para o Claude dele cadastrar como **chave somente leitura**, junto com a da VPS. Quando ele confirmar, rode no computador (no Windows, use o Git Bash):

```sh
export GIT_SSH_COMMAND="ssh -i ~/.ssh/agencia_vps -o IdentitiesOnly=yes -o StrictHostKeyChecking=accept-new"
git clone git@github.com:YehoshBR/agencia-ia-matriz.git ~/agencia-ia-matriz
cd ~/agencia-ia-matriz
git config core.sshCommand "$GIT_SSH_COMMAND"
git checkout v1.0.0
mkdir -p ~/.claude/skills
cp -r skills/* ~/.claude/skills/
```

Para atualizar o computador depois (troque `vX.Y.Z` pela versão nova):

```sh
cd ~/agencia-ia-matriz && git fetch --tags && git checkout vX.Y.Z && cp -r skills/* ~/.claude/skills/
```

O que funciona em cada lugar:

| Onde | O que faz |
|---|---|
| Computador | Conversar com o Claude, usar a skill `humanizer`, consultar a matriz e entrar na VPS |
| VPS | Edição de vídeo, carrossel, agendamento, comentários e WhatsApp |

As skills `edicao-de-video` e `cerebro-de-marca` apontam para pastas da VPS. No computador, peça ao Claude para rodar esses trabalhos lá, com `ssh -i ~/.ssh/agencia_vps root@IP`.

Nada de chaves ou dados do cliente nesta pasta: eles continuam só na VPS.

## Etapa 5 — Preencher os dados do cliente (5 min)

Em `/etc/agencia/cliente.env`:

| Campo | Valor |
|---|---|
| `CLIENTE_NOME` | `"Marcelo Miranda"` |
| `MARCA_NOME` | `"Score da Vida"` (confirmar com o Joe) |
| `PERFIL_NOME` | `"Marcelo Miranda"` |
| `IG_ARROBA` | o @ do Marcelo |
| `COR_FUNDO`, `COR_TEXTO`, `COR_DESTAQUE` | manter o preto e dourado do modelo; ajustar se o Joe pedir |
| `MIDIA_DOMINIO` | `midia.marcelomirandamvp.com.br` |
| `EMAIL_SSL` | o e-mail separado |
| `MANUTENCAO_CHAVE_PUB` | a chave da Etapa 3, entre aspas |
| `ELEVENLABS_API_KEY` | a chave da ElevenLabs, só com a permissão Speech to Text |

Deixe em branco os campos de WhatsApp e Instagram. O WhatsApp é preenchido sozinho, e o Instagram entra na Etapa 10.

## Etapa 6 — Instalar (20 a 40 min)

Confira se o endereço já aponta para a VPS: `getent ahostsv4 midia.marcelomirandamvp.com.br`.

Rode em segundo plano, para não perder se a conexão cair:

```sh
tmux new -d -s instalar 'bash /opt/agencia/instalar.sh 2>&1 | tee /root/instalar.log'
```

Acompanhe com `tail -5 /root/instalar.log`. Terminou quando aparecer **"Instalação concluída"**.

Se aparecer "Sem certificado ainda", espere o endereço propagar e rode o instalador de novo. Ele pode ser repetido sem estragar nada.

## Etapa 7 — Logins dentro da VPS (10 min)

**Joe, no terminal dele**, porque precisa de aprovação no navegador:

```sh
ssh -i ~/.ssh/agencia_vps root@IP
claude auth login --claudeai
claude auth status
codex login --device-auth
```

Use as contas novas: a do Claude e a do Codex pago.

## Etapa 8 — Conectar o WhatsApp (5 min)

Rode `wa-conectar`. Ele mostra um link com o QR Code, que vence em menos de 1 minuto. Se vencer, rode de novo.

**Marcelo ou Joe:** leia pelo WhatsApp do número da agência, em Aparelhos conectados. Depois rode `wa-conectar --apagar`.

Nesse número, **nada de disparo em massa**: ele não usa a API oficial e pode ser restringido.

## Etapa 9 — Criar e ligar os grupos (10 min)

No celular, crie 3 grupos: **Assistente**, **Posts** e **Vídeos**.

Só entram pessoas de total confiança, porque quem está no grupo pode mandar o Claude agir na VPS.

```sh
wa-grupos
wa-grupos ligar assistente CODIGO@g.us
wa-grupos ligar posts CODIGO@g.us
wa-grupos ligar videos CODIGO@g.us
```

Teste mandando "oi" em cada grupo.

## Etapa 10 — Aplicativo na Meta e Instagram (30 a 60 min)

**Os dois perfis usam o arquivo `INSTAGRAM-DOIS-PERFIS.md`. Siga ele em vez desta etapa.** O texto abaixo vale só para instalar com um perfil.

**Joe**, em developers.facebook.com:

1. Crie um aplicativo novo no caso de uso da **API do Instagram com login do Instagram**.
2. Ative estas permissões:
   - `instagram_business_basic`
   - `instagram_business_content_publish`
   - `instagram_business_manage_comments`
   - `instagram_business_manage_messages`
3. Adicione a conta do Marcelo e gere o token. Ele começa com `IGAA`.
4. Passe ao Claude novo o token e o ID do aplicativo do Instagram.

**Claude novo:** descubra o ID da conta:

```sh
curl -s "https://graph.instagram.com/v21.0/me?fields=user_id,username&access_token=TOKEN"
```

Preencha `IG_APP_ID`, `IG_ACCESS_TOKEN` e `IG_USER_ID` (é o `user_id`) em `/etc/agencia/cliente.env` e aplique:

```sh
bash /opt/agencia/atualizar.sh --so-aplicar
agencia-status
```

O token é renovado sozinho toda semana. Se falhar, chega aviso no grupo Assistente.

## Etapa 11 — Cérebro de marca (1 a 2 h)

**Joe:** peça ao Claude dele:

> Manda pra VPS do Marcelo as transcrições, o resumo geral e o logo do Score da Vida.

Ele envia as transcrições e o resumo para `/root/central/01_marca/fontes/` e o logo para `/root/central/01_marca/identidade/logo.png`.

**Claude novo:** dentro da VPS, em `/root/central`:

1. Rode a skill `cerebro-de-marca` usando as fontes. Ela cria `kit-da-marca.md`, `regras-de-voz.md` e `dna-da-marca.md` em `01_marca/cerebro/`.
2. Preencha `01_marca/briefing.md` e `01_marca/posicionamento.md`.
3. Passe os textos pela skill `humanizer`, mantendo a voz do Marcelo.

Tese central da marca: **"CNPJ forte começa com CPF forte"**.

## Etapa 12 — Testes reais (1 h)

| Teste | Como fazer | Passou se |
|---|---|---|
| Estado geral | `agencia-status` | Nenhum "ATENÇÃO" |
| Carrossel | Pedir um no grupo Posts | Chegam os slides na identidade dele |
| Agendamento | Agendar esse carrossel para daqui a poucos minutos | Publica no Instagram e avisa no grupo |
| Vídeo | Mandar um vídeo curto no grupo Vídeos | Volta cortado e legendado |
| Comentários | Ver abaixo | Resposta pública e uma mensagem privada |
| Manutenção | Claude do Joe entra na VPS e roda `agencia-status` | Entra e mostra o estado |

Teste de comentários:

```sh
ig-palavra criar TESTE --dm "Mensagem de teste" --publica "Te mandei no direct"
ig-palavra testar
```

Comente `TESTE` num post do Marcelo usando uma conta **sem nenhum papel no aplicativo da Meta**. A automação verifica a cada minuto. Depois rode `ig-palavra apagar TESTE`.

**Ponto a confirmar:** se só contas com papel no aplicativo receberem a mensagem, o aplicativo precisa ser publicado na Meta, o que pode exigir política de privacidade e análise deles. O resto da agência funciona enquanto isso.

## Etapa 13 — Entrega

- [ ] Renovação automática da VPS ligada
- [ ] Só pessoas de confiança nos grupos
- [ ] QR Code apagado (`wa-conectar --apagar`)
- [ ] Chave da Etapa 1 removida de `/root/.ssh/authorized_keys`, se o computador não for continuar acessando
- [ ] Contrato com autorização de acesso para manutenção e LGPD
- [ ] Uso do plano do Claude medido na primeira semana
- [ ] Uso da VPS medido na primeira semana, principalmente na edição de vídeo

## Comandos úteis na VPS

| Comando | Função |
|---|---|
| `agencia-status` | Mostra se tudo está de pé |
| `wa-conectar` | Reconecta o WhatsApp |
| `wa-grupos` | Lista e liga os grupos |
| `produzir-carrossel` | Gera fotos, slides e prancha |
| `ig-palavra listar` | Mostra as palavras-chave ativas |
| `cc` | Abre o Claude numa sessão que continua aberta |
| `bash /opt/agencia/atualizar.sh` | Instala a versão mais nova da matriz |
| `bash /opt/agencia/atualizar.sh v1.0.0` | Volta para uma versão anterior |
