star-knowledge-base
Enables AI agents to search and retrieve information from your GitHub starred repositories via semantic matching, turning your stars into a searchable personal code toolbox.
README
Star Knowledge Base
让你的 GitHub Stars 从收藏夹变成 agent 可检索的个人代码工具箱。
项目定位
通过 GitHub Pages 部署你的 star 项目知识库,本地 agent 通过 MCP server 接入,迅速获取合适的项目。一句话定位:Google 之前先问 agent。
核心痛点
开发者 star 项目后往往会遗忘。star 500+ 个项目,三个月后能记住的不到 10%。当需要某个库时,习惯性 Google 搜索,找到新库后发现其实自己 star 过。这个工具让 agent 帮你从 star 列表中做语义推荐,省去重复搜索的时间。
零摩擦设计
本项目遵循零摩擦原则,不配任何 LLM API key 也能跑:
| 模式 | 元数据生成 | 搜索方式 | 适用场景 |
|---|---|---|---|
| 启发式模式(默认,零门槛) | description + README 第一段 + topics + star 数评分 | 加权关键词匹配 | clone 即可跑,适合快速试用 |
| LLM 增强模式(推荐) | LLM 生成中文摘要、场景标签、质量评分 | 关键词预筛 + LLM 语义精排 | 配了 LLM key 后自动启用,质量大幅提升 |
如需启用 LLM 增强模式,可选用以下任意 OpenAI 兼容的 LLM 渠道(排名不分先后,按个人需求选择):
LLM API 渠道参考
| 渠道 | 费用 | OpenAI 兼容 | 国内访问 | base_url | model |
|---|---|---|---|---|---|
| 智谱 GLM-4.7-Flash | 永久免费 | 是 | 稳定 | https://open.bigmodel.cn/api/paas/v4 |
glm-4.7-flash |
| Groq | 免费速率限制 | 是 | 需代理 | https://api.groq.com/openai/v1 |
llama-3.3-70b-versatile |
| DeepSeek | 付费 | 是 | 稳定 | https://api.deepseek.com/v1 |
deepseek-chat |
| OpenAI 官方 | 付费 | - | 需代理 | 留空 | gpt-4o-mini |
| Anthropic Claude | 付费 | - | 需代理 | 留空 | claude-3-5-sonnet-20241022 |
注:智谱 GLM-4.5-Flash 已于 2026-01-30 下线,当前免费模型为 GLM-4.7-Flash。
关于 DeepWiki/Zread:它们是"按需实时生成文档"的工具,没有批量预计算摘要的 API,不能替代 sync 阶段的 LLM。本项目通过 deepwiki_url / zread_url 字段让 agent 在查询时实时调用它们的 MCP,做深度理解(多跳推理),职责分离。
架构
GitHub Actions(定时)→ 拉 star 数据 + LLM 生成元数据 → JSON
↓
push 到 gh-pages
↓
GitHub Pages: data.json + 搜索页
↓
┌─────────────────────┴──────────────────┐
↓ ↓
浏览器访问 本地 MCP server
(人类用搜索页) (HTTP 拉 JSON,agent 用)
技术栈
| 组件 | 技术方案 | 说明 |
|---|---|---|
| 数据获取 | GitHub starred API + Actions | 定时拉取 starred 数据 |
| 元数据推断 | LLM 从 README/topics 生成 | 摘要、场景标签、质量评分,零摩擦 |
| 部署托管 | GitHub Pages | JSON + 静态搜索页,零后端 |
| Agent 数据访问 | MCP server | HTTP 拉取 Pages 上的 JSON |
| 行为引导 | Agent Skill | 教 agent 优先查 star 知识库 |
| 深度文档 | DeepWiki / Zread 外链 | 项目卡片加深度阅读按钮 |
| 语义匹配 | LLM 实时匹配 | 无需向量数据库,随模型升级自动变好 |
MCP + Skill 双接入
| 机制 | 定位 | 跨平台 | 功能 |
|---|---|---|---|
| MCP server | 集成层(数据访问) | 是 | 运行时搜索 star JSON |
| Agent Skill | 知识层(行为引导) | 是 | 教 agent 优先查 star 而非 Google |
两者都跨平台(Claude Code / Cursor / Trae / Codex / OpenCode 等 40+ 工具支持)。MCP 是数据管道,Skill 是行为习惯。
项目结构
star-knowledge-base/
├── .github/
│ └── workflows/
│ └── sync-stars.yml # GitHub Actions: 定时拉取 star 数据
├── docs/
│ └── decisions/
│ └── 圆桌讨论-GitHub-Pages-Star-Agent-可行性评估-v3.md # 完整 6 轮讨论报告(含纠错)
├── public/ # GitHub Pages 静态文件
│ ├── index.html # 搜索页(Vanilla JS)
│ ├── data.json # star 数据(Actions 自动生成,gitignore)
│ └── data.example.json # 数据结构示例
├── skills/
│ └── star-first-habit/
│ └── SKILL.md # Agent Skill: 教 agent 优先查 star 知识库
├── src/
│ ├── llm_client.py # LLM 客户端抽象(OpenAI / Anthropic 可配置)
│ ├── sync_stars.py # Actions 脚本: 拉数据 + LLM 元数据推断
│ └── mcp_server.py # MCP server: 暴露 search_starred / get_project_details
├── .env.example # 环境变量模板
├── .gitignore
├── requirements.txt # Python 依赖
└── README.md
使用方式
1. Fork 或 Clone 仓库
git clone https://github.com/<your-username>/star-knowledge-base.git
cd star-knowledge-base
2. 配置 GitHub Actions Secrets
在仓库 Settings → Secrets and variables → Actions 中添加以下 Secrets:
| Secret 名称 | 必填 | 说明 | 示例 |
|---|---|---|---|
STAR_GITHUB_USERNAME |
是 | 要拉取 starred 的 GitHub 用户名 | octocat |
LLM_PROVIDER |
否 | LLM 提供商,不配则启发式模式 | openai |
LLM_API_KEY |
否 | LLM API 密钥,不配则启发式模式 | 智谱免费 key |
LLM_BASE_URL |
否 | LLM API 基础 URL(OpenAI 兼容接口用) | https://open.bigmodel.cn/api/paas/v4 |
LLM_MODEL |
否 | 模型名称(不配用默认值) | glm-4.7-flash |
零门槛快速试用:只配 STAR_GITHUB_USERNAME 就能跑,sync 会用启发式模式生成元数据。
推荐配置(智谱免费 API):
LLM_PROVIDER=openai
LLM_API_KEY=(你在 https://open.bigmodel.cn/ 注册拿到的 key)
LLM_BASE_URL=https://open.bigmodel.cn/api/paas/v4
LLM_MODEL=glm-4.7-flash
GITHUB_TOKEN 由 Actions 自动注入,无需手动配置。
3. 启用 GitHub Pages
在仓库 Settings → Pages → Build and deployment → Source 选择 Deploy from a branch,分支选 gh-pages,目录选 / (root)。首次 Actions 运行后会自动创建 gh-pages 分支。
4. 手动触发首次同步
进入仓库 Actions 页面,选择 Sync Stars workflow,点击 Run workflow 即可手动触发首次同步。之后每天 UTC 02:00(北京时间 10:00)自动运行。
5. 本地配置 MCP server
在你的 agent(Trae / Cursor / Claude Code / Codex 等)的 MCP 配置中加入:
{
"mcpServers": {
"star-knowledge": {
"command": "python",
"args": ["/absolute/path/to/star-knowledge-base/src/mcp_server.py"],
"env": {
"STAR_DATA_URL": "https://<your-username>.github.io/star-knowledge-base/data.json"
}
}
}
}
零门槛配置:只配 STAR_DATA_URL 就能用,搜索会走关键词匹配模式。
推荐增强配置(智谱免费 API):
{
"mcpServers": {
"star-knowledge": {
"command": "python",
"args": ["/absolute/path/to/star-knowledge-base/src/mcp_server.py"],
"env": {
"STAR_DATA_URL": "https://<your-username>.github.io/star-knowledge-base/data.json",
"LLM_PROVIDER": "openai",
"LLM_API_KEY": "你的智谱 key",
"LLM_BASE_URL": "https://open.bigmodel.cn/api/paas/v4",
"LLM_MODEL": "glm-4.7-flash"
}
}
}
}
环境变量说明:
| 变量 | 必填 | 说明 |
|---|---|---|
STAR_DATA_URL |
二选一 | data.json 的 URL(生产环境) |
STAR_DATA_LOCAL |
二选一 | 本地 data.json 路径(开发调试) |
STAR_REFRESH_SECONDS |
否 | 数据刷新间隔,默认 3600 |
LLM_PROVIDER |
否 | openai 或 anthropic,不配则关键词匹配模式 |
LLM_API_KEY |
否 | LLM API 密钥,不配则关键词匹配模式 |
LLM_BASE_URL |
否 | OpenAI 兼容接口的基础 URL |
LLM_MODEL |
否 | 模型名称,有默认值 |
6. 安装 Agent Skill(可选)
star-first-habit Skill 教 agent 在需要某个库时优先查 star 知识库,而非 Google:
npx skills add <your-username>/star-knowledge-base --skill star-first-habit
Skill 跨平台支持 Claude Code / Cursor / Trae / Codex / OpenCode 等 40+ 工具。
7. 本地开发调试
# 安装依赖
pip install -r requirements.txt
# 本地测试 sync_stars(需要 .env 或手动 export 环境变量)
cp .env.example .env # 编辑后填入真实配置
python src/sync_stars.py
# 本地测试 MCP server(指向本地生成的 data.json)
export STAR_DATA_LOCAL=./public/data.json
python src/mcp_server.py
# 本地预览 Pages
cd public && python -m http.server 8000
# 浏览器打开 http://localhost:8000
环境变量速查
Actions(部署时)
| 变量 | 来源 | 用途 |
|---|---|---|
GITHUB_TOKEN |
Actions 自动注入 | 调用 GitHub starred API + push 到 gh-pages |
STAR_GITHUB_USERNAME |
用户配置 | 指定要拉取的用户 |
LLM_PROVIDER |
用户配置 | LLM 提供商选择 |
LLM_API_KEY |
用户配置 | LLM 鉴权 |
LLM_BASE_URL |
用户配置 | OpenAI 兼容接口地址 |
LLM_MODEL |
用户配置 | 模型名称 |
FORCE_REFRESH |
workflow_dispatch 输入 | 强制重新生成所有元数据 |
MCP server(运行时)
详见上文「本地配置 MCP server」章节。
适合人群
star 项目较多、难以靠记忆定位的开发者。star 数量较少时手动翻阅也能解决,本工具的价值随 star 数量增长而提升。
圆桌讨论
本项目的可行性经过 6 轮圆桌讨论验证,参与角色:
- Pieter Levels - 独立开发者视角,MVP 范围和落地速度
- Andrej Karpathy - Agent 架构视角,MCP 协议和技术深度
- 资深开发者工具产品经理 - 用户需求和验证指标
完整讨论报告见 docs/decisions/ 目录。
License
MIT
author: fxbin
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。