Technical Documentation: JimmyLv/BibiGPT-v1
ℹ️ Provenance: Multi-Tier Ingestion · CodeWiki Reference
Overview (`README.md`)
This repo is only for v1 and supports Bilibil and YouTube!
🤖 BibiGPT: one-Click AI Summary for Audio/Video & Chat with Learning Content [https://bibigpt.co](https://bibigpt.co)
🎉 Effortlessly summarize YouTube and Bilibili videos with our AI-driven Video Summarizer. It also works for Podcasts, Twitter, Meetings, Lectures, Tiktok videos, and more. Discover a more brilliant way to learn with ChatGPT, your best AI-powered study companion! (formerly BiliGPT) "stream-saving artifact & class representative".
Alternate address: https://b.jimmylv.cn
Browser extension: https://bibigpt.co/extension
🤖 BibiGPT · AI 音视频内容一键总结 & 对话 [https://bibigpt.co](https://bibigpt.co)
🎉 ChatGPT AI 音视频一键总结,轻松学习哔哩哔哩丨 YouTube 丨本地视频丨本地音频丨播客丨小红书丨抖音丨会议丨讲座丨网页等任意内容。BibiGPT 助力于成为最好的 AI 学习助理,支持免费试用!(原 BiliGPT 省流神器 & AI 课代表)(支持 iOS 快捷指令 & 微信服务号)。
备用地址:https://b.jimmylv.cn
浏览器插件: https://bibigpt.co/extension
🎬 This project summarizes YouTube/Bilibili/Twitter/TikTok/Podcast/Lecture/Meeting/... videos or audios for you using AI.
🤯 Inspired by Nutlope/news-summarizer & zhengbangbo/chat-simplifier & lxfater/BilibiliSummary
🚀 First Launch: 【BibiGPT】AI 自动总结 B 站视频内容,GPT-3 智能提取并总结字幕
How it works
This project uses the AI SDK OpenAI-compatible provider with Vercel Edge functions for streaming, plus Upstash for Redis cache and rate limiting. It fetches the content on a Bilibili video, sends it in a prompt to an OpenAI-compatible API, then streams the response back to the application.
Saving costs
Projects like this can get expensive so in order to save costs if you want to make your own version and share it publicly, I recommend three things:
- 1. Implement rate limiting so people can't abuse your site
- 2. Implement caching to avoid expensive AI re-generations
- 3. Use
text-curie-001instead oftext-dacinci-003in thesummarizeedge function
Running Locally
After cloning the repo, go to OpenAI to make an account and put your API key in a file called .env.
Then, run the application in the command line and it will be available at http://localhost:3000.
specific running procedure is described in this document - Chinese version
npm run devDeployment
Deploy the example using Vercel
Setup the env variables, by following the ./example.env file.
Support Docker
https://github.com/JimmyLv/BibiGPT/pull/133
# make sure setup .env file firstly
docker compose up -dSupport -> Contact Me
Star History
Contributors
This project exists thanks to all the people who contribute.
Overview (`.agents/skills/vercel-react-best-practices/README.md`)
React Best Practices
A structured repository for creating and maintaining React Best Practices optimized for agents and LLMs.
Structure
rules/- Individual rule files (one per rule)_sections.md- Section metadata (titles, impacts, descriptions)_template.md- Template for creating new rulesarea-description.md- Individual rule files
src/- Build scripts and utilitiesmetadata.json- Document metadata (version, organization, abstract)AGENTS.md- Compiled output (generated)test-cases.json- Test cases for LLM evaluation (generated)
Getting Started
Install dependencies:
bashpnpm installBuild AGENTS.md from rules:
bashpnpm buildValidate rule files:
bashpnpm validateExtract test cases:
bashpnpm extract-tests
Creating a New Rule
- Copy
rules/_template.mdtorules/area-description.md - Choose the appropriate area prefix:
async-for Eliminating Waterfalls (Section 1)bundle-for Bundle Size Optimization (Section 2)server-for Server-Side Performance (Section 3)client-for Client-Side Data Fetching (Section 4)rerender-for Re-render Optimization (Section 5)rendering-for Rendering Performance (Section 6)js-for JavaScript Performance (Section 7)advanced-for Advanced Patterns (Section 8)
- Fill in the frontmatter and content
- Ensure you have clear examples with explanations
- Run
pnpm buildto regenerate AGENTS.md and test-cases.json
Rule File Structure
Each rule file should follow this structure:
---
title: Rule Title Here
impact: MEDIUM
impactDescription: Optional description
tags: tag1, tag2, tag3
---
## Rule Title Here
Brief explanation of the rule and why it matters.
**Incorrect (description of what's wrong):**
```typescript
// Bad code example
```Correct (description of what's right):
// Good code exampleOptional explanatory text after examples.
Reference: Link
File Naming Convention
- Files starting with
_are special (excluded from build) - Rule files:
area-description.md(e.g.,async-parallel.md) - Section is automatically inferred from filename prefix
- Rules are sorted alphabetically by title within each section
- IDs (e.g., 1.1, 1.2) are auto-generated during build
Impact Levels
CRITICAL- Highest priority, major performance gainsHIGH- Significant performance improvementsMEDIUM-HIGH- Moderate-high gainsMEDIUM- Moderate performance improvementsLOW-MEDIUM- Low-medium gainsLOW- Incremental improvements
Scripts
pnpm build- Compile rules into AGENTS.mdpnpm validate- Validate all rule filespnpm extract-tests- Extract test cases for LLM evaluationpnpm dev- Build and validate
Contributing
When adding or modifying rules:
- Use the correct filename prefix for your section
- Follow the
_template.mdstructure - Include clear bad/good examples with explanations
- Add appropriate tags
- Run
pnpm buildto regenerate AGENTS.md and test-cases.json - Rules are automatically sorted by title - no need to manage numbers!
Acknowledgments
Originally created by @shuding at Vercel.
--- METRICS ---
- Files Extracted: 2
- Estimated Token Budget: ~1711 tokens
- Canonical Reference: https://codewiki.google/github.com/JimmyLv/BibiGPT-v1