Reddit e RSS sem navegador: o Hermes lê comunidades e feeds a partir de qualquer servidor

É noite de quarta-feira e estás a redigir o relatório semanal. «O que está a comunidade a dizer, de facto, sobre aquele novo framework?» — gostarias mesmo de saber. E depois cai a ficha: se o Hermes corre num servidor, o Reddit está praticamente morto a partir daquela IP — o site atira-te um muro de «Prove your humanity», os endpoints .json respondem 403 e todas as voltas e reviravoltas vão dar ao mesmo beco sem saída. Com o RSS não é muito melhor: ou instalas um leitor, ou pões-te a escrever um parser à mão para meia dúzia de dialetos XML. Todo aquele canal de informação fica às escuras e a «investigação» passa a ser um jogo de adivinhas. Duas bundled skills que chegaram ao ramo main do Hermes a 5 de setembro de 2026 resolvem exatamente isto: a rss-feeds converte feeds RSS/Atom/JSON numa única lista limpa e ordenada por data, e a reddit-reading lê o Reddit sem navegador e sem conta — ambas viajam com o agente, zero instalação, zero configuração.
O que são estas duas skills, em palavras simples
No Hermes, as skills são manuais de operação que vivem na cabeça do agente: quando surge uma situação relevante, o agente carrega o manual e segue os passos. As duas recém-chegadas são bundled skills — vêm com o Hermes e funcionam de imediato, ao contrário das optional skills, que precisam primeiro de um comando de instalação.
- rss-feeds: lê os formatos RSS 2.0, RSS 1.0/RDF, Atom e JSON Feed e devolve uma lista limpa do mais recente para o mais antigo (título, link, data de publicação UTC, autor, resumo). Só biblioteca standard — nada para instalar. Dá-lhe o URL de uma página normal e ela consegue até descobrir o feed escondido atrás dessa página.
- reddit-reading: lê listagens de subreddits, pesquisa em todo o site e dentro de subreddits, threads completas com comentários e atividade de utilizadores. Não publica, não vota nem faz login por ti — é estritamente só de leitura.
Os casos de uso escrevem-se sozinhos: sentimento da comunidade («o que está o r/LocalLLaMA a dizer sobre este modelo?»), monitorização de releases através do releases.atom do GitHub, e transformar os dez sites que «consultas todos os dias» num único resumo agendado.
RSS: de «instalar um leitor» a «é só perguntar»
Falas com o Hermes em linguagem simples — sem sintaxe de comandos para decorar:
«Que versões é que este repositório do GitHub lançou recentemente?» «Resume os últimos artigos em https://simonwillison.net/» «Envia-me todos os dias às 9 da manhã os novos artigos de arXiv cs.CL.»
Nos bastidores, a skill executa um pequeno script de apoio. Aponta-o para qualquer feed RSS/Atom/JSON — ou para uma página inicial simples — e ele descobre o feed por ti:
python3 scripts/feed.py read https://github.com/NousResearch/hermes-agent/releases.atom --limit 5
python3 scripts/feed.py read https://simonwillison.net/ # page URL → feed auto-discovered
python3 scripts/feed.py read URL --since 2026-09-01 --json # only entries newer than a date
python3 scripts/feed.py discover https://example.com/ # list candidate feed URLs on a page
Cada entrada devolve title / link / published (UTC) / author / summary — o HTML é removido, os resumos ficam limitados a 2000 caracteres e tudo é ordenado do mais recente para o mais antigo. A skill conhece de cor os padrões mais comuns de URLs de feeds:
| O que queres | URL do feed |
|---|---|
| Releases / commits / tags do GitHub | https://github.com/OWNER/REPO/releases.atom, …/commits/BRANCH.atom |
| Um subreddit | https://www.reddit.com/r/NAME/.rss |
| Um canal do YouTube | https://www.youtube.com/feeds/videos.xml?channel_id=UC… |
| Hacker News | https://hnrss.org/frontpage, https://hnrss.org/newest?q=term |
| Artigos do arXiv | https://rss.arxiv.org/rss/cs.CL |
| Substack / Medium / WordPress / Ghost | site /feed, medium.com/feed/@user, etc. |
Há dois pormenores que valem o seu peso em ouro. Primeiro, para resumos agendados usa --since para ir buscar apenas o que é mais recente do que a tua última verificação — guarda o último valor de published da execução anterior e volta a passá-lo da próxima vez, e obténs deduplicação natural sem voltar a raspar a página inteira (encaixa na perfeição com a automação de cron do Hermes). Segundo, os resumos dos feeds vêm muitas vezes truncados ou só com o primeiro parágrafo — para o artigo completo, entrega o link de uma entrada ao web_extract.
Reddit: legível a partir de uma IP de servidor, sem login
Provavelmente já experimentaste: a partir de uma VPS, reddit.com/…/.json devolve 403, e o mesmo acontece com api.reddit.com e old.reddit.com; fazer spoofing do User-Agent de um navegador continua a dar 403; até proxies ao estilo do r.jina.ai e ferramentas de navegador esbarram num muro de humanidade «bloqueado pela segurança de rede». O Reddit fecha quase todas as portas não autenticadas às IPs de datacenter — exceto os seus próprios feeds públicos de Atom. É esse o backend por predefinição da reddit-reading: os endpoints .rss do Reddit, anónimos e sem login, à custa de um throttle apertado (aproximadamente um pedido por minuto por IP) e de dados mais pobres (publicação + comentários de primeiro nível, sem pontuações).
Precisas de leituras mais frequentes ou mais completas (por exemplo, monitorização contínua de um subreddit)? Há uma atualização gratuita e opcional: regista uma app do tipo «script» na página de definições de apps do Reddit e mete os dois valores em ~/.hermes/.env:
REDDIT_CLIENT_ID=...
REDDIT_CLIENT_SECRET=...
Há um mal-entendido comum que merece uma nota clara: isto é registo de app, não um login de utilizador. O script usa apenas o grant client_credentials, só de app — nunca o teu nome de utilizador, palavra-passe ou cookies do navegador, e nunca age em teu nome. Com os dois valores definidos, passa automaticamente para a API OAuth (~100 pedidos por minuto, comentários aninhados, pontuações, contagem de comentários); se faltarem ou forem rejeitados, volta a cair nos feeds anónimos. Lado a lado:
| Anónimo (por predefinição) | Credenciais de app OAuth | |
|---|---|---|
| Configuração | nada | registo gratuito de app, dois valores em .env |
| Limite de pedidos | ~1 pedido / minuto / IP | ~100 pedidos / minuto |
| Dados do thread | publicação + comentários de primeiro nível, sem pontuações | comentários aninhados, pontuações, contagem de comentários |
| Age como utilizador | não | não |
Mais uma vez, a linguagem natural é a interface principal («o que é que o r/LocalLLaMA tem andado a dizer?»); os comandos por baixo são assim:
python3 scripts/reddit.py doctor # active backend + rate-limit window
python3 scripts/reddit.py sub LocalLLaMA --sort hot --limit 15
python3 scripts/reddit.py search "hermes agent" --sub LocalLLaMA --sort new
python3 scripts/reddit.py thread <post-url> --limit 40 # post + comment tree
python3 scripts/reddit.py user spez --limit 10
Se ainda não corriste doctor nesta sessão, corre-o primeiro — ele diz-te qual é o backend ativo e quantos segundos faltam na janela anónima, para não planeares uma sessão de pesquisa de cinco pedidos que vá colidir com o throttle (o modo anónimo permite cerca de um pedido por minuto; num 429, o script espera que a janela passe e volta a tentar uma vez).
«O que andam as pessoas a dizer sobre X?»: uma pergunta, cinco frentes
Cada skill é útil por si só; a química está na combinação. Ambas foram ligadas à cadeia de pesquisa do Hermes — a grounded-citations e a competitor-news-monitor passaram a listá-las como skills relacionadas. O resultado: quando perguntas «o que andam as pessoas a dizer sobre X neste momento?», o Hermes espalha a pergunta por várias frentes — pesquisa web, discussão no Reddit, feeds, vídeo, código — e cita cada afirmação com o link original (o permalink de um thread, não a página da listagem), para poderes clicar e verificar. Comparada com a pesquisa que se limita à web, esta varredura multiplataforma é muito menos provável de falhar o que uma comunidade está realmente a dizer.
Conhece as limitações antes de te apoiares nisto
- Estritamente só de leitura: a reddit-reading não publica, não vota, não envia mensagens nem faz nada que exija um login de utilizador. Fazer o Hermes escrever no Reddit é outra história, fora do âmbito desta skill.
- Não lutes contra os 403: a partir de IPs de datacenter,
.json/api.reddit.com/old.reddit.comsão becos sem saída e o spoofing de UA não te salva; or.jina.aitambém está bloqueado. Fica-te pelo canal predefinido da skill. A via Wayback dablocked-page-recoverysó consegue recuperar threads antigos arquivados — não consegue ir buscar os recentes. - O throttle é propositado: o limite anónimo de ~1 pedido/min é uma regra do Reddit; o script espera que a janela passe, mas se precisares de leituras sustentadas de alto volume (monitorização, dezenas de pedidos), regista as credenciais de app gratuitas em vez de insisteres nas tentativas.
- Mantém o segredo fora do chat:
REDDIT_CLIENT_SECRETvive apenas no.env, lido a partir do ambiente — nunca o cole numa conversa nem num log. - Estado da release: as duas skills foram integradas no
maina 5 de setembro de 2026 — depois da v0.21.0 (lançada a 31 de agosto) — por isso estão atualmente disponíveis apenas nomaine seguirão na próxima release; o updater do Hermes transporta as bundled skills consigo. Para as experimentares hoje, corre uma instalação que acompanhe omainmais recente.
Conclusão
«Ler a comunidade» costumava ser uma das coisas mais difíceis de fazer a partir de um agente alojado num servidor — o Reddit ergue muros a cada esquina, e o RSS significava inventar a roda de novo. Agora ambas são skills de instalação zero que viajam com o agente: o RSS cobre a amplitude (GitHub, HN, arXiv, blogs, podcasts), o Reddit cobre a profundidade (subreddits, pesquisa, threads, utilizadores), e a varredura de pesquisa com ramificação automática e citações por afirmação significa que manter o dedo no pulso da indústria pode finalmente ser entregue por inteiro. E se já te apoias nos canais de pesquisa gratuitos do Hermes, esta combinação web-mais-comunidade-mais-feeds fecha o ciclo da recolha de informação do dia a dia.