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.com são becos sem saída e o spoofing de UA não te salva; o r.jina.ai também está bloqueado. Fica-te pelo canal predefinido da skill. A via Wayback da blocked-page-recovery só 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_SECRET vive 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 main a 5 de setembro de 2026 — depois da v0.21.0 (lançada a 31 de agosto) — por isso estão atualmente disponíveis apenas no main e 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 o main mais 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.