[Limitation de principe] Pourquoi openclaw_youtube ne peut pas encore faire le « déclenchement par commentaire sur n’importe quelle vidéo » comme sur B站

Au 2026-03-18, j’ai déjà vérifié à peu près toutes les voies praticables via l’API officielle dans cette direction. Je donne la conclusion d’abord : si l’objectif est comme sur Bilibili, à savoir qu’un bot puisse sous n’importe quelle vidéo YouTube détecter un commentaire déclencheur, puis résumer automatiquement la vidéo, combiner les sous-titres, et enfin publier un commentaire, alors avec la seule YouTube Data API v3 officielle, c’est pratiquement impossible.

Ce n’est pas parce que YouTube ne permet pas de commenter, ni parce qu’OAuth ne marche pas, mais parce que l’étape la plus critique : découvrir le commentaire déclencheur, l’API officielle ne fournit pas de capacité exploitable.

Quel est l’effet recherché

L’objectif est en fait très clair :

  • Le compte A ou un compte bot peut fonctionner sous n’importe quelle vidéo YouTube
  • Le déclencheur peut être @fixcolar, ou un mot d’activation fixe, par exemple « 椰子 结合字幕总结本视频 »
  • Une fois le déclencheur détecté, le système récupère automatiquement la vidéo, les commentaires et le contexte
  • S’il y a des sous-titres, on les injecte dans le LLM
  • Enfin, ce compte retourne automatiquement dans l’espace commentaires de cette vidéo pour publier un commentaire

Si le plugin Bilibili peut fonctionner, c’est parce qu’il ne “scanne pas les commentaires d’une vidéo”, mais lit le flux de messages @ / flux de réponses du compte lui-même. Tant que quelqu’un t’@ dans n’importe quelle vidéo du site, Bilibili met cet événement dans le flux de messages, donc le plugin peut fonctionner de manière transverse aux vidéos.

Côté API officielle YouTube, le blocage se situe précisément à cette étape.

Pourquoi la solution via l’API officielle ne fonctionne pas

1. commentThreads.list ne peut pas filtrer par “auteur du commentaire”, et il n’existe pas de flux de mentions global

Documentation officielle :

Les filtres utilisables par commentThreads.list sont essentiellement :

  • videoId
  • allThreadsRelatedToChannelId
  • id

Autrement dit, au mieux tu peux :

  • Consulter les fils de commentaires sous une vidéo donnée
  • Consulter les fils de commentaires liés à une chaîne donnée
  • Consulter via un thread id connu

Il ne peut pas faire ces choses :

  • Rechercher “sur quelles vidéos un compte a récemment commenté”
  • Rechercher “où, sur tout le site, quelqu’un m’a @”
  • Rechercher “où, sur tout le site, apparaît mon mot d’activation”

Cela signifie que : avec ce seul endpoint, tu ne peux surveiller qu’une chaîne fixe ou une vidéo fixe ; tu ne peux pas faire du “déclenchement sous n’importe quelle vidéo”.

2. comments.list ne permet pas non plus de rechercher l’historique par auteur

Documentation officielle :

Les filtres principaux supportés par comments.list sont :

  • id
  • parentId

C’est davantage du type “je connais déjà le commentId, récupère-moi ce commentaire ou ses réponses”, plutôt que “aide-moi à trouver ce que cette personne a commenté récemment”.

Donc ça ne résout pas non plus le problème “découvrir un commentaire déclencheur dans n’importe quelle vidéo”.

3. activities.list?mine=true ne sauve pas la situation non plus

Documentation officielle :

Intuitivement, l’idée la plus proche serait : peut-on récupérer le flux d’activité du compte ?

Mais la doc officielle est très explicite :

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

Autrement dit, le flux d’activité du compte ne permet pas de récupérer de façon fiable “sous quelle vidéo je viens de commenter”.

4. Les Push Notifications officielles ne poussent pas non plus les événements de commentaires

Documentation officielle :

Ce mécanisme de push notifie des changements du feed de la chaîne ; au fond il reste centré sur les mises à jour de contenu de chaîne, pas sur un flux d’événements commentaires/mentions.

Donc il ne peut pas non plus remplacer la “découverte de commentaires à l’échelle du site”.

5. Les notifications Gmail de commentaires sont instables ; c’est au mieux une voie annexe, pas adaptée comme chaîne principale

Aide officielle :

L’aide officielle indique même explicitement :

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

Autrement dit, des commentaires consécutifs ne déclenchent pas forcément une notification à chaque fois. Utiliser les emails comme chaîne principale de déclenchement conduira naturellement à des événements manqués.

Qu’est-ce que cela implique

Les parties où l’API officielle reste utile

L’API YouTube n’est pas totalement inutile ; elle est en réalité précieuse sur la seconde moitié :

  • Une fois la vidéo connue, on peut poster un commentaire de premier niveau : commentThreads.insert
  • Une fois le parent comment connu, on peut poster une réponse : comments.insert
  • On peut récupérer les métadonnées de la vidéo
  • Avec yt-dlp, on peut aussi récupérer les sous-titres déjà disponibles publiquement

Autrement dit :

La “découverte de commentaires” ne marche pas, mais “l’envoi de commentaires” est faisable.

Ce qui manque vraiment, c’est la première moitié

