@CycleDecoded: 兄弟们,别再往文件助手和收藏夹里疯狂囤垃圾了。GitHub 上刚出的这个离谱开源项目,直接把“稍后再看”做成了全自动的 AI 助理,白嫖党和信息囤积狂直接狂喜! 这玩意叫 SuperBrain,是开发者 sidinsearch 搞出的一个…

X AI KOLs Timeline 工具

摘要

GitHub 上刚出的开源项目 SuperBrain,是一个完全自托管的 AI '第二大脑',支持安卓端一键保存和 AI 自动分析视频、帖子等内容,使用本地 SQLite 数据库,零订阅费。

兄弟们,别再往文件助手和收藏夹里疯狂囤垃圾了。GitHub 上刚出的这个离谱开源项目,直接把“稍后再看”做成了全自动的 AI 助理,白嫖党和信息囤积狂直接狂喜! 这玩意叫 SuperBrain,是开发者 sidinsearch 搞出的一个神仙工具。它本质上是一个完全自托管的 AI “第二大脑”,自带安卓端和 Python 后端。无论你在刷 YouTube、看帖子还是刷短视频,一键分享给它,AI 就会在后台帮你搞定一切。最狠的是它只用本地 SQLite 数据库,主打一个零订阅费、拒绝数据收割,真正的赛博防身。 产品猎手 核心点: 原生无缝接入:安卓分享菜单一键直连,刷到哪就能存到哪。 AI 自动提取:自动总结视频、转录音频,甚至能扒出短视频的 BGM。 智能模型路由:自动测速切换 Groq、Gemini 和本地 Ollama。 数据绝对私有:全本地存储,没有云端绑架,谁也偷不走你的隐私。 专治收藏吃灰:智能打标签加每日提醒,囤进去的资料这下真能看完了。 GitHub 地址:https://github.com/sidinsearch/superbrain…
查看原文
查看缓存全文

缓存时间: 2026/07/06 14:14

兄弟们,别再往文件助手和收藏夹里疯狂囤垃圾了。GitHub 上刚出的这个离谱开源项目,直接把“稍后再看”做成了全自动的 AI 助理,白嫖党和信息囤积狂直接狂喜!

这玩意叫 SuperBrain,是开发者 sidinsearch 搞出的一个神仙工具。它本质上是一个完全自托管的 AI “第二大脑”,自带安卓端和 Python 后端。无论你在刷 YouTube、看帖子还是刷短视频,一键分享给它,AI 就会在后台帮你搞定一切。最狠的是它只用本地 SQLite 数据库,主打一个零订阅费、拒绝数据收割,真正的赛博防身。
产品猎手

核心点:

原生无缝接入:安卓分享菜单一键直连,刷到哪就能存到哪。

AI 自动提取:自动总结视频、转录音频,甚至能扒出短视频的 BGM。

智能模型路由:自动测速切换 Groq、Gemini 和本地 Ollama。

数据绝对私有:全本地存储,没有云端绑架,谁也偷不走你的隐私。

专治收藏吃灰:智能打标签加每日提醒,囤进去的资料这下真能看完了。

GitHub 地址:https://github.com/sidinsearch/superbrain…


sidinsearch/superbrain

Source: https://github.com/sidinsearch/superbrain

🧠 SuperBrain

Save anything. Understand everything. Forget nothing.

A self-hosted AI-powered second brain for Android — save Instagram posts, YouTube videos, and web pages directly from the share sheet, have them automatically analysed by AI, and rediscover them with intelligent search, collections, and smart notifications.

License: AGPL v3 Python 3.10+ React Native Expo SDK 54 npm package

SuperBrain on Product Hunt

Download APK Report Bug Request Feature


📱 App Screenshots


Table of Contents


The Problem

We all save content constantly — Instagram posts, YouTube videos, Reddit threads, articles, recipes — but every platform buries it in its own silo:

  • Instagram Saved is a graveyard. No search, no categories, no reminders. You save hundreds of posts and never look at them again.
  • YouTube Watch Later piles up endlessly with no way to know what each video was about without rewatching it.
  • Browser bookmarks are a mess — unsorted folders full of dead links and forgotten context.
  • Screenshots fill your gallery with no searchable text.

