[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-wassim249--YT-Navigator":3,"tool-wassim249--YT-Navigator":62},[4,18,26,36,46,54],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",160411,2,"2026-04-18T23:33:24",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":42,"last_commit_at":43,"category_tags":44,"status":17},8272,"opencode","anomalyco\u002Fopencode","OpenCode 是一款开源的 AI 编程助手（Coding Agent），旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件，而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码，还是排查难以定位的 Bug，OpenCode 都能通过自然语言交互高效完成，显著减少开发者在重复性劳动和上下文切换上的时间消耗。\n\n这款工具专为软件开发者、工程师及技术研究人员设计，特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构，这意味着用户可以审查代码逻辑、自定义行为策略，甚至私有化部署以保障数据安全，彻底打破了传统闭源 AI 助手的“黑盒”限制。\n\n在技术体验上，OpenCode 提供了灵活的终端界面（Terminal UI）和正在测试中的桌面应用程序，支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具，安装便捷，并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客，还是渴望提升产出的独立开发者，OpenCode 都提供了一个透明、可信",144296,1,"2026-04-16T14:50:03",[13,45],"插件",{"id":47,"name":48,"github_repo":49,"description_zh":50,"stars":51,"difficulty_score":32,"last_commit_at":52,"category_tags":53,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[14,15,13],{"id":55,"name":56,"github_repo":57,"description_zh":58,"stars":59,"difficulty_score":32,"last_commit_at":60,"category_tags":61,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[45,13,15,14],{"id":63,"github_repo":64,"name":65,"description_en":66,"description_zh":67,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":78,"owner_email":79,"owner_twitter":79,"owner_website":79,"owner_url":80,"languages":81,"stars":102,"forks":103,"last_commit_at":104,"license":105,"difficulty_score":106,"env_os":107,"env_gpu":108,"env_ram":107,"env_deps":109,"category_tags":121,"github_topics":122,"view_count":32,"oss_zip_url":79,"oss_zip_packed_at":79,"status":17,"created_at":135,"updated_at":136,"faqs":137,"releases":148},9466,"wassim249\u002FYT-Navigator","YT-Navigator","YT Navigator: AI-powered YouTube content explorer that lets you search and chat with channel videos using AI agents. Extract insights from hours of content in seconds with semantic search and precise timestamps.","YT Navigator 是一款由 AI 驱动的 YouTube 内容探索工具，旨在帮助用户高效地检索和互动频道视频。面对海量视频内容，用户无需再花费数小时手动观看以寻找特定信息，只需通过自然语言提问，即可快速定位关键片段或直接与视频内容进行对话。\n\n该工具主要解决了从长视频中提取信息的效率痛点。它支持语义搜索和关键词混合检索，不仅能返回相关视频，还能精确标记出答案出现的时间戳，让用户直达重点。此外，其内置的 AI 助手基于 ReAct 框架，能结合频道内的视频转录文本回答复杂问题，实现真正的“与视频聊天”。\n\nYT Navigator 非常适合研究人员、学生、内容创作者以及任何需要快速从 YouTube 频道获取知识的用户。在技术实现上，它采用并行处理架构，将视频元数据存入关系型数据库，同时将视频转录内容分段并向量化存储，结合重排序模型确保搜索结果的高度相关性。无论是进行学术调研还是素材搜集，YT Navigator 都能让原本耗时的视频浏览过程变得秒级完成。","# 🔴 YT Navigator\n\n![YT Navigator Home Page](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwassim249_YT-Navigator_readme_56ac2ba1319d.png)\n\n## 📋 Overview\n\nYT Navigator is an AI-powered application that helps you navigate and search through YouTube channel content efficiently. Instead of manually watching hours of videos to find specific information, YT Navigator allows you to:\n\n1. **🔍 Search through a channel's videos** using natural language queries\n2. **💬 Chat with a channel's content** to get answers based on video transcripts\n3. **⏱️ Discover relevant video segments** with precise timestamps\n\nPerfect for researchers, students, content creators, or anyone who needs to extract information from YouTube channels quickly.\n\n## ✨ Main Features\n\n- **🔐 Authentication**: Secure login and independent sessions\n- **📺 Channel Management**: Scan up to 100 videos per channel and get a summary of the channel\n- **🔍 Search**: Find relevant video segments using Semantic Search\n- **💬 Chat**: Have conversations with an AI that has knowledge of the channel's content\n\n### 1- 📥 Channel data retrieval\n\n![Channel data retrieval](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwassim249_YT-Navigator_readme_09992f5301be.png)\nFor this part, the user enters a YouTube channel URL which the system validates before extracting the channel username. The system then fetches channel details including title, description, and profile picture, storing them in the database.\n\nAfter connecting to a channel, the user selects how many videos to scan (up to 100). The system then processes these videos in parallel through two paths:\n1. 📊 Video metadata is extracted and saved to a relational database (PostgreSQL)\n2. 📝 Video transcripts are extracted, split into segments, converted to vector embeddings, and stored in a vector database (PGVector)\n\nOnce both processes are complete, the channel content becomes available for search and chat functionality.\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Click to show\u002Fhide the Channel Data Retrieval Flow Diagram\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```mermaid\ngraph TD\n    A[User enters YouTube Channel URL] --> B[Validate URL]\n    B --> C[Fetch Channel Details]\n    C --> G[User selects number of videos to scan]\n    G --> H[Fetch Video Details]\n    H --> I[Process Video Metadata]\n\n    H --> J[Extract Video Transcripts]\n    I --> K1[Save to Relational Database]\n    J --> L[Split into Video Segments]\n    L --> M[Generate Embeddings]\n    M --> K2[Add to Vector Database]\n    K1 --> N[Channel Ready for Search\u002FChat]\n    K2 --> N\n```\n\u003C\u002Fdetails>\n\n### 2 - 🔍 Querying the channel\n![Querying the channel](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwassim249_YT-Navigator_readme_cefa74a5cb55.png)\n\nThe querying process begins when a user enters a natural language query to search across the channel's content. The system processes this query through both semantic search (using vector embeddings) and keyword search (using BM25) for comprehensive results. These results are combined, enriched with video metadata from the relational database, and deduplicated. A cross-encoder model then reranks the results based on relevance to the query. The system standardizes relevance scores, groups results by video, and returns the most relevant videos along with specific transcript segments. The user interface displays these results with video thumbnails, titles, relevant transcript segments, and direct links to the exact timestamps in the videos where the information appears.\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Click to show\u002Fhide the Query Flow Diagram\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```mermaid\ngraph TD\n    A[User enters natural language query] --> D1[Perform semantic search]\n    A --> D2[Perform keyword search]\n    D1 --> E[Combine search results]\n    D2 --> E\n    E --> F[Fetch video metadata]\n    F --> H[Remove duplicates]\n    H --> I[Rerank results]\n    I --> J[Standardize scores]\n    J --> L[Return top videos and segments]\n```\n\u003C\u002Fdetails>\n\n### 3 - 💬 Chat with the channel\n![Chat with the channel](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwassim249_YT-Navigator_readme_d728e4517120.png)\n\nThe chat interface facilitates interactive conversations with an AI agent knowledgeable about the channel's content, utilizing the ReAct framework. When a user sends a message, the system processes it through a decision-making mechanism to identify the appropriate response type. The message can be addressed in three ways:\n1) 🔄 A direct response without tool calls for general inquiries,\n2) ⛔ A static response for irrelevant questions,\n3) 🛠️ A tool-assisted response that queries the vector database to extract specific information from video transcripts. In the case of tool-assisted responses, the agent engages in a cycle where it employs its tools (semantic search and SQL Select query execution) to gather information before crafting a comprehensive answer.\n\nThis process mitigates hallucinations and allows for the use of smaller models in handling complex tasks.\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Click to show\u002Fhide the Chat Flow Diagram\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```mermaid\ngraph TD\n    A[__start__] --> B[route_message\n    llama-3.1-8b-instant]\n\n    B -.-> C[non_tool_calls_reply\n    llama-3.1-8b-instant]\n    B -.-> D[static_not_relevant_reply\n    llama-3.1-8b-instant]\n    B -.-> E[tool_calls_reply\n    qwen-qwq-32b]\n\n    subgraph React Agent qwen-qwq-32b\n        E1[__start__] --> E2[agent]\n        E2 -.continue.-> E3[tools]\n        E2 -.end.-> E4[__end__]\n        E3 --> E2\n    end\n\n    C --> F[__end__]\n    D --> F\n    E --> F\n```\n\u003C\u002Fdetails>\n\n### 4. Agent Workflow Diagram\n\n![Agent Workflow Diagram](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwassim249_YT-Navigator_readme_dbd52221ed82.jpg)\n\n\n## 🧰 Technology Stack\n\n- **🖥️ Backend**:\n  - Django (Python)\n  - PostgreSQL\n  - Structlog for logging\n  - Pydantic for data validation\n- **🧠 AI & ML**:\n  - [LangGraph](https:\u002F\u002Fwww.langchain.com\u002Flanggraph) for conversational AI\n  - [Sentence Transformers](https:\u002F\u002Fwww.sentence-transformers.org\u002F) for semantic search\n  - [PGVector](https:\u002F\u002Fwww.pgvector.org\u002F) as a vector database\n  - [BM25](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOkapi_BM25) for keyword search\n  - [bge-small-en-v1.5](https:\u002F\u002Fhuggingface.co\u002Fsentence-transformers\u002FBAAI\u002Fbge-small-en-v1.5) for embeddings\n  - qwen-qwq-32b and llama-3.1-8b-instant from [Groq](http:\u002F\u002Fgroq.com\u002F)\n- **⚙️ Data Processing**:\n  - [Scrapetube](https:\u002F\u002Fgithub.com\u002Fdermasmid\u002Fscrapetube) for scraping videos\n  - [youtube-transcript-api](https:\u002F\u002Fpypi.org\u002Fproject\u002Fyoutube-transcript-api\u002F) for obtaining transcripts\n- **🎨 Frontend**:\n  - Django templates with modern CSS\n  - Responsive design\n\n## 🚀 Installation\n\n### 💻 Without Docker\n\n1. Clone the repository\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fwassim249\u002FYT-Navigator\n```\n\n2. Create a virtual environment and install dependencies\n```bash\npython -m venv venv\nsource venv\u002Fbin\u002Factivate\npip install -e .\n```\n\n3. Make sure you have a PostgreSQL database running.\n\n4. Create a `.env` file in the root directory from the `.env.example` file.\n```bash\ncp .env.example .env\n```\n\n5. Create Django migrations and migrate the database\n```bash\npython manage.py migrate\n```\n\n6. Run the development or production server\n```bash\nmake dev # for development\nmake prod # for production\n```\n### 🐳 With Docker\n1. Create a `.env` file in the root directory from the `.env.example` file (Make sure you set *POSTGRES_HOST=db*).\n```bash\ncp .env.example .env\n```\n\n2. Build the Docker image\n```bash\nmake build-docker\n```\n\n3. Run the Docker container\n```bash\nmake run-docker\n```\n## 📖 Usage\n\n### 1. 📝 Register and Login\n\nCreate an account to get started.\n\n### 2. 🔗 Connect a YouTube Channel\n\nOn the home page, enter a YouTube channel URL to connect to it. The system will fetch the channel's information.\n\n### 3. 📥 Scan Videos\n\nAfter connecting a channel, you can scan its videos. Choose how many videos to scan (more videos = more comprehensive results but longer processing time).\n\n### 4. 🔍 Search for Information\n\nUse the search feature to find specific information across all scanned videos. The system will return:\n- 🎯 Relevant video segments with timestamps\n- 📝 Transcripts of the matching content\n- 🔗 Links to watch the videos at the exact timestamps\n\n### 5. 💬 Chat with the Channel\n\nUse the chatbot interface to have a conversation about the channel's content. The AI will respond based on the information in the scanned videos.\n\n## 👨‍💻 Development\n\n### 📁 Project Structure\n\n- `app\u002F`: Main Django application\n  - `models\u002F`: Database models (Channel, Video, VideoChunk)\n  - `views\u002F`: View functions for web pages and API endpoints\n  - `services\u002F`: Core functionality (scraping, vector database, AI agent)\n  - `templates\u002F`: HTML templates\n  - `static\u002F`: CSS, JavaScript, and other static files\n\n- `yt_navigator\u002F`: Django project settings and configuration\n\n### 🛠️ Using the Makefile\n\nThe project includes a Makefile with useful commands:\nRun `make help` to see the available commands.\n```bash\nmake help\n```\n\n## 🗺️ Roadmap\n\n- [ ] 🐳 Add Docker support\n- [ ] ✅ Add tests\n- [ ] 📋 Add support for playlist\u002Fshorts scanning\n- [ ] 📱 Improve mobile experience\n- [ ] 🌐 Add support for multiple languages\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature\u002Famazing-feature`)\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the branch (`git push origin feature\u002Famazing-feature`)\n5. Open a Pull Request\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## 🤵 Author\n\n- [wassim249](https:\u002F\u002Fgithub.com\u002Fwassim249)\n","# 🔴 YT导航器\n\n![YT导航器首页](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwassim249_YT-Navigator_readme_56ac2ba1319d.png)\n\n## 📋 概述\n\nYT导航器是一款基于人工智能的应用程序，可帮助您高效地浏览和搜索YouTube频道内容。无需手动观看数小时的视频来查找特定信息，YT导航器让您可以：\n\n1. **🔍 使用自然语言查询搜索频道内的视频**\n2. **💬 与频道内容进行对话**，根据视频字幕获取答案\n3. **⏱️ 发现带有精确时间戳的相关视频片段**\n\n非常适合研究人员、学生、内容创作者，以及任何需要快速从YouTube频道中提取信息的人。\n\n## ✨ 主要功能\n\n- **🔐 身份验证**：安全登录与独立会话\n- **📺 频道管理**：每频道最多扫描100个视频，并生成频道摘要\n- **🔍 搜索**：使用语义搜索找到相关视频片段\n- **💬 对话**：与了解频道内容的AI进行交流\n\n### 1- 📥 频道数据获取\n\n![频道数据获取](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwassim249_YT-Navigator_readme_09992f5301be.png)\n在此步骤中，用户输入YouTube频道URL，系统会先验证该链接的有效性，然后提取频道用户名。接着，系统会获取频道的详细信息，包括标题、描述和头像，并将其存储在数据库中。\n\n连接到频道后，用户可以选择要扫描的视频数量（最多100个）。随后，系统会通过两条路径并行处理这些视频：\n1. 📊 提取视频元数据并保存到关系型数据库（PostgreSQL）\n2. 📝 提取视频字幕，将其分割成片段，转换为向量嵌入，并存储到向量数据库（PGVector）\n\n当这两个过程完成后，频道内容即可用于搜索和对话功能。\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开\u002F收起频道数据获取流程图\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```mermaid\ngraph TD\n    A[用户输入YouTube频道URL] --> B[验证URL]\n    B --> C[获取频道详情]\n    C --> G[用户选择要扫描的视频数量]\n    G --> H[获取视频详情]\n    H --> I[处理视频元数据]\n\n    H --> J[提取视频字幕]\n    I --> K1[保存到关系型数据库]\n    J --> L[分割成视频片段]\n    L --> M[生成嵌入]\n    M --> K2[添加到向量数据库]\n    K1 --> N[频道已准备好用于搜索\u002F聊天]\n    K2 --> N\n```\n\u003C\u002Fdetails>\n\n### 2 - 🔍 查询频道\n![查询频道](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwassim249_YT-Navigator_readme_cefa74a5cb55.png)\n\n查询过程始于用户输入自然语言查询，以在整个频道内容中进行搜索。系统会同时通过语义搜索（使用向量嵌入）和关键词搜索（使用BM25）来处理该查询，从而获得全面的结果。这些结果会被合并，结合来自关系型数据库的视频元数据进行丰富，并去除重复项。随后，一个交叉编码模型会根据与查询的相关性对结果重新排序。系统会对相关性得分进行标准化，按视频分组，并返回最相关的视频及其具体的字幕片段。用户界面会显示这些结果，包括视频缩略图、标题、相关字幕片段，以及直接指向视频中出现相关信息的确切时间戳的链接。\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开\u002F收起查询流程图\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```mermaid\ngraph TD\n    A[用户输入自然语言查询] --> D1[执行语义搜索]\n    A --> D2[执行关键词搜索]\n    D1 --> E[合并搜索结果]\n    D2 --> E\n    E --> F[获取视频元数据]\n    F --> H[去除重复]\n    H --> I[重新排序结果]\n    I --> J[标准化得分]\n    J --> L[返回顶级视频和片段]\n```\n\u003C\u002Fdetails>\n\n### 3 - 💬 与频道对话\n![与频道对话](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwassim249_YT-Navigator_readme_d728e4517120.png)\n\n聊天界面通过ReAct框架，促进用户与熟悉频道内容的AI代理之间的互动。当用户发送消息时，系统会通过决策机制确定合适的响应类型。消息可以有三种处理方式：\n1) 🔄 直接回复，无需调用工具，适用于一般性问题；\n2) ⛔ 静态回复，用于不相关的问题；\n3) 🛠️ 工具辅助回复，通过查询向量数据库从视频字幕中提取具体信息。在工具辅助回复的情况下，代理会循环利用其工具（语义搜索和SQL查询执行）来收集信息，然后再生成完整的回答。\n\n这一过程可以有效减少幻觉现象，并允许使用较小的模型来处理复杂任务。\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开\u002F收起聊天流程图\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```mermaid\ngraph TD\n    A[__start__] --> B[route_message\n    llama-3.1-8b-instant]\n\n    B -.-> C[non_tool_calls_reply\n    llama-3.1-8b-instant]\n    B -.-> D[static_not_relevant_reply\n    llama-3.1-8b-instant]\n    B -.-> E[tool_calls_reply\n    qwen-qwq-32b]\n\n    subgraph React Agent qwen-qwq-32b\n        E1[__start__] --> E2[agent]\n        E2 -.continue.-> E3[tools]\n        E2 -.end.-> E4[__end__]\n        E3 --> E2\n    end\n\n    C --> F[__end__]\n    D --> F\n    E --> F\n```\n\u003C\u002Fdetails>\n\n### 4. 代理工作流图\n\n![代理工作流图](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwassim249_YT-Navigator_readme_dbd52221ed82.jpg)\n\n\n## 🧰 技术栈\n\n- **🖥️ 后端**：\n  - Django（Python）\n  - PostgreSQL\n  - Structlog用于日志记录\n  - Pydantic用于数据验证\n- **🧠 AI与机器学习**：\n  - [LangGraph](https:\u002F\u002Fwww.langchain.com\u002Flanggraph)用于对话式AI\n  - [Sentence Transformers](https:\u002F\u002Fwww.sentence-transformers.org\u002F)用于语义搜索\n  - [PGVector](https:\u002F\u002Fwww.pgvector.org\u002F)作为向量数据库\n  - [BM25](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOkapi_BM25)用于关键词搜索\n  - [bge-small-en-v1.5](https:\u002F\u002Fhuggingface.co\u002Fsentence-transformers\u002FBAAI\u002Fbge-small-en-v1.5)用于嵌入\n  - qwen-qwq-32b和llama-3.1-8b-instant来自[Groq](http:\u002F\u002Fgroq.com\u002F)\n- **⚙️ 数据处理**：\n  - [Scrapetube](https:\u002F\u002Fgithub.com\u002Fdermasmid\u002Fscrapetube)用于抓取视频\n  - [youtube-transcript-api](https:\u002F\u002Fpypi.org\u002Fproject\u002Fyoutube-transcript-api\u002F)用于获取字幕\n- **🎨 前端**：\n  - Django模板搭配现代CSS\n  - 响应式设计\n\n## 🚀 安装\n\n### 💻 不使用Docker\n\n1. 克隆仓库\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fwassim249\u002FYT-Navigator\n```\n\n2. 创建虚拟环境并安装依赖\n```bash\npython -m venv venv\nsource venv\u002Fbin\u002Factivate\npip install -e .\n```\n\n3. 确保您已运行PostgreSQL数据库。\n\n4. 在根目录下从`.env.example`文件创建`.env`文件。\n```bash\ncp .env.example .env\n```\n\n5. 创建Django迁移并迁移数据库\n```bash\npython manage.py migrate\n```\n\n6. 运行开发或生产服务器\n```bash\nmake dev # 用于开发\nmake prod # 用于生产\n```\n\n### 🐳 使用 Docker\n1. 从 `.env.example` 文件中在根目录创建一个 `.env` 文件（请确保将 `POSTGRES_HOST` 设置为 `db`）。\n```bash\ncp .env.example .env\n```\n\n2. 构建 Docker 镜像\n```bash\nmake build-docker\n```\n\n3. 运行 Docker 容器\n```bash\nmake run-docker\n```\n## 📖 使用说明\n\n### 1. 📝 注册与登录\n\n创建账户即可开始使用。\n\n### 2. 🔗 连接 YouTube 频道\n\n在首页输入 YouTube 频道的 URL 以进行连接。系统将获取该频道的相关信息。\n\n### 3. 📥 扫描视频\n\n连接频道后，您可以扫描其视频。选择要扫描的视频数量（视频越多，结果越全面，但处理时间也会更长）。\n\n### 4. 🔍 搜索信息\n\n使用搜索功能可在所有已扫描的视频中查找特定信息。系统将返回：\n- 🎯 带有时间戳的相关视频片段\n- 📝 匹配内容的文本转录\n- 🔗 可直接跳转到指定时间点观看视频的链接\n\n### 5. 💬 与频道对话\n\n通过聊天机器人界面，您可以就频道内容进行交流。AI 将根据已扫描视频中的信息作出回应。\n\n## 👨‍💻 开发\n\n### 📁 项目结构\n\n- `app\u002F`: 主 Django 应用程序\n  - `models\u002F`: 数据库模型（频道、视频、视频片段）\n  - `views\u002F`: 用于网页和 API 端点的视图函数\n  - `services\u002F`: 核心功能（抓取、向量数据库、AI 代理）\n  - `templates\u002F`: HTML 模板\n  - `static\u002F`: CSS、JavaScript 等静态文件\n\n- `yt_navigator\u002F`: Django 项目的设置与配置\n\n### 🛠️ 使用 Makefile\n\n项目包含一个 Makefile，其中提供了一些实用命令：\n运行 `make help` 查看可用命令。\n```bash\nmake help\n```\n\n## 🗺️ 路线图\n\n- [ ] 🐳 添加 Docker 支持\n- [ ] ✅ 添加测试\n- [ ] 📋 添加对播放列表\u002F短视频扫描的支持\n- [ ] 📱 改善移动端体验\n- [ ] 🌐 添加多语言支持\n\n## 🤝 贡献\n\n欢迎贡献！请随时提交 Pull Request。\n\n1. 分支仓库\n2. 创建您的功能分支 (`git checkout -b feature\u002Famazing-feature`)\n3. 提交更改 (`git commit -m '添加一项很棒的功能'`)\n4. 推送到分支 (`git push origin feature\u002Famazing-feature`)\n5. 打开 Pull Request\n\n## 📄 许可证\n\n本项目采用 MIT 许可证授权——详情请参阅 LICENSE 文件。\n\n## 🤵 作者\n\n- [wassim249](https:\u002F\u002Fgithub.com\u002Fwassim249)","# YT-Navigator 快速上手指南\n\nYT-Navigator 是一款基于 AI 的开源工具，旨在帮助用户高效地导航和搜索 YouTube 频道内容。它支持通过自然语言搜索视频片段、与频道内容进行对话聊天，并能精准定位相关视频的时间戳。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**: Linux, macOS 或 Windows (WSL2 推荐)\n*   **Python**: 3.8 或更高版本\n*   **数据库**: PostgreSQL (需已安装并运行，建议安装 `pgvector` 扩展以支持向量搜索)\n*   **构建工具**: `make` (可选，用于简化命令执行)\n*   **API Key**: 需要准备 Groq API Key (用于调用 Llama 3.1 和 Qwen 模型)\n\n> **国内开发者提示**：\n> *   建议使用国内镜像源加速 Python 包下载（如清华源或阿里源）。\n> *   若无法直接访问 HuggingFace 下载嵌入模型 (`bge-small-en-v1.5`)，请配置国内镜像或使用离线模型文件。\n\n## 安装步骤\n\n您可以选择直接使用本地环境安装或通过 Docker 部署。\n\n### 方式一：本地环境安装 (推荐用于开发)\n\n1.  **克隆项目仓库**\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Fwassim249\u002FYT-Navigator\n    cd YT-Navigator\n    ```\n\n2.  **创建虚拟环境并安装依赖**\n    *(国内用户建议使用 `-i` 指定镜像源)*\n    ```bash\n    python -m venv venv\n    source venv\u002Fbin\u002Factivate  # Windows 用户请使用: venv\\Scripts\\activate\n    \n    # 使用清华源加速安装\n    pip install -e . -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n    ```\n\n3.  **配置环境变量**\n    复制示例配置文件并根据实际情况修改（特别是数据库连接和 Groq API Key）。\n    ```bash\n    cp .env.example .env\n    ```\n    *编辑 `.env` 文件，确保填入正确的 `GROQ_API_KEY` 和 `DATABASE_URL`。*\n\n4.  **初始化数据库**\n    确保 PostgreSQL 服务已启动，然后执行迁移：\n    ```bash\n    python manage.py migrate\n    ```\n\n5.  **启动服务**\n    ```bash\n    make dev\n    # 如果没有 make 工具，可直接运行：python manage.py runserver\n    ```\n\n### 方式二：Docker 部署 (推荐用于生产或快速体验)\n\n1.  **配置环境变量**\n    ```bash\n    cp .env.example .env\n    ```\n    *注意：在 Docker 模式下，请将 `.env` 中的 `POSTGRES_HOST` 设置为 `db`。*\n\n2.  **构建并运行容器**\n    ```bash\n    make build-docker\n    make run-docker\n    ```\n    *(若无 make 工具，可手动执行 `docker-compose up --build`)*\n\n## 基本使用\n\n安装完成后，打开浏览器访问 `http:\u002F\u002F127.0.0.1:8000` (默认端口)，按以下步骤操作：\n\n### 1. 注册与登录\n首次使用需创建账号并登录，系统将为您隔离会话数据。\n\n### 2. 连接 YouTube 频道\n在首页输入框中粘贴目标 YouTube 频道的 URL。系统会自动验证并获取频道标题、描述及头像信息。\n\n### 3. 扫描视频内容\n连接成功后，选择需要扫描的视频数量（最多 100 个）。\n*   **注意**：扫描过程包含提取元数据、下载字幕、分段及生成向量嵌入，视频数量越多耗时越长。\n*   扫描完成后，频道内容即可被检索。\n\n### 4. 搜索与对话\n*   **语义搜索**：在搜索框输入自然语言问题（例如：\"如何配置 Django 数据库？”），系统将返回相关的视频片段、具体时间点及字幕摘要。\n*   **AI 聊天**：切换到聊天界面，像与普通 AI 对话一样提问。Agent 会基于已扫描的视频内容回答，并引用具体来源，有效减少幻觉。\n\n---\n*更多高级功能（如 Playlist 支持、多语言适配）将在后续版本更新中提供。*","一位技术研究员需要快速从某知名 AI 专家的 YouTube 频道中，梳理出关于“大模型推理优化”的所有技术细节以撰写综述报告。\n\n### 没有 YT-Navigator 时\n- **盲目浏览耗时巨大**：必须手动点开频道内数十个视频，凭感觉拖动进度条寻找相关片段，往往花费数小时却一无所获。\n- **关键信息极易遗漏**：由于无法全文检索视频字幕，专家在视频中段随口提及的关键参数或代码库名称很容易被忽略。\n- **验证成本高昂**：即使找到了疑似相关的片段，也需要反复回放确认上下文，难以精确锁定具体时间点。\n- **知识碎片化严重**：不同视频中分散的知识点无法自动关联，研究者需手动记录并整理笔记，效率极低。\n\n### 使用 YT-Navigator 后\n- **语义搜索秒级定位**：直接输入“如何降低 LLM 推理显存占用”，YT-Navigator 利用向量嵌入技术瞬间跨视频匹配到最相关的段落。\n- **精准时间戳直达**：系统不仅返回视频列表，还直接提供精确到秒的时间戳链接，点击即可跳转至专家讲解核心算法的瞬间。\n- **智能对话提取洞察**：通过聊天功能询问“该频道提到过哪些量化方案？”，AI 代理基于全部转录内容汇总出完整清单并附带来源依据。\n- **自动化内容聚合**：自动将散落在多个视频中的同类技术点去重排序，生成结构化的搜索结果，让知识获取从“大海捞针”变为“按图索骥”。\n\nYT-Navigator 将原本需要数天的视频内容消化过程压缩至几分钟，让用户能直接从海量视频流中萃取高价值知识。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwassim249_YT-Navigator_56ac2ba1.png","wassim249","Wassim EL BAKKOURI","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fwassim249_0e06e5e7.png","AI \u002F ML engineer  👨‍💻","Mabbly","Kenitra , Morocco",null,"https:\u002F\u002Fgithub.com\u002Fwassim249",[82,86,90,94,98],{"name":83,"color":84,"percentage":85},"Python","#3572A5",62,{"name":87,"color":88,"percentage":89},"HTML","#e34c26",36.2,{"name":91,"color":92,"percentage":93},"Shell","#89e051",0.7,{"name":95,"color":96,"percentage":97},"Dockerfile","#384d54",0.6,{"name":99,"color":100,"percentage":101},"Makefile","#427819",0.5,589,72,"2026-04-18T10:09:20","MIT",4,"未说明","未说明 (使用 Groq API 调用云端模型，本地仅需运行轻量级嵌入模型)",{"notes":110,"python":107,"dependencies":111},"1. 后端基于 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 密钥。",[112,113,114,115,116,117,118,119,120],"Django","PostgreSQL","PGVector","LangGraph","Sentence Transformers","Scrapetube","youtube-transcript-api","Pydantic","Structlog",[15,14,13,35],[123,124,125,126,127,128,129,130,131,132,133,134],"agentic-ai","agentic-rag","ai","django","langchain","langgraph","llm","python","rag","reranking","youtube","youtube-bot","2026-03-27T02:49:30.150509","2026-04-19T15:46:28.397971",[138,143],{"id":139,"question_zh":140,"answer_zh":141,"source_url":142},42465,"运行应用时遇到迁移错误：\"ValueError: Dependency on app with no migrations: app\"，该如何解决？","这是因为忘记运行生成迁移文件的命令。请执行以下命令来修复：\npython3 manage.py makemigrations","https:\u002F\u002Fgithub.com\u002Fwassim249\u002FYT-Navigator\u002Fissues\u002F2",{"id":144,"question_zh":145,"answer_zh":146,"source_url":147},42466,"访问聊天机器人页面时出现 TypeError：\"LangsmithEvaluationService.create_dataset() takes 1 positional argument but 2 were given\"，如何解决？","这是一个代码参数传递错误，维护者已提交 PR 进行了快速修复。请拉取最新的代码更新即可解决该问题。","https:\u002F\u002Fgithub.com\u002Fwassim249\u002FYT-Navigator\u002Fissues\u002F1",[149],{"id":150,"version":151,"summary_zh":152,"released_at":153},342199,"v0.1.0","0.1.0","2025-03-10T14:34:22"]