cerul
让视频内容可语义检索,支持 AI Agent 通过 SDK/Skill/MCP 多端接入
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
让视频内容可语义检索,支持 AI Agent 通过 SDK/Skill/MCP 多端接入
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一个场景:你是一名 AI 开发者,正在构建一个研究助手 Agent。用户问:卡尔-弗里斯顿(Karl Friston)在 Talk 里解释自由能原理时,用了哪些具体的生物例子?你知道这个视频存在,但翻遍 YouTube 搜索也找不到精确到分秒的答案——因为现有的视频搜索只能匹配标题和字幕,无法理解画面里究竟在演示什么。
这就是视频搜索的深层困境:视频内容丰富,但索引手段贫乏。网页可以被爬虫抓取、被向量检索,而视频只能靠标题和自动字幕勉强索引。Cerul 团队正是看到了这个空白,决定做一件让 AI 时代的研究者受益的事:让视频内容变得可搜索、可引用、可溯源。
图1:Cerul 首页——输入查询,即可获得带时间戳的视频证据
大语言模型(LLM)在 2023-2024 年迅速成熟,RAG(检索增强生成)成了构建知识型 Agent 的标准范式。然而,RAG 的数据来源几乎清一色是文本——网页、PDF、代码库。视频作为一种高度浓缩的信息载体,其价值长期被低估。
原因有三:第一,视频没有现成的可检索文本层(除了字幕);第二,视频的核心信息往往在画面本身——白板上的图示、PPT 上的数据、代码编辑器的实时操作——这些内容根本没有被现有索引体系捕捉;第三,视频的时间维度让精确引用变得困难,一条 2 小时的演讲里哪句话对应哪个论点,没有工具能自动建立这种关联。
Cerul 的出现正是为了填补这个空白。它的核心创新是多模态视频索引:不仅索引语音转录文本(ASR),还索引画面中的视觉元素(物体、场景、图表)和屏幕文字(OCR),将三者融合为一个统一的语义检索单元(Chunk)。用户搜索时,系统会返回精确到秒的视频片段,并附带相关性评分和来源 URL。
Cerul 提供五种接入方式,覆盖了从普通用户到 AI 开发者的全场景:
1. Web UI(https://cerul.ai) 无需安装,直接在网页上输入查询,体验视频语义搜索的完整能力。支持文本查询、图片+文本组合查询,适用于快速验证想法和手动研究场景。
2. SDK(Python / JavaScript)
Cerul 提供了 Python(pip install cerul)和 JavaScript(npm install cerul)两个官方 SDK,封装了 API 调用细节。以 Python 为例:
from cerul import Cerul
client = Cerul(api_key="YOUR_API_KEY")
results = client.search(query="卡尔-弗里斯顿自由能原理", max_results=5)
for r in results:
print(r.title, r.url) # r.url 含精确时间戳
SDK 的优势在于返回结构化对象,开发者可以直接将结果注入 Agent 的上下文中。
3. AI Agent Skill(Claude Code / Cursor / Codex / OpenCode) Cerul 为主流 AI 编程工具提供了 Skill 集成。以 Claude Code 为例:
mkdir -p ~/.claude/skills/cerul
curl -fsSL https://raw.githubusercontent.com/cerul-ai/cerul/main/skills/cerul/SKILL.md \
-o ~/.claude/skills/cerul/SKILL.md
安装后,Agent 在执行研究类任务时可以自主调用 Cerul 搜索视频证据,并在回答中嵌入精确的时间戳链接。这是 Cerul 最具战略价值的应用场景——让 AI Agent 具备视频证据检索能力,彻底改变了 Agent 只能搜索文本网页的局限。
图2:Claude Code 中 Agent 通过 Cerul Skill 搜索视频,并合成带引用的答案
4. MCP(Model Context Protocol)协议支持 Cerul 还实现了 MCP 协议,任何 MCP 兼容的客户端(Claude Desktop、Cursor、Windsurf 等)都可以通过一行命令接入:
claude mcp add --transport streamable-http "https://api.cerul.ai/mcp?apiKey=***" cerul
5. CLI 工具
通过 curl -fsSL https://cli.cerul.ai/install.sh | bash 安装命令行工具:
cerul search "卡尔-弗里斯顿自由能原理"
图3:Cerul CLI 搜索界面,支持 iTerm2/WezTerm/Kitty 内联视频帧预览
Cerul 的技术栈非常务实:
前端基于 Next.js 16(App Router)+ React 19 + Tailwind CSS 4,使用 pnpm 作为包管理器。这是一个 2025-2026 年的最新前端技术组合,充分享受了 React 19 的并发渲染能力和 Tailwind 4 的零配置样式系统。认证方案选用了 Better Auth(一个开源的 NextAuth 替代品),数据库 ORM 使用 Kysely(类型安全的 SQL 查询构建器),这些选择在工程质量上体现了较高水准。
后端方面,Cerul 采用了 PostgreSQL 配合 Neon(Serverless Postgres)和 pgvector/pgvectorscale 扩展来实现向量检索。Neon 的无服务器架构让数据库可以根据查询负载自动扩缩容,降低了运维成本。项目的配置文件(.env.example)展示了完整的本地开发环境变量,包括 API_BASE_URL、WEB_BASE_URL、DATABASE_URL 等关键配置项。
重建脚本 rebuild.sh 提供了本地一键构建能力,支持 --fast 模式(跳过依赖重装)和 --env-file 指定环境变量文件。项目本身没有提供 Dockerfile 或 docker-compose,说明 Cerul 的商业模式以托管服务(Hosted API)为主,而非让用户自建实例。
对于不同的用户群体,Cerul 提供了渐进式的上手路径:
普通用户:直接访问 cerul.ai 注册账号,获取免费 API Key,在网页上体验视频搜索。
AI 开发者:通过 SDK 安装(pip install cerul 或 npm install cerul),将视频语义搜索能力集成到自己的 Agent 中。官方提供了针对 Claude Code、Cursor、Windsurf、OpenCode 等主流工具的 Skill 安装脚本,集成过程不超过 5 分钟。
CLI 重度用户:安装 CLI 后,配合 API Key 可以快速在终端内完成视频检索。支持 iTerm2、WezTerm、Kitty 的内联视频帧预览,在纯终端环境下也能看到视频截图。
作为一个新兴项目,Cerul 也存在一些值得关注的局限:
1. 自托管能力受限:项目没有提供 Dockerfile 或一键部署方案,用户无法在自有基础设施上搭建完整的 Cerul 实例。这意味着所有数据都要经过官方 API(api.cerul.ai),对于数据隐私敏感的企业场景,这是一个障碍。
2. 视频索引覆盖范围:Cerul 的视频索引质量取决于其爬取和索引的覆盖面。目前公开可检索的视频以英文内容为主,中文视频内容的覆盖度有待验证。对于特定垂直领域(中文技术讲座、中文播客等),索引覆盖率可能不足。
3. 定价模式:目前 Cerul 采用免费 API Key + 按量计费模式(每次搜索 1 credit,含 answer 时 2 credits)。随着使用量增长,成本控制是一个需要评估的因素。
4. 依赖外部 API:作为 AI Agent 工具,接入 Cerul 意味着你的 Agent 对外部服务产生了依赖。如果 Cerul 服务不可用或 API 变更,Agent 的视频搜索能力将直接受影响。
Cerul 的出现代表了一个重要趋势:RAG 的数据源正在从纯文本扩展到多模态。当 2023-2024 年大家都在讨论如何用 RAG 搜索文档时,2025 年的前沿问题已经变成了如何让 Agent 搜索视频、音频、图像。
视频搜索在 AI 研究、在线教育、技术文档、新闻核查等场景有巨大需求。想象一个法律 AI 需要引用法庭视频证据,或者一个教育 Agent 需要引用课程视频中的某个演示片段——这些场景都离不开精确的视频语义检索能力。
Cerul 的多模态索引方法(语音 + 视觉 + OCR 三维融合)也为其他领域的视频理解提供了参考范式。如果未来能支持自托管部署、扩展索引范围,Cerul 有潜力成为 AI Agent 生态中的视频搜索基础设施。