You spend time saving things you’ll never find again. You forget what you saved, why you saved it, and where you saved it.

The Solution

SuperBrain is a self-hosted Android app + Python backend that acts as your personal AI-powered content archive. Share any URL from any app — the backend analyses it with AI in seconds and gives you:

  • A clean title and summary so you instantly know what it’s about
  • Auto-assigned category and tags for filtering at a glance
  • Background music identification from Instagram reels (via Shazam)
  • Audio transcription from videos (Groq Whisper API + local Whisper)
  • Smart Watch Later reminders that actually bring you back to your content

Everything is stored in a local SQLite database you own — no cloud subscriptions, no data harvesting, no vendor lock-in.


Features

✨ Content Analysis

FeatureDescription
Universal share targetWorks with any app that shares URLs — Instagram, YouTube, Chrome, Reddit, etc.
Multi-provider AIAutomatic fallback across Groq, Gemini, OpenRouter, and Ollama
Smart model routerEMA-ranked, auto-healing, self-optimising — always picks the fastest available model
Music identificationShazam-powered background music detection from Instagram reels
Audio transcriptionGroq Whisper API (cloud) with local OpenAI Whisper as offline fallback
Native YouTube analysisGemini watches the video directly — no download needed
Web scrapingMulti-strategy extraction (newspaper4k, trafilatura, Wayback Machine)

📂 Organisation & Discovery

FeatureDescription
Custom collectionsWatch Later, Recipes, Work, or any category you create
Full-text searchSearch across titles, summaries, tags, and transcriptions
Smart filteringFilter by category, tags, or collection
Watch Later remindersDaily notifications with unique time slots per post (8 AM – 9:30 PM)
Urgent alertsMorning notifications for deadline-sensitive content (exams, hackathons)
Offline-firstQueues saves locally and syncs automatically when reconnected
Retry recoveryFailed analyses can be retried directly from the Library

Architecture

superbrain/
├── backend/
│   ├── start.py                  # Interactive setup wizard & server launcher
│   ├── reset.py                  # Reset / clean utility (selective wipe)
│   ├── api.py                    # FastAPI REST API (18 endpoints) + queue worker
│   ├── main.py                   # Analysis orchestrator (parallel processing)
│   ├── core/
│   │   ├── model_router.py       # Multi-provider AI router with EMA ranking
│   │   ├── database.py           # SQLite (WAL mode) — posts, queue, collections
│   │   ├── link_checker.py       # URL validator (Instagram / YouTube / web)
│   │   └── category_manager.py   # Category normalisation & deduplication
│   ├── analyzers/
│   │   ├── visual_analyze.py     # Vision analysis (frame extraction + AI)
│   │   ├── audio_transcribe.py   # Groq Whisper → local Whisper fallback
│   │   ├── music_identifier.py   # Shazamio multi-segment recognition
│   │   ├── text_analyzer.py      # Caption / metadata AI analysis
│   │   ├── caption.py            # Instagram caption extractor
│   │   ├── youtube_analyzer.py   # Gemini native YouTube understanding
│   │   └── webpage_analyzer.py   # Multi-strategy web scraper + AI summary
│   ├── instagram/
│   │   ├── instagram_downloader.py  # Instaloader engine (auth/anonymous)
│   │   └── instagram_login.py      # One-time session setup with 2FA
│   ├── utils/
│   │   ├── db_stats.py           # Database statistics
│   │   └── manage_token.py       # API token management
│   ├── config/
│   │   ├── .api_keys.example     # Template for API keys
│   │   ├── openrouter_free_models.json
│   │   └── model_rankings.json   # Persisted provider performance data
│   ├── tests/
│   └── requirements.txt
│
└── superbrain-app/               # React Native (Expo SDK 54)
    ├── App.tsx                   # Navigation + notification handlers
    ├── src/
    │   ├── screens/
    │   │   ├── HomeScreen.tsx          # Feed with search, filters, categories
    │   │   ├── LibraryScreen.tsx       # Collections + failed analyses
    │   │   ├── PostDetailScreen.tsx    # Full post view (edit, re-analyse, delete)
    │   │   ├── CollectionDetailScreen.tsx
    │   │   ├── SettingsScreen.tsx      # Server URL + token configuration
    │   │   ├── ShareHandlerScreen.tsx  # Receives shared URLs from other apps
    │   │   ├── FailedAnalysisScreen.tsx
    │   │   └── SplashScreen.tsx
    │   ├── services/
    │   │   ├── api.ts                  # Axios client + offline queue & retry
    │   │   ├── postsCache.ts           # AsyncStorage cache + pending mutations
    │   │   ├── collections.ts          # Collection CRUD + offline sync
    │   │   └── notificationService.ts  # Watch Later scheduling + channels
    │   ├── components/
    │   │   └── CustomToast.tsx
    │   ├── types/index.ts
    │   └── theme/colors.ts
    └── android/                  # Native Android project (Gradle)

  └── superbrain-cli/               # npm wrapper for one-line backend install
    ├── bin/superbrain.js         # Cross-platform launcher (downloads/runs backend)
    ├── scripts/build.js          # Payload packager for npm release
    └── payload/                  # Bundled backend template shipped to users

