YT-Navigator

GitHub
589 72 较难 1 次阅读 昨天MIT图像开发框架Agent语言模型
AI 解读 由 AI 自动生成,仅供参考

YT Navigator 是一款由 AI 驱动的 YouTube 内容探索工具,旨在帮助用户高效地检索和互动频道视频。面对海量视频内容,用户无需再花费数小时手动观看以寻找特定信息,只需通过自然语言提问,即可快速定位关键片段或直接与视频内容进行对话。

该工具主要解决了从长视频中提取信息的效率痛点。它支持语义搜索和关键词混合检索,不仅能返回相关视频,还能精确标记出答案出现的时间戳,让用户直达重点。此外,其内置的 AI 助手基于 ReAct 框架,能结合频道内的视频转录文本回答复杂问题,实现真正的“与视频聊天”。

YT Navigator 非常适合研究人员、学生、内容创作者以及任何需要快速从 YouTube 频道获取知识的用户。在技术实现上,它采用并行处理架构,将视频元数据存入关系型数据库,同时将视频转录内容分段并向量化存储,结合重排序模型确保搜索结果的高度相关性。无论是进行学术调研还是素材搜集,YT Navigator 都能让原本耗时的视频浏览过程变得秒级完成。

使用场景

一位技术研究员需要快速从某知名 AI 专家的 YouTube 频道中,梳理出关于“大模型推理优化”的所有技术细节以撰写综述报告。

没有 YT-Navigator 时

  • 盲目浏览耗时巨大:必须手动点开频道内数十个视频,凭感觉拖动进度条寻找相关片段,往往花费数小时却一无所获。
  • 关键信息极易遗漏:由于无法全文检索视频字幕,专家在视频中段随口提及的关键参数或代码库名称很容易被忽略。
  • 验证成本高昂:即使找到了疑似相关的片段,也需要反复回放确认上下文,难以精确锁定具体时间点。
  • 知识碎片化严重:不同视频中分散的知识点无法自动关联,研究者需手动记录并整理笔记,效率极低。

使用 YT-Navigator 后

  • 语义搜索秒级定位:直接输入“如何降低 LLM 推理显存占用”,YT-Navigator 利用向量嵌入技术瞬间跨视频匹配到最相关的段落。
  • 精准时间戳直达:系统不仅返回视频列表,还直接提供精确到秒的时间戳链接,点击即可跳转至专家讲解核心算法的瞬间。
  • 智能对话提取洞察:通过聊天功能询问“该频道提到过哪些量化方案?”,AI 代理基于全部转录内容汇总出完整清单并附带来源依据。
  • 自动化内容聚合:自动将散落在多个视频中的同类技术点去重排序,生成结构化的搜索结果,让知识获取从“大海捞针”变为“按图索骥”。

YT-Navigator 将原本需要数天的视频内容消化过程压缩至几分钟,让用户能直接从海量视频流中萃取高价值知识。

运行环境要求

操作系统
  • 未说明
GPU

未说明 (使用 Groq API 调用云端模型,本地仅需运行轻量级嵌入模型)

内存

未说明

依赖
notes1. 后端基于 Django 和 PostgreSQL,需预先安装并运行 PostgreSQL 数据库(需启用 pgvector 扩展)。2. AI 大模型(qwen-qwq-32b, llama-3.1-8b)通过 Groq API 调用,无需本地 GPU 推理,但需要配置 Groq API Key。3. 本地需运行 bge-small-en-v1.5 模型生成向量嵌入,对显存要求较低。4. 支持 Docker 部署,推荐生产环境使用。5. 需配置 .env 文件设置数据库连接及 API 密钥。
python未说明
Django
PostgreSQL
PGVector
LangGraph
Sentence Transformers
Scrapetube
youtube-transcript-api
Pydantic
Structlog
YT-Navigator hero image

快速开始

🔴 YT导航器

YT导航器首页

📋 概述