Ce qui manque :

  • Découvrir sous quelles vidéos le compte A vient de laisser un message
  • Découvrir où, sur tout le site, quelqu’un a @ le bot
  • Découvrir si un commentaire contenant le mot d’activation apparaît sous n’importe quelle vidéo

Sans cette étape, toute la solution “déclenchement global comme sur Bilibili” ne tient pas.

Alors comment comprendre le positionnement de la version API actuelle de openclaw_youtube

Si on ne regarde que la voie de l’API officielle, elle convient plutôt à ces scénarios étroits :

  • Surveiller les commentaires reçus sur sa propre chaîne
  • Surveiller les commentaires sous une chaîne fixe / une vidéo fixe
  • Répondre automatiquement dans le cas où le commentId / videoId est connu
  • Quand l’utilisateur demande explicitement “avec sous-titres”, injecter des sous-titres publics

Mais elle ne convient pas à cet objectif :

  • Sous n’importe quelle vidéo, @fixcolar déclenche
  • Sous n’importe quelle vidéo, publier soi-même « 椰子 结合字幕总结本视频 » déclenche

Donc continuer à empiler des paramètres sur la Data API officielle a peu d’intérêt. Ce n’est pas une question de charge d’ingénierie, c’est que l’endpoint en lui-même ne fournit pas ce type de capacité de découverte.

Quelles solutions “détournées” pour la suite

Les directions ci-dessous ne sont pas des rêveries : ce sont les routes qui ont encore une vraie chance d’aboutir.

Solution 1 : script Tampermonkey / extension navigateur pour déclencher activement

C’est la solution que je juge la plus prometteuse pour le moment.

Méthode :

  • Tu ouvres n’importe quelle page vidéo YouTube
  • Le script Tampermonkey ou l’extension lit directement le videoId de la page courante
  • Tu cliques un bouton, ou bien le script embarque un prompt fixe, par exemple “résumer cette vidéo en combinant les sous-titres”
  • Le front-end envoie videoId + prompt à un service local
  • Le back-end récupère les sous-titres, exécute le LLM, puis publie le commentaire via l’API

Avantages :

  • Pas besoin de découvrir “où ai-je commenté”
  • Ne dépend pas du fait que YouTube notifie ou non
  • La page ne fait que déclencher, elle ne publie pas réellement le commentaire
  • La publication du commentaire peut toujours passer par l’API officielle, avec une meilleure stabilité

Si plus tard on veut “sur n’importe quelle page vidéo, je clique une fois et ça publie automatiquement un commentaire de résumé”, cette route est la plus fiable.

Solution 2 : navigateur connecté qui scrute YouTube Studio / la page de notifications

Cette route ressemble davantage à un substitut du flux de messages façon Bilibili.

Méthode :

  • La machine locale maintient un profil navigateur connecté à YouTube
  • Une extension ou un daemon lit périodiquement la page des commentaires, la page des notifications ou la page des mentions de YouTube Studio
  • Extrait et parse les nouveaux événements de commentaire / mention / réponse
  • Transmet ensuite les événements détectés à OpenClaw et répond via l’API officielle

Avantage :

  • Peut se rapprocher de l’expérience “@ sous n’importe quelle vidéo déclenche”

Inconvénients :

  • C’est essentiellement de l’automatisation web, avec un coût de maintenance élevé
  • Un changement de structure de page peut casser le système
  • Session de connexion, contrôle de risque, CAPTCHA : tout est plus pénible que via l’API officielle

Solution 3 : passage semi-manuel via lien de commentaire / commentId

C’est la méthode la plus “rustique” mais la plus stable.

Méthode :

  • Tu publies toi-même d’abord un commentaire déclencheur sous n’importe quelle vidéo
  • Puis tu donnes manuellement au bot le lien du commentaire ou le commentId
  • Le bot le récupère, puis exécute le flux back-end : répondre / résumer / injecter les sous-titres

Ce n’est pas élégant, mais c’est la manière la plus rapide de valider la moitié “génération du contenu du commentaire”.

Solution 4 : architecture hybride

C’est en réalité une architecture long terme assez réaliste :

  • Le côté découverte utilise des voies non officielles : contexte de page navigateur, Tampermonkey, extension, page de notifications Studio, etc.
  • Le côté exécution continue d’utiliser l’API officielle pour publier des commentaires de premier niveau ou des réponses

Autrement dit :

  • La première moitié s’appuie sur le contexte web
  • La seconde moitié s’appuie sur l’API formelle

C’est actuellement la route la plus défendable d’un point de vue engineering.

Conclusion à ce stade

Je pense qu’il faut énoncer clairement cette conclusion, pour éviter de brûler du temps ensuite dans la mauvaise direction :

  • Si openclaw_youtube s’en tient à “uniquement la Data API officielle”, il ne peut devenir qu’un bot de commentaires pour une chaîne fixe / une vidéo fixe
  • Si l’objectif est “déclencher sous n’importe quelle vidéo comme sur Bilibili”, il faut abandonner l’hypothèse de la “découverte pure via API”
  • Ce qui peut réellement aboutir, c’est une solution hybride découverte côté navigateur + réponse côté API

Autrement dit :

Le sujet YouTube, ce n’est pas “impossible à faire”, c’est “impossible à faire uniquement avec l’API officielle des commentaires”.

C’est aussi la conclusion la plus importante à ce stade.