AI Model Router

Free AI APIs have rate limits, downtime, and variable speed. SuperBrain solves this with a multi-provider model router that automatically selects the fastest available model and falls back transparently on failure — you never have to think about which provider is working.

Priority Chain

TaskFallback Order
Text analysisGroq → Gemini → OpenRouter (hardcoded best) → Dynamic free OpenRouter → Ollama
VisionGemini → Groq Vision → OpenRouter Vision → Ollama Vision
TranscriptionGroq Whisper API → Local OpenAI Whisper
YouTubeGemini (native URL understanding)

How It Works

  • Performance ranking — tracks response times with an exponential moving average; faster models get promoted automatically
  • Cooldown on failure — generic errors trigger a 5‑minute cooldown; rate limits (HTTP 429) trigger a 30‑minute cooldown
  • Dynamic discovery — refreshes the OpenRouter free model list every 6 hours, scores models by context length, capabilities, recency, and provider trust
  • Persistent rankings — saved to config/model_rankings.json so performance data survives server restarts

Supported Providers

ProviderKey in config/.api_keysNotes
GroqGROQ_API_KEYFastest inference — free tier at console.groq.com
Google GeminiGEMINI_API_KEYMost generous free tier at aistudio.google.com
OpenRouterOPENROUTER_API_KEYFree model router at openrouter.ai
Ollama(no key needed)Local inference — start.py guides setup · recommended model: qwen3-vl:4b

Tip: You don’t need all providers — the router falls back automatically. Start with at least Gemini (most generous free tier). Ollama serves as the fully offline last resort.


Getting Started

Backend Setup Prerequisites

RequirementInstallNeeded For
Python 3.10+python.orgnpm + local Python setup
ffmpegsudo apt install ffmpeg / brew install ffmpeg / winget install Gyan.FFmpegall backend methods
Node.js 20+nodejs.orgnpm one-line setup
Docker + Composedocs.docker.com/get-startedDocker setup
ngrok (optional)ngrok.comphone access from outside local network

Method 1: npm One-Line Setup (Recommended)

This is the easiest way to run backend on any PC without cloning this repository.

# Run directly (no global install)
npx -y superbrain-server@latest

Optional global install:

npm install -g superbrain-server
superbrain-server

What this does on first run:

  1. Downloads backend package to ~/.superbrain-server
  2. Creates virtual environment
  3. Installs dependencies
  4. Runs interactive setup wizard
  5. Starts API server and prints Access Token

Useful commands:

