Watch Skill:给 AI Agent 装上”眼睛”看视频,还能自我验证修复
Watch Skill:给 AI Agent 装上”眼睛”看视频,还能自我验证修复
Watch Skill 是一个本地优先的视频智能层,让 AI Agent 能够”看见”视频、理解视频内容,并在视频证据基础上完成自我验证与修复的闭环。简单说,它解决的是一个长期困扰 AI Agent 开发者的难题——Agent 的输出结果如何验证?Watch Skill 给出的答案是:用视频记录、用证据回答、用循环修正。
功能与原则
Watch Skill 提供三大核心能力:Watch(看)、Remember(记)、Verify(验)。
Watch:以场景感知方式提取关键帧、屏幕文字和转录文本,支持 1,800+ 流媒体平台、直播 HLS/DASH 流、本地视频文件、会议录制、浏览器窗口以及桌面录屏。
Remember:将视频内容持久化为可检索索引,每次回答都附带时间戳引用;支持跨视频综合分析,问题和答案可以跨越多个视频片段溯源。
Verify:Capture → Critique → Fix → Proof 完整循环,专为浏览器自动化流程、UI 验证、视频生成质量检测和监控流设计。
设计原则强调本地优先:原始字幕优先采用、转录默认走本地 Whisper,云端语音转写可按需开启;借助 Ollama 配置可实现全链路离线运行。
认可度
- GitHub Star:235(截至 2026-07-27)
- GitHub Fork:36
- 最新版本:v1.0.0(2026-07-13 发布)
- 主要语言:Python 99.4%
相比热门 trending repo 动辄数万 star,Watch Skill 目前规模较小,但其所在的”AI Agent 视频理解 + 自我验证”赛道竞争者少,定位稀缺,价值会在 Agent 开发者群体持续放大。
链接
GitHub:https://github.com/oxbshw/watch-skill
原作者
- GitHub 用户名:oxbshw(Sayed Allam)
- 背景:独立开发者,专注 AI Agent 工具链,watch-skill 是其核心项目
介绍
传统 AI Agent 在处理视频内容时,只能被动接收文字摘要或帧截图,无法真正”观看”视频并基于完整视觉上下文作答。Watch Skill 从根本上改变了这一局面——它让 Agent 能够主动提取视频帧序列、理解屏幕文字、并以时间戳方式引用具体画面作为回答依据。
这个能力对 Agent 工作流意义重大:想象一个自动化浏览器测试 Agent,过去它只能在控制台日志里找线索,如今可以直接”观看”页面加载过程,定位到具体哪个操作步骤出现了错误——然后基于画面证据重新执行并验证修复结果。Watch Skill 将这种”看 + 理解 + 验证”的能力以 MCP 工具、CLI、REST 三种接口开放,支持 16 个主流 AI Agent 平台接入。
在视频理解层面,项目整合了 FFmpeg 做帧提取、Whisper 做本地转写、OCR 做屏幕文字识别,并内置了多语言检索路由(支持阿拉伯语、CJK 字符等)。在验证层面,项目设计了”THE LOOP”机制:录制 → 评判 → 修正 → 证明,用截图对比替代传统日志断言,让验证结果有图可查。
特点
- 全链路本地运行:Whisper 本地转录、Ollama 可选支持,无云端依赖
- 跨视频记忆:一次索引,长期可查询,回答带时间戳证据
- 23 个 MCP 工具:覆盖视频录制、理解、检索、导出全流程
- 多 Agent 平台兼容:Claude Code、OpenClaw、Cursor、Codex CLI、Cline、Windsurf、Gemini CLI 等 16+ 平台
- 视频工作流验证:THE LOOP 机制,capture → critique → fix → proof,适合自动化 QA
- 多语言检索:阿拉伯语正规化、CJK 子串匹配、多语言 embedding
使用方法
安装(以 Claude Code 为例):
/plugin marketplace add oxbshw/watch-skill
/plugin install watch-skill@watch-skill
首次安装后运行一次初始化:
/watch-skill:setup-watch-skill
基础使用:
# 观看视频并提问
watch-skill watch "https://youtu.be/..." "Summarize the important moments."
watch-skill ask <video_id> "When does the demo first fail?"
# 跨视频检索
watch-skill search "pricing decision"
# 浏览器验证循环
watch-skill loop start
--source "browser:http://127.0.0.1:3000"
--criteria "Checkout completes and the total is always a valid currency amount"
视觉问答可接入 Gemini、Anthropic、OpenAI、OpenRouter 或本地 Ollama,语音转录默认走本地 Whisper,可在配置文件中切换提供商。
使用场景与人群
适用场景:
– 自动化浏览器测试与 UI 验证(Agent 录制自己的操作过程,用自然语言标准评判失败原因)
– 会议录制分析与内容检索(跨多个会议片段提问,引用具体时间点)
– 视频研究档案构建(批量处理视频集,构建可检索知识库)
– AI 生成视频质量验证(检测画面异常或逻辑漏洞)
– 直播流监控与事件追踪
目标用户:
– AI Agent 开发者(构建具备视频感知能力的自动化流程)
– QA 工程师(基于视觉而非日志做自动化测试)
– 研究人员(视频内容分析、多模态 RAG)
– 远程会议记录重度用户(将会议视频转为可检索知识库)
输入与输出案例
案例 1:视频问答
Input: watch-skill watch "https://www.youtube.com/watch?v=EXAMPLE" "What are the key business decisions mentioned?"
Output:
[00:23] Pricing decision: "We settled on $29/month for pro tier"
[01:47] Partnership: "The deal with Cloudflare was signed in Q1"
[03:12] Hiring plan: "Targeting 8 new engineers by end of Q2"
案例 2:浏览器自动化验证(THE LOOP)
Input: watch-skill loop start
--source "browser:http://127.0.0.1:3000/checkout"
--criteria "Total price is a valid currency value, no NaN or undefined"
Output:
# 第一次运行:捕获到 NaN bug
[Loop Start] Capturing browser at http://127.0.0.1:3000/checkout
[Critique] FAIL: Total shows "NaN" at confirmation step
[Before] screenshot saved: loop_before.png
# Agent 修复代码后再次运行
[Loop Start] Re-running with fix applied
[Critique] PASS: Total shows "$49.99", valid currency
[After] screenshot saved: loop_after.png
[Proof] Verification complete: 1 bug fixed, 0 remaining
评论区
登录后可评论。














