- TypeScript 63.8%
- HTML 33.3%
- Shell 2.9%
|
|
||
|---|---|---|
| console | ||
| deploy | ||
| radar | ||
| supervisor | ||
| .env.example | ||
| .gitignore | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
Radar SOXX
Feed de notícias B2B de semicondutores ligado a uma lista de empresas, com um Console de chat (Claude Agent SDK) que controla o Radar.
Rodar
npm install
npm start
- Console (chat): http://127.0.0.1:3000
- Radar (produção): http://127.0.0.1:3100
- Prévia de mudanças de código: http://127.0.0.1:3101 (só quando o chat sobe uma)
Tudo escuta só em 127.0.0.1.
Como as peças se encaixam
| Processo | Pasta | Papel |
|---|---|---|
| supervisor | supervisor/ |
Mantém os outros de pé, publica versões do Radar, volta versão se a nova não responder |
| radar | radar/ |
Coleta RSS a cada 5 min, triagem (Haiku) e resumo (Opus) só dos itens novos, API e página |
| console | console/ |
Chat com o Agent SDK e ferramentas para controlar o Radar |
O Radar em produção roda de .releases/<sha>/, uma cópia congelada de um commit. A pasta radar/
é a área de trabalho onde o chat edita código.
Três níveis de mudança pelo chat
- Dados (tickers, fontes, notícias): API do Radar, validada. Vale na hora.
- Visual (layout, tema, cores, ordenação, CSS fino): config
viewvalidada por schema, com histórico e desfazer. - Código: o chat edita
radar/, roda tipos e testes, sobe a prévia; você aprova;radar_publishfaz commit, troca a versão e checa a saúde, voltando sozinho se falhar. A aba Versões do Console permite voltar a qualquer versão.
O chat não consegue escrever em console/, supervisor/, .releases/, data/ nem .env (bloqueio por hook do SDK).
Comandos de terminal sempre pedem sua permissão.
Autenticação
Sem ANTHROPIC_API_KEY, chat e coleta usam o login do Claude Code desta máquina (assinatura).
Para usar chave de API, cole-a em Configurações no Console e escolha "Chave de API" para o chat e/ou a coleta.
Para trocar a conta da assinatura: rode claude num terminal e use /login.
Dados
data/radar.db (SQLite) guarda notícias, tickers, fontes e configurações. data/console-session.json guarda a conversa.