superbrain-server               # Starts the backend engine
superbrain-server status        # Show connection QR code & running server info
superbrain-server update        # Update the backend components
superbrain-server ngrok         # Configure Ngrok tunnel
superbrain-server reset         # Open interactive reset menu
superbrain-server reset --all   # Force complete data wipe

Method 2: Docker Setup

Use this when you want containerized, reproducible deployment.

cd superbrain/backend
cp .env.example .env

Edit .env and set at least:

  • GEMINI_API_KEY (recommended)
  • GROQ_API_KEY (optional)
  • OPENROUTER_API_KEY (optional)

Then run:

docker compose up -d --build
docker compose logs -f superbrain-api

Health check:

curl http://localhost:5000/health

Method 3: Local Python Setup (Normal)

Use this when developing backend locally without Docker.

Windows (PowerShell):

cd superbrain\backend
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
python start.py

Linux / macOS:

cd superbrain/backend
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python start.py

Direct API run (without setup wizard):

python api.py

Connect Android App to Backend

  1. Start backend using any method above.
  2. Copy the Access Token shown by backend.
  3. In Android app Settings, set backend URL and Access Token.
  4. Verify /health endpoint returns OK.

Optional: Expose Backend for Phone Access

If phone cannot reach your PC directly, expose port 5000:

ngrok http 5000

Use the generated HTTPS URL in app Settings.

Tip: GOOGLE_API_KEY is accepted as a compatibility alias, but GEMINI_API_KEY is the preferred key name.


Packages

SuperBrain backend launcher is published in two registries:

  • npmjs: superbrain-server

    • Stable install: npx -y superbrain-server@latest
  • GitHub Packages: @sidinsearch/superbrain-server

    • One-time auth + install block (read:packages token required):
    • Note: only needed for GitHub Packages. Not needed for npmjs (superbrain-server) installs.
npm config set @sidinsearch:registry https://npm.pkg.github.com
npm config set //npm.pkg.github.com/:_authToken YOUR_GITHUB_TOKEN
npx -y @sidinsearch/superbrain-server@latest

GitHub Packages docs: Working with the npm registry

GitHub Packages is separate from the npmjs package page and may not appear in the repository Packages tab until it has been published and linked there.


Instagram Credentials

SuperBrain uses Instaloader to download Instagram posts. It can operate in two modes:

Without credentials (anonymous mode)

SuperBrain works without any Instagram account — but with limitations:

LimitationDetails
Public posts onlyOnly posts from public profiles that Instagram serves to unauthenticated users
Rate limitingInstagram aggressively rate-limits anonymous requests — you may need to wait several minutes between saves
Login-required blocksSome posts trigger a LoginRequiredException even if the profile is public — these get auto-queued for retry later

YouTube videos and web pages are not affected — they work fully without Instagram credentials.

With credentials (recommended)

Adding Instagram credentials removes all the above restrictions:

  • Reliable downloads — authenticated sessions are not rate-limited for normal usage
  • Access to all public posts — no more login-required blocks
  • Posts from followed private accounts — if the authenticated account follows a private profile, those posts can be saved too
  • Session caching — you log in once and the session is reused automatically until Instagram invalidates it

How to set up

Option 1 — During setup wizard (recommended)

start.py prompts for Instagram credentials during first-run setup. Enter your username and password when asked — they’re saved to config/.api_keys and a session file is created automatically.

Option 2 — Manual login

cd superbrain/backend
python instagram/instagram_login.py

This interactive script handles the full login flow including two-factor authentication (2FA). It saves:

  • Credentials → config/.api_keys (gitignored)
  • Session → .instaloader_session (gitignored)

⚠️ Security advice

Use a secondary / burner Instagram account — not your main personal account.

While credentials are stored locally and never transmitted anywhere other than Instagram’s servers, using a disposable account protects your primary account from any risk of rate-limit flags or session issues.

Credentials are stored in config/.api_keys which is gitignored — they will never be committed to version control. The cached session file (.instaloader_session) is also gitignored.


Installing the Android App

Option 1 — Download from Releases (easiest)

