[Limitação do princípio] Por que o openclaw_youtube ainda não consegue fazer o tipo de “gatilho por comentário em qualquer vídeo” da B 站

Até 2026-03-18, eu já verifiquei basicamente até o fim o que dá para fazer por este caminho usando a API oficial. Vou direto à conclusão: se o objetivo é ser como o Bilibili, em que um bot consegue descobrir comentários de gatilho em qualquer vídeo do YouTube, então automaticamente resumir o vídeo, combinar com legendas e depois postar um comentário, contando apenas com a API oficial do YouTube Data API v3 isso basicamente não dá para fazer.

Não é porque o YouTube não permite comentar, nem porque o OAuth não funcione, e sim porque o passo mais crucial: descobrir o comentário de gatilho, a API oficial não fornece uma capacidade utilizável.

Qual é o efeito que queremos alcançar

O objetivo é bem claro:

  • A conta A ou uma conta de bot consegue funcionar em qualquer vídeo do YouTube
  • A forma de gatilho pode ser @fixcolar, ou uma palavra de ativação fixa, por exemplo “coco combine com as legendas e resuma este vídeo”
  • Uma vez que o gatilho é acionado, o sistema automaticamente obtém o vídeo, comentários e contexto
  • Se houver legendas, injeta as legendas no LLM
  • Por fim, essa conta volta automaticamente à seção de comentários desse vídeo e posta um comentário

A razão pela qual o plugin do Bilibili funciona é que ele não está “varrendo a seção de comentários do vídeo”, e sim lendo o fluxo de mensagens de @ / fluxo de respostas da própria conta. Desde que, em qualquer vídeo do site, alguém te @, o Bilibili coloca isso no fluxo de mensagens, então o plugin consegue funcionar de forma cruzada entre vídeos.

No YouTube, o gargalo está exatamente nesse passo.

Por que a solução via API oficial não funciona

1. commentThreads.list não dá para consultar por “autor do comentário”, e não existe um feed global de mentions

Documentação oficial:

Os filtros principais disponíveis em commentThreads.list são basicamente estes:

  • videoId
  • allThreadsRelatedToChannelId
  • id

Ou seja, no máximo você consegue:

  • Consultar as threads de comentários de um vídeo
  • Consultar as threads de comentários relacionadas a um canal
  • Consultar por um thread id conhecido

Ele não consegue fazer estas coisas:

  • Consultar “em quais vídeos uma conta comentou recentemente”
  • Consultar “em que lugar do site alguém me @”
  • Consultar “em que lugar do site apareceu minha palavra de ativação”

Isso significa: contando só com essa API, você só consegue vigiar canais fixos ou vídeos fixos; não dá para fazer “gatilho em qualquer vídeo”.

2. comments.list também não permite consultar histórico por autor

Documentação oficial:

Os filtros principais suportados por comments.list são:

  • id
  • parentId

Ele é mais do tipo “eu já sei o commentId, por favor traga este comentário ou as respostas dele”, e não “ajude-me a encontrar o que essa pessoa comentou recentemente”.

Então ele também não resolve o problema de “descobrir comentários de gatilho em qualquer vídeo”.

3. activities.list?mine=true também não salva

Documentação oficial:

Intuitivamente, a ideia que parece mais próxima seria: dá para pegar o feed de atividades da própria conta?

Mas a documentação é bem clara:

  • O tipo comment “not currently returned”
  • activities.list does not currently return resources for new comments

Ou seja, o feed de atividades da própria conta não serve para obter de forma estável “em qual vídeo eu acabei de comentar”.

4. O Push Notification oficial também não envia eventos de comentário

Documentação oficial:

Esse mecanismo de push envia mudanças no feed do canal; no fundo, continua girando em torno de atualizações de conteúdo do canal, não de um fluxo de eventos de comentários/mentions.

Então ele também não substitui a “descoberta de comentários em todo o site”.

5. Notificações de comentário por Gmail são instáveis; só dá para considerar como caminho alternativo, não serve como caminho principal

Ajuda oficial:

Na ajuda oficial, inclusive, há um aviso específico:

consecutive comments on a video may not lead to notifications for each

Ou seja: comentários consecutivos podem não gerar notificação para cada um. Usar e-mail como cadeia principal de gatilho inevitavelmente vai perder eventos.

O que isso significa

A parte em que a API oficial ainda é útil

A API do YouTube não é completamente inútil; na segunda metade ela tem valor:

  • Com o vídeo conhecido, dá para postar comentário de nível superior: commentThreads.insert
  • Com o parent comment conhecido, dá para postar resposta: comments.insert
  • Dá para obter metadata do vídeo
  • Com yt-dlp, ainda dá para capturar legendas existentes de vídeos públicos

Ou seja:

“Descobrir comentários” não dá, mas “enviar comentários” é viável.

O que realmente falta é a primeira metade

