BibiGPT-v1 Documentation

BibiGPT v1 · one-Click AI Summary for Audio/Video & Chat with Learning Content: Bilibili | YouTube | Tweet丨TikTok丨Dropbox丨Google Drive丨Local files |...

6,272 stars TypeScript TypeScript 2 files · ~1,792 tokens #bilibili#chatgpt#gpt#gpt-3#openai#youtube
RAW Doc

Docker & Self-Hosted Deployment Verified OCI

Deploy BibiGPT-v1 on any server, homelab, or cloud container platform.

1-Click Terminal Command
bash (docker run)
docker run -d --name bibigpt-v1 -p 3000:3000 --restart always jimmylv/bibigpt-v1:latest
Configured Services & Ports
⚙️ bibigpt
image: build locally
🔌 Ports: 3000:3000
⚙️ bibigpt-dev
image: build locally
🔌 Ports: 3002:3000
docker-compose.yml
yaml (docker-compose.yml)
# Hi, this is a Docker service startup configuration.
# Please make sure to configure the .env file in this project's root directory before proceeding.
# you can directly execute the following command to start the service.
# $ docker compose up -d

# Choose one of the following two services below.
# If you do not need a particular service, please try to comment it out.

version: '3.9'
services:
  # Service 1> Production environment image
  bibigpt:
    build:
      context: ./
      dockerfile: Dockerfile
      args:
        # If you want to use sentry, please set IS_USED_SENTRY=1
        IS_USED_SENTRY: 0
    container_name: bibigpt
    ports:
      - 3000:3000

  #  Service 2> Development environment image
  bibigpt-dev:
    build:
      context: ./
      dockerfile: dev.Dockerfile
    container_name: bibigpt-dev
    ports:
      - 3002:3000
    env_file: .env

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-001 instead of text-dacinci-003 in the summarize edge 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

bash
npm run dev

Deployment

Deploy the example using Vercel

Setup the env variables, by following the ./example.env file.

Support Docker

https://github.com/JimmyLv/BibiGPT/pull/133

shell
# make sure setup .env file firstly
docker compose up -d

Support -> 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 rules
    • area-description.md - Individual rule files
  • src/ - Build scripts and utilities
  • metadata.json - Document metadata (version, organization, abstract)
  • AGENTS.md - Compiled output (generated)
  • test-cases.json - Test cases for LLM evaluation (generated)

Getting Started

  1. Install dependencies:

    bash
    pnpm install
  2. Build AGENTS.md from rules:

    bash
    pnpm build
  3. Validate rule files:

    bash
    pnpm validate
  4. Extract test cases:

    bash
    pnpm extract-tests

Creating a New Rule

  1. Copy rules/_template.md to rules/area-description.md
  2. 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)
  3. Fill in the frontmatter and content
  4. Ensure you have clear examples with explanations
  5. Run pnpm build to regenerate AGENTS.md and test-cases.json

Rule File Structure

Each rule file should follow this structure:

markdown
---
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):

typescript
// Good code example

Optional 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 gains
  • HIGH - Significant performance improvements
  • MEDIUM-HIGH - Moderate-high gains
  • MEDIUM - Moderate performance improvements
  • LOW-MEDIUM - Low-medium gains
  • LOW - Incremental improvements

Scripts

  • pnpm build - Compile rules into AGENTS.md
  • pnpm validate - Validate all rule files
  • pnpm extract-tests - Extract test cases for LLM evaluation
  • pnpm dev - Build and validate

Contributing

When adding or modifying rules:

  1. Use the correct filename prefix for your section
  2. Follow the _template.md structure
  3. Include clear bad/good examples with explanations
  4. Add appropriate tags
  5. Run pnpm build to regenerate AGENTS.md and test-cases.json
  6. Rules are automatically sorted by title - no need to manage numbers!

Acknowledgments

Originally created by @shuding at Vercel.


--- METRICS ---