The latest APK is always available on the Releases page.

  1. Download superbrain.apk from the latest release
  2. On your Android device, enable Install from unknown sources
  3. Open the APK to install

Option 2 — EAS Cloud Build

npm install -g eas-cli
eas login
cd superbrain-app
eas build --platform android --profile preview --non-interactive

EAS returns a download URL + QR code when done. No Android Studio required.

Option 3 — GitHub Actions

The repo includes:

  • build workflow: On push to main, it builds APK, uploads artifact, publishes the GitHub npm package, and updates the release with superbrain.apk
  • release APK workflow: Optional tag/release-driven APK pipeline for versioned tags

Automatic release targets:

  1. Push to main updates release tag latest (stable).

How to get the newest APK from Actions artifacts:

  1. Push your changes to main.
  2. Open GitHub → Actions → Build APK (Gradle).
  3. Open the latest successful run.
  4. Download the artifact named like superbrain-release-<run_number>.
  5. Extract it and rename superbrain.apk if needed.
  6. Use it directly for testing/internal sharing.

Option 4 — Local Gradle Build

cd superbrain-app
npm install
cd android
./gradlew assembleRelease
# Output: android/app/build/outputs/apk/release/app-release.apk

Release Process

Use this push-based flow to keep GitHub release + APK + GitHub Packages aligned.

  1. Push changes to main.
  2. .github/workflows/build.yml runs automatically and does all of the following:
  • Builds release APK.
  • Uploads APK as an Actions artifact.
  • Updates the branch release and attaches superbrain.apk.
  • Publishes @sidinsearch/superbrain-server to GitHub Packages.
  1. Verify:
  • APK download works from the release.
  • Package appears under GitHub Packages for the repository.

Recommended release notes install line:

npx -y superbrain-server@latest

Verification checklist:

  1. latest (main) release contains superbrain.apk.
  2. Repository Packages tab shows @sidinsearch/superbrain-server.
  3. Install checks:
  • npmjs: npx -y superbrain-server@latest
  • GitHub Packages: npx -y @sidinsearch/superbrain-server@latest

Hosting Options

The backend is lightweight and runs anywhere with Python 3.10+:

PlatformCostNotes
Your PC / laptopFreeUse ngrok to expose · disable sleep / hibernate
Raspberry Pi~$50 one-timeLow power, always-on home server
AWS EC2Free tiert2.micro handles it fine
DigitalOcean$4/moBasic droplet
Hetzner€3.29/moFast EU-based VPS
Google Cloud RunPay-per-useServerless, scales to zero

For cloud hosting, open port 5000 in your firewall and point the app directly at your server’s public IP — no ngrok needed.


Notifications

SuperBrain uses Android notification channels to keep you engaged with your saved content without being noisy.

Watch Later

Adding a post to the Watch Later collection triggers:

NotificationWhenDetails
Instant confirmationImmediatelyHigh-priority heads-up banner
Daily reminderOnce per day, unique time slot per postSpread between 8:00 AM – 9:30 PM
Urgent morning alert9:00 AMOnly for deadline-sensitive content (exams, hackathons, applications)

Each reminder includes a Mark as Watched action button — tap it to remove from Watch Later and cancel all future reminders for that post.

Other Collections

Saving to any non-Watch Later collection fires an instant “Saved to SuperBrain” notification confirming the save.


API Reference

All endpoints require the X-API-Key header with the Access Token.

MethodEndpointDescription
POST/analyzeSubmit a URL for analysis (queued if busy)
GET/cache/{shortcode}Retrieve cached analysis by shortcode
GET/recentList recent analyses
GET/searchFull-text search across posts
GET/category/{category}Filter posts by category
GET/statsDatabase statistics
GET/captionExtract Instagram caption from URL
GET/collectionsList all collections
POST/collectionsCreate a new collection
PUT/collections/{id}/postsUpdate posts in a collection
DELETE/collections/{id}Delete a collection
PUT/post/{shortcode}Update post fields (category, title, summary)
DELETE/post/{shortcode}Delete a post (cancels active analysis if running)
GET/queue-statusCurrent processing and queue state
GET/queue/retryItems scheduled for automatic retry
POST/queue/retry/flushForce-promote retry items to active queue
GET/pingConnectivity check
GET/healthHealth check with system info