O que falta é:

  • Descobrir em quais vídeos a conta A acabou de deixar comentários
  • Descobrir onde, no site inteiro, alguém @ o bot
  • Descobrir se apareceu um comentário com palavra de ativação em qualquer vídeo

Sem esse passo, todo o plano de “gatilho global como no Bilibili” não se sustenta.

Então como entender o posicionamento atual da versão API do openclaw_youtube

Se olharmos apenas o caminho da API oficial, ele é mais adequado para estes cenários estreitos:

  • Monitorar comentários recebidos no próprio canal
  • Monitorar comentários em um canal fixo / vídeo fixo
  • Responder automaticamente quando se conhece commentId / videoId
  • Quando o usuário solicita explicitamente “combinar com legendas”, injetar legendas públicas

Mas ele não é adequado para este objetivo:

  • Em qualquer vídeo, @fixcolar aciona
  • Em qualquer vídeo, eu mesmo postar “coco combine com as legendas e resuma este vídeo” aciona

Então continuar empilhando parâmetros na Data API oficial tem pouco sentido. Não é um problema de esforço de engenharia; é que a própria API não fornece esse tipo de capacidade de descoberta.

Quais são as soluções “por fora” daqui para frente

As direções abaixo não são fantasia; são as rotas que, no momento, ainda têm chance real de virar algo implementável.

Opção 1: Script do Tampermonkey / extensão do navegador para acionar ativamente

Esta é a opção que eu mais considero promissora no momento.

Como fazer:

  • Você abre qualquer página de vídeo do YouTube
  • O script do Tampermonkey ou a extensão lê diretamente o videoId da página atual
  • Você clica em um botão, ou o script usa um prompt fixo embutido, como “resuma este vídeo combinando com as legendas”
  • O front-end envia videoId + prompt para um serviço local
  • O back-end obtém as legendas, roda o LLM e depois usa a API para comentar

Vantagens dessa rota:

  • Não precisa descobrir “onde eu comentei”
  • Não depende de o YouTube mandar ou não notificações
  • A página só é responsável por acionar, não por postar o comentário de verdade
  • Postar o comentário de verdade ainda pode ser feito via API oficial, com maior estabilidade

Se mais adiante a ideia for “em qualquer página de vídeo eu clico uma vez e ele posta automaticamente um comentário de resumo”, esta rota é a mais confiável.

Opção 2: Navegador logado fazendo polling no YouTube Studio / página de notificações

Esta rota é mais parecida com um substituto do fluxo de mensagens do Bilibili.

Como fazer:

  • A máquina mantém um profile de navegador já logado no YouTube
  • A extensão ou um processo em background lê periodicamente a página de comentários do YouTube Studio, a página de notificações ou a página de mentions
  • Faz parsing para extrair novos eventos de comentários / menções / respostas
  • Entrega os eventos encontrados ao OpenClaw e usa a API oficial para responder

Vantagens:

  • Consegue se aproximar da experiência de “em qualquer vídeo, um @ aciona”

Desvantagens:

  • No fundo é automação de página web, custo de manutenção alto
  • Mudanças no layout podem quebrar
  • Estado de login, antifraude e CAPTCHA são mais trabalhosos do que a API oficial

Opção 3: Entrega semi-manual de comment link / commentId

Este é o jeito mais “tosco”, mas o mais estável.

Como fazer:

  • Você mesmo primeiro posta um comentário de gatilho em qualquer vídeo
  • Depois joga manualmente o link do comentário ou o commentId para o bot
  • O bot, com isso em mãos, segue o fluxo no back-end para responder / resumir / injetar legendas

Não é elegante, mas é o jeito mais rápido de fazer a metade de “gerar conteúdo do comentário” funcionar.

Opção 4: Arquitetura híbrida

Na prática, essa é uma arquitetura de longo prazo bem realista:

  • No lado da descoberta, usar caminhos não oficiais como página no navegador, Tampermonkey, extensões, página de notificações do Studio
  • No lado da execução, continuar usando a API oficial para postar comentários de nível superior ou respostas

Ou seja:

  • A primeira metade depende do contexto da página web
  • A segunda metade depende da API oficial

Esta é, no momento, a rota mais defensável do ponto de vista de engenharia.

Conclusão nesta fase

Acho que essa conclusão precisa ser dita claramente, para evitar continuar queimando tempo na direção errada:

  • Se o openclaw_youtube insistir em “usar apenas a Data API oficial”, ele só consegue virar um bot de comentários para canal fixo / vídeo fixo
  • Se o objetivo é “gatilho em qualquer vídeo como no Bilibili”, é preciso abandonar a hipótese de “descoberta puramente via API”
  • O que realmente dá para implementar é uma solução híbrida de descoberta no navegador + resposta via API

Em outras palavras:

O caso do YouTube não é “não dá para fazer”, e sim “não dá para fazer contando apenas com a API oficial de comentários”.

Essa é a conclusão mais importante desta fase.