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 :
videoIdallThreadsRelatedToChannelIdid
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 :
idparentId
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.listdoes 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/videoIdest 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,
@fixcolardé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
videoIdde 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_youtubes’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.