@CycleDecoded: 兄弟们,别再往文件助手和收藏夹里疯狂囤垃圾了。GitHub 上刚出的这个离谱开源项目,直接把“稍后再看”做成了全自动的 AI 助理,白嫖党和信息囤积狂直接狂喜! 这玩意叫 SuperBrain,是开发者 sidinsearch 搞出的一个…
摘要
GitHub 上刚出的开源项目 SuperBrain,是一个完全自托管的 AI '第二大脑',支持安卓端一键保存和 AI 自动分析视频、帖子等内容,使用本地 SQLite 数据库,零订阅费。
查看缓存全文
缓存时间: 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.
📱 App Screenshots
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Table of Contents
- The Problem
- The Solution
- Features
- Architecture
- AI Model Router
- Getting Started
- Packages
- Instagram Credentials
- Installing the Android App
- Release Process
- Hosting Options
- Notifications
- API Reference
- Tech Stack
- Contributing
- License
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
| Feature | Description |
|---|---|
| Universal share target | Works with any app that shares URLs — Instagram, YouTube, Chrome, Reddit, etc. |
| Multi-provider AI | Automatic fallback across Groq, Gemini, OpenRouter, and Ollama |
| Smart model router | EMA-ranked, auto-healing, self-optimising — always picks the fastest available model |
| Music identification | Shazam-powered background music detection from Instagram reels |
| Audio transcription | Groq Whisper API (cloud) with local OpenAI Whisper as offline fallback |
| Native YouTube analysis | Gemini watches the video directly — no download needed |
| Web scraping | Multi-strategy extraction (newspaper4k, trafilatura, Wayback Machine) |
📂 Organisation & Discovery
| Feature | Description |
|---|---|
| Custom collections | Watch Later, Recipes, Work, or any category you create |
| Full-text search | Search across titles, summaries, tags, and transcriptions |
| Smart filtering | Filter by category, tags, or collection |
| Watch Later reminders | Daily notifications with unique time slots per post (8 AM – 9:30 PM) |
| Urgent alerts | Morning notifications for deadline-sensitive content (exams, hackathons) |
| Offline-first | Queues saves locally and syncs automatically when reconnected |
| Retry recovery | Failed 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
| Task | Fallback Order |
|---|---|
| Text analysis | Groq → Gemini → OpenRouter (hardcoded best) → Dynamic free OpenRouter → Ollama |
| Vision | Gemini → Groq Vision → OpenRouter Vision → Ollama Vision |
| Transcription | Groq Whisper API → Local OpenAI Whisper |
| YouTube | Gemini (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.jsonso performance data survives server restarts
Supported Providers
| Provider | Key in config/.api_keys | Notes |
|---|---|---|
| Groq | GROQ_API_KEY | Fastest inference — free tier at console.groq.com |
| Google Gemini | GEMINI_API_KEY | Most generous free tier at aistudio.google.com |
| OpenRouter | OPENROUTER_API_KEY | Free 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
| Requirement | Install | Needed For |
|---|---|---|
| Python 3.10+ | python.org | npm + local Python setup |
| ffmpeg | sudo apt install ffmpeg / brew install ffmpeg / winget install Gyan.FFmpeg | all backend methods |
| Node.js 20+ | nodejs.org | npm one-line setup |
| Docker + Compose | docs.docker.com/get-started | Docker setup |
| ngrok (optional) | ngrok.com | phone 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:
- Downloads backend package to
~/.superbrain-server - Creates virtual environment
- Installs dependencies
- Runs interactive setup wizard
- 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
- Start backend using any method above.
- Copy the Access Token shown by backend.
- In Android app Settings, set backend URL and Access Token.
- Verify
/healthendpoint 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_KEYis accepted as a compatibility alias, butGEMINI_API_KEYis the preferred key name.
Packages
SuperBrain backend launcher is published in two registries:
-
npmjs: superbrain-server
- Stable install:
npx -y superbrain-server@latest
- Stable install:
-
GitHub Packages:
@sidinsearch/superbrain-server- One-time auth + install block (
read:packagestoken required): - Note: only needed for GitHub Packages. Not needed for npmjs (
superbrain-server) installs.
- One-time auth + install block (
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:
| Limitation | Details |
|---|---|
| Public posts only | Only posts from public profiles that Instagram serves to unauthenticated users |
| Rate limiting | Instagram aggressively rate-limits anonymous requests — you may need to wait several minutes between saves |
| Login-required blocks | Some 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.
- Download
superbrain.apkfrom the latest release - On your Android device, enable Install from unknown sources
- 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 withsuperbrain.apk - release APK workflow: Optional tag/release-driven APK pipeline for versioned tags
Automatic release targets:
- Push to
mainupdates release taglatest(stable).
How to get the newest APK from Actions artifacts:
- Push your changes to
main. - Open GitHub → Actions → Build APK (Gradle).
- Open the latest successful run.
- Download the artifact named like
superbrain-release-<run_number>. - Extract it and rename
superbrain.apkif needed. - 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.
- Push changes to
main. .github/workflows/build.ymlruns 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-serverto GitHub Packages.
- 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:
latest(main) release containssuperbrain.apk.- Repository Packages tab shows
@sidinsearch/superbrain-server. - 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+:
| Platform | Cost | Notes |
|---|---|---|
| Your PC / laptop | Free | Use ngrok to expose · disable sleep / hibernate |
| Raspberry Pi | ~$50 one-time | Low power, always-on home server |
| AWS EC2 | Free tier | t2.micro handles it fine |
| DigitalOcean | $4/mo | Basic droplet |
| Hetzner | €3.29/mo | Fast EU-based VPS |
| Google Cloud Run | Pay-per-use | Serverless, 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:
| Notification | When | Details |
|---|---|---|
| Instant confirmation | Immediately | High-priority heads-up banner |
| Daily reminder | Once per day, unique time slot per post | Spread between 8:00 AM – 9:30 PM |
| Urgent morning alert | 9:00 AM | Only 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.
| Method | Endpoint | Description |
|---|---|---|
POST | /analyze | Submit a URL for analysis (queued if busy) |
GET | /cache/{shortcode} | Retrieve cached analysis by shortcode |
GET | /recent | List recent analyses |
GET | /search | Full-text search across posts |
GET | /category/{category} | Filter posts by category |
GET | /stats | Database statistics |
GET | /caption | Extract Instagram caption from URL |
GET | /collections | List all collections |
POST | /collections | Create a new collection |
PUT | /collections/{id}/posts | Update 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-status | Current processing and queue state |
GET | /queue/retry | Items scheduled for automatic retry |
POST | /queue/retry/flush | Force-promote retry items to active queue |
GET | /ping | Connectivity check |
GET | /health | Health check with system info |
Interactive API docs are available at
http://localhost:5000/docs(Swagger UI) and/redoc.
Tech Stack
| Layer | Technology |
|---|---|
| Mobile | React Native 0.81 · Expo SDK 54 · TypeScript |
| Backend | Python 3 · FastAPI · Uvicorn |
| Database | SQLite with WAL mode |
| AI Routing | Custom multi-provider router (Groq · Gemini · OpenRouter · Ollama) |
| Vision | OpenCV frame extraction → AI vision models |
| Transcription | Groq Whisper API → OpenAI Whisper (local fallback) |
| Music ID | Shazamio (multi-segment recognition) |
| Instaloader + Instagrapi | |
| Web Scraping | newspaper4k · trafilatura · Wayback Machine · BeautifulSoup |
| Notifications | Expo Notifications · Android notification channels |
| CI/CD | GitHub Actions (Gradle APK build) · EAS Build |
Contributing
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch —
git checkout -b feature/my-feature - Commit your changes —
git commit -m "feat: add my feature" - Push to the branch —
git push origin feature/my-feature - 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 Case | Allowed? |
|---|---|
| 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,真…
推荐11个GitHub上优质开源项目,涵盖AI智能体框架、AI编程、记忆系统、科研自动化和量化投资工具,旨在帮助开发者快速上手和提升效率。
@GitHub_Daily: 平时收藏了一堆文章和论文,全堆在笔记软件里吃灰,从来没整理过。 second-brain 的思路是让 AI 来当图书管理员,我们只管把素材扔进 raw 文件夹。 AI 读完会自动把内容写成一篇篇结构化的 Wiki,页面之间带双链,索引也替…
Second Brain 是一个基于LLM的个人知识库工具,自动将原始素材整理成结构化的Wiki,支持Obsidian浏览和Agent集成。
@0x404page: 卧槽!兄弟们! AI时代已经杀到眼前了! 想想就可怕…… 99%的人还在996卷死卷活,而真正聪明的人,已经用AI做副业赚钱、快速提升自己了! 白嫖党福音直接砸脸!!! 我直接在GitHub上给你挖到5个顶级优质项目,全都是免费开源的实操…
该推文分享了5个免费开源的GitHub项目,涵盖AI副业赚钱、程序副业、被动收入等实操资源,鼓励用户利用AI时代快速提升自己。
@teach_fireworks: 别让 AI Agent 第二次踩同一个坑。 最近看到一个挺有意思的开源项目:RoBrain https://github.com/adelinamart/robrain… RoBrain 是 AI 编程团队的“决策记忆层”,专门记录一次次…
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 写的单个可执行文件,零依赖,…
codebase-memory-mcp 是一个用纯 C 编写的工具,可将整个代码库解析为知识图谱,支持 158 种编程语言,兼容 11 款 AI 编程代理工具,能大幅提升 AI 对项目结构的理解并降低 token 消耗。