YT导航器是一款基于人工智能的应用程序,可帮助您高效地浏览和搜索YouTube频道内容。无需手动观看数小时的视频来查找特定信息,YT导航器让您可以:

  1. 🔍 使用自然语言查询搜索频道内的视频
  2. 💬 与频道内容进行对话,根据视频字幕获取答案
  3. ⏱️ 发现带有精确时间戳的相关视频片段

非常适合研究人员、学生、内容创作者,以及任何需要快速从YouTube频道中提取信息的人。

✨ 主要功能

  • 🔐 身份验证:安全登录与独立会话
  • 📺 频道管理:每频道最多扫描100个视频,并生成频道摘要
  • 🔍 搜索:使用语义搜索找到相关视频片段
  • 💬 对话:与了解频道内容的AI进行交流

1- 📥 频道数据获取

频道数据获取 在此步骤中,用户输入YouTube频道URL,系统会先验证该链接的有效性,然后提取频道用户名。接着,系统会获取频道的详细信息,包括标题、描述和头像,并将其存储在数据库中。

连接到频道后,用户可以选择要扫描的视频数量(最多100个)。随后,系统会通过两条路径并行处理这些视频:

  1. 📊 提取视频元数据并保存到关系型数据库(PostgreSQL)
  2. 📝 提取视频字幕,将其分割成片段,转换为向量嵌入,并存储到向量数据库(PGVector)

当这两个过程完成后,频道内容即可用于搜索和对话功能。

点击展开/收起频道数据获取流程图
graph TD
    A[用户输入YouTube频道URL] --> B[验证URL]
    B --> C[获取频道详情]
    C --> G[用户选择要扫描的视频数量]
    G --> H[获取视频详情]
    H --> I[处理视频元数据]

    H --> J[提取视频字幕]
    I --> K1[保存到关系型数据库]
    J --> L[分割成视频片段]
    L --> M[生成嵌入]
    M --> K2[添加到向量数据库]
    K1 --> N[频道已准备好用于搜索/聊天]
    K2 --> N

2 - 🔍 查询频道

查询频道

查询过程始于用户输入自然语言查询,以在整个频道内容中进行搜索。系统会同时通过语义搜索(使用向量嵌入)和关键词搜索(使用BM25)来处理该查询,从而获得全面的结果。这些结果会被合并,结合来自关系型数据库的视频元数据进行丰富,并去除重复项。随后,一个交叉编码模型会根据与查询的相关性对结果重新排序。系统会对相关性得分进行标准化,按视频分组,并返回最相关的视频及其具体的字幕片段。用户界面会显示这些结果,包括视频缩略图、标题、相关字幕片段,以及直接指向视频中出现相关信息的确切时间戳的链接。

点击展开/收起查询流程图
graph TD
    A[用户输入自然语言查询] --> D1[执行语义搜索]
    A --> D2[执行关键词搜索]
    D1 --> E[合并搜索结果]
    D2 --> E
    E --> F[获取视频元数据]
    F --> H[去除重复]
    H --> I[重新排序结果]
    I --> J[标准化得分]
    J --> L[返回顶级视频和片段]

3 - 💬 与频道对话

与频道对话

聊天界面通过ReAct框架,促进用户与熟悉频道内容的AI代理之间的互动。当用户发送消息时,系统会通过决策机制确定合适的响应类型。消息可以有三种处理方式:

  1. 🔄 直接回复,无需调用工具,适用于一般性问题;
  2. ⛔ 静态回复,用于不相关的问题;
  3. 🛠️ 工具辅助回复,通过查询向量数据库从视频字幕中提取具体信息。在工具辅助回复的情况下,代理会循环利用其工具(语义搜索和SQL查询执行)来收集信息,然后再生成完整的回答。

这一过程可以有效减少幻觉现象,并允许使用较小的模型来处理复杂任务。