Interactive API docs are available at http://localhost:5000/docs (Swagger UI) and /redoc.


Tech Stack

LayerTechnology
MobileReact Native 0.81 · Expo SDK 54 · TypeScript
BackendPython 3 · FastAPI · Uvicorn
DatabaseSQLite with WAL mode
AI RoutingCustom multi-provider router (Groq · Gemini · OpenRouter · Ollama)
VisionOpenCV frame extraction → AI vision models
TranscriptionGroq Whisper API → OpenAI Whisper (local fallback)
Music IDShazamio (multi-segment recognition)
InstagramInstaloader + Instagrapi
Web Scrapingnewspaper4k · trafilatura · Wayback Machine · BeautifulSoup
NotificationsExpo Notifications · Android notification channels
CI/CDGitHub Actions (Gradle APK build) · EAS Build

Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch — git checkout -b feature/my-feature
  3. Commit your changes — git commit -m "feat: add my feature"
  4. Push to the branch — git push origin feature/my-feature
  5. Open a Pull Request

For major changes, please open an issue first to discuss what you’d like to implement.


License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).

Use CaseAllowed?
Personal & non-commercial use✅ Free, no restrictions
Forking & modifications✅ Must release under AGPL-3.0 with source code
Running as a network service (SaaS)✅ Must publish your modified source code
Commercial / proprietary use❌ Requires a separate commercial license

Made with ❤️ by sidinsearch  ·  Copyright © 2026 sidinsearch  ·  AGPL-3.0 License

相似文章

@Bitcoin188: 卧槽!互联网顶尖那批人,直接把脑子开源了! 这11个GitHub仓库,真的能让你少走三年弯路,白嫖党直接起飞! 兄弟们赶紧码住,慢慢啃,别手动找资料了! PilotDeck(OpenBMB) 几分钟部署一个能自己干活的AI Agent,真…

X AI KOLs Timeline

推荐11个GitHub上优质开源项目,涵盖AI智能体框架、AI编程、记忆系统、科研自动化和量化投资工具,旨在帮助开发者快速上手和提升效率。

@0x404page: 卧槽!兄弟们! AI时代已经杀到眼前了! 想想就可怕…… 99%的人还在996卷死卷活,而真正聪明的人,已经用AI做副业赚钱、快速提升自己了! 白嫖党福音直接砸脸!!! 我直接在GitHub上给你挖到5个顶级优质项目,全都是免费开源的实操…

X AI KOLs Timeline

该推文分享了5个免费开源的GitHub项目,涵盖AI副业赚钱、程序副业、被动收入等实操资源,鼓励用户利用AI时代快速提升自己。

@teach_fireworks: 别让 AI Agent 第二次踩同一个坑。 最近看到一个挺有意思的开源项目:RoBrain https://github.com/adelinamart/robrain… RoBrain 是 AI 编程团队的“决策记忆层”,专门记录一次次…

X AI KOLs Timeline

RoBrain is an open-source shared memory layer for AI coding teams that captures technical decisions, rationale, and rejected alternatives across sessions and tools like Claude Code, Cursor, and Copilot, preventing agents from repeating past mistakes.

@GitHub_Daily: 用 AI 辅助编程时,简单问个问题要逐个文件去翻找读取,既费 token 又容易找错上下文。 codebase-memory-mcp 把整个代码库解析成一张知识图谱,让 AI 直接「看懂」项目结构。 用纯 C 写的单个可执行文件,零依赖,…

X AI KOLs Timeline

codebase-memory-mcp 是一个用纯 C 编写的工具,可将整个代码库解析为知识图谱,支持 158 种编程语言,兼容 11 款 AI 编程代理工具,能大幅提升 AI 对项目结构的理解并降低 token 消耗。