自托管的 GitHub Stars 管理工具 | A self-hosted GitHub Stars manager
中文 | English
- Lists 分类管理 - 创建自定义 Lists,将仓库按项目、技术栈或用途分类,支持 24 种预设颜色
- AI 智能分类 - 接入 OpenAI 兼容 API,一键自动分类所有未整理的仓库
- 双向同步 - 与 GitHub 实时同步,取消 Star 也会同步到你的账号
- README 预览 - 无需跳转即可查看仓库的 README 文档
- 全文搜索 - 按名称、描述快速搜索仓库
- 多维筛选 - 按语言、List、星标数、更新时间等筛选
- 排序方式 - 支持按 Star 时间、更新时间、星标数等排序
- 笔记备注 - 为仓库添加个人笔记,记录使用心得和备忘
- 导入导出 - 支持 JSON/CSV 格式导出,便于备份和迁移
- 数据持久化 - PostgreSQL 存储,支持数据目录映射便于备份
- 主题切换 - 支持亮色/暗色模式,偏好自动保存
- 键盘快捷键 - 支持快捷键操作,提升效率
- 响应式设计 - 适配桌面和移动端
- 访问 GitHub Developer Settings
- 点击 "New OAuth App"
- 填写信息:
- Homepage URL:
https://你的域名 - Callback URL:
https://你的域名/api/auth/callback/github
- Homepage URL:
| 变量 | 说明 |
|---|---|
GITHUB_CLIENT_ID |
GitHub OAuth App Client ID |
GITHUB_CLIENT_SECRET |
GitHub OAuth App Client Secret |
NEXTAUTH_SECRET |
随机密钥(使用 openssl rand -base64 32 生成) |
NEXTAUTH_URL |
应用域名 |
docker pull gemiluxvii/starflow:latestcat > .env << 'EOF'
GITHUB_CLIENT_ID=你的GitHub_Client_ID
GITHUB_CLIENT_SECRET=你的GitHub_Client_Secret
NEXTAUTH_SECRET=随机密钥
NEXTAUTH_URL=https://你的域名
EOF- curl 获取
curl -O https://raw.githubusercontent.com/GEMILUXVII/starflow/main/docker-compose.yml- 或者复制下面的文本:
services:
starflow:
image: gemiluxvii/starflow:latest
container_name: starflow
restart: unless-stopped
ports:
- "3000:3000"
environment:
- DATABASE_URL=postgresql://starflow:starflow@db:5432/starflow
- GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID}
- GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET}
- NEXTAUTH_SECRET=${NEXTAUTH_SECRET}
- NEXTAUTH_URL=${NEXTAUTH_URL}
depends_on:
db:
condition: service_healthy
db:
image: postgres:16-alpine
container_name: starflow-db
restart: unless-stopped
environment:
- POSTGRES_USER=starflow
- POSTGRES_PASSWORD=starflow
- POSTGRES_DB=starflow
volumes:
- ./data/postgres:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U starflow"]
interval: 5s
timeout: 5s
retries: 5docker compose up -ddocker compose exec starflow npx prisma db push --skip-generate然后就可以在 http://serverip:3000 看到starflow的页面了
Starflow 提供浏览器扩展,可以直接在 GitHub 仓库页面快速管理 Stars。
- 快速分类 - 在 GitHub 页面直接将仓库添加到 Lists
- AI 建议 - 一键获取 AI 分类建议
- 快速笔记 - 为仓库添加备注
- 同步 Stars - 快速同步最新的 Star 数据
从 Releases 页面下载最新版本:
starflow-extension-x.x.x-chrome.zip- Chrome / Edgestarflow-extension-x.x.x-firefox.zip- Firefox
Chrome / Edge:
- 下载并解压 zip 文件到一个文件夹
- 打开
chrome://extensions/(或edge://extensions/) - 开启右上角的「开发者模式」
- 点击「加载已解压的扩展程序」
- 选择解压后的文件夹(不是 zip 文件)
Firefox:
- 下载 zip 文件(无需解压)
- 打开
about:addons→ ⚙️ → 「从文件安装附加组件...」 - 选择下载的 zip 文件
安装后,点击浏览器工具栏的 Starflow 图标,在设置中填入你的 Starflow 服务器地址。
Starflow 支持接入 OpenAI 兼容的 API 进行智能分类。
- OpenAI 官方 API
- 第三方中转站(自动兼容 /v1 路径)
- 本地部署的 Ollama、LocalAI 等
- 进入「设置」页面
- 在「AI 分类」部分填写:
- API 地址(如
https://api.openai.com或中转站地址) - API Key
- 模型名称(如
gpt-3.5-turbo)
- API 地址(如
- 点击「测试连接」验证配置
- 启用 AI 分类功能
- 提供 15 种标准分类:AI工具、代理工具、CLI工具、前端、后端、数据库、DevOps、编辑器、开发工具、下载工具、媒体工具、安全工具、学习资源、系统工具、其他
- 支持单个仓库分类和批量一键分类
- 优先匹配已有 Lists,减少重复分类
数据存储在 ./data/postgres 目录,备份该目录即可:
# 备份
tar -czvf starflow-backup.tar.gz ./data
# 迁移到新服务器
tar -xzvf starflow-backup.tar.gz
docker compose up -d# 克隆仓库
git clone https://github.com/GEMILUXVII/starflow.git
cd starflow
# 安装依赖
pnpm install
# 配置环境变量
cp .env.example .env
# 初始化数据库
pnpm prisma generate
pnpm prisma db push
# 启动开发服务器
pnpm dev- 前端: Next.js 15, React 19, Tailwind CSS 4, Radix UI
- 后端: Next.js API Routes, NextAuth.js 5, Prisma 5
- 数据库: PostgreSQL
- AI: OpenAI 兼容 API