点击展开/收起聊天流程图
graph TD
    A[__start__] --> B[route_message
    llama-3.1-8b-instant]

    B -.-> C[non_tool_calls_reply
    llama-3.1-8b-instant]
    B -.-> D[static_not_relevant_reply
    llama-3.1-8b-instant]
    B -.-> E[tool_calls_reply
    qwen-qwq-32b]

    subgraph React Agent qwen-qwq-32b
        E1[__start__] --> E2[agent]
        E2 -.continue.-> E3[tools]
        E2 -.end.-> E4[__end__]
        E3 --> E2
    end

    C --> F[__end__]
    D --> F
    E --> F

4. 代理工作流图

代理工作流图

🧰 技术栈

  • 🖥️ 后端
    • Django(Python)
    • PostgreSQL
    • Structlog用于日志记录
    • Pydantic用于数据验证
  • 🧠 AI与机器学习
  • ⚙️ 数据处理
  • 🎨 前端
    • Django模板搭配现代CSS
    • 响应式设计

🚀 安装

💻 不使用Docker

  1. 克隆仓库
git clone https://github.com/wassim249/YT-Navigator
  1. 创建虚拟环境并安装依赖
python -m venv venv
source venv/bin/activate
pip install -e .
  1. 确保您已运行PostgreSQL数据库。

  2. 在根目录下从.env.example文件创建.env文件。

cp .env.example .env
  1. 创建Django迁移并迁移数据库
python manage.py migrate
  1. 运行开发或生产服务器
make dev # 用于开发
make prod # 用于生产

🐳 使用 Docker

  1. .env.example 文件中在根目录创建一个 .env 文件(请确保将 POSTGRES_HOST 设置为 db)。
cp .env.example .env
  1. 构建 Docker 镜像
make build-docker
  1. 运行 Docker 容器
make run-docker

📖 使用说明

1. 📝 注册与登录

创建账户即可开始使用。

2. 🔗 连接 YouTube 频道

在首页输入 YouTube 频道的 URL 以进行连接。系统将获取该频道的相关信息。

3. 📥 扫描视频

连接频道后,您可以扫描其视频。选择要扫描的视频数量(视频越多,结果越全面,但处理时间也会更长)。

4. 🔍 搜索信息

使用搜索功能可在所有已扫描的视频中查找特定信息。系统将返回:

  • 🎯 带有时间戳的相关视频片段
  • 📝 匹配内容的文本转录
  • 🔗 可直接跳转到指定时间点观看视频的链接

5. 💬 与频道对话

通过聊天机器人界面,您可以就频道内容进行交流。AI 将根据已扫描视频中的信息作出回应。

👨‍💻 开发

📁 项目结构

  • app/: 主 Django 应用程序

    • models/: 数据库模型(频道、视频、视频片段)
    • views/: 用于网页和 API 端点的视图函数
    • services/: 核心功能(抓取、向量数据库、AI 代理)
    • templates/: HTML 模板
    • static/: CSS、JavaScript 等静态文件
  • yt_navigator/: Django 项目的设置与配置

🛠️ 使用 Makefile

项目包含一个 Makefile,其中提供了一些实用命令: 运行 make help 查看可用命令。

make help

🗺️ 路线图

  • 🐳 添加 Docker 支持
  • ✅ 添加测试
  • 📋 添加对播放列表/短视频扫描的支持
  • 📱 改善移动端体验
  • 🌐 添加多语言支持

🤝 贡献

欢迎贡献!请随时提交 Pull Request。

  1. 分支仓库
  2. 创建您的功能分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m '添加一项很棒的功能')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 打开 Pull Request

📄 许可证

本项目采用 MIT 许可证授权——详情请参阅 LICENSE 文件。

🤵 作者

版本历史

v0.1.02025/03/10

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|1周前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|2周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

160.4k|★★☆☆☆|今天
开发框架Agent语言模型

opencode

OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信

144.3k|★☆☆☆☆|2天前
Agent插件

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

109.2k|★★☆☆☆|昨天
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|1周前
插件Agent图像