面向初中级开发者的开源贡献入口。搜索、过滤、评分 —— 帮你从海量 GitHub Issue 中快速找到适合上手的任务。
Features
无需任何第三方依赖,一条命令即可搜索 GitHub 上的优质新手 Issue。
按语言、标签、Stars 和更新时间等维度精准筛选 GitHub Issue,告别盲目浏览。
自动排除已关闭、已指派、已关联 PR 和 Archived 仓库的 Issue,只保留真正可参与的任务。
综合考虑项目活跃度、Issue 新鲜度、评论区讨论量和新手友好标签,给出贡献推荐分数。
支持 Table、Markdown 和 JSON 三种输出格式,方便集成到笔记、文档或自动化流程中。
基于 Python 标准库构建,无需安装任何第三方包,拿到即可运行。
提供 junior、intermediate、senior 三种预设模式,满足不同经验开发者的需求。
Demo
以下是运行 oss-issue-scout search --language python --label "good first issue" 的模拟结果。
| Score | Repo | Title | Labels | Stars |
|---|---|---|---|---|
| 95 | psf/requests | Improve timeout error messages for connection pooling | good first issue documentation | ★ 52.4k |
| 88 | pallets/flask | Add type annotations to flask.cli module | good first issue enhancement | ★ 67.8k |
| 76 | fastapi/fastapi | Refactor test client to use httpx directly | good first issue | ★ 78.1k |
| 72 | tiangolo/sqlmodel | Support composite primary keys for relationship() | good first issue help wanted | ★ 13.5k |
| 68 | numpy/numpy | Add examples to numpy.einsum docstring | good first issue | ★ 28.6k |
| 63 | pydantic/pydantic | Standardize error message format across validators | enhancement | ★ 21.3k |
Scoring
每个 Issue 从基础分 50 开始,根据项目活跃度、Issue 新鲜度等多个维度进行评分。支持 default、junior、intermediate、senior 四种预设模式。
新手友好预设,偏好小仓库、低讨论量、带有 good first issue 标签的任务。
中级开发者预设,适合有一定经验的贡献者,关注 bug 和 enhancement 类型任务。
资深开发者预设,偏好大型项目和复杂任务,对活跃度要求较低。
Quick Start
Python 3.10+ 即可运行,无需安装任何第三方依赖。设置 GitHub Token 可获得更高 API 速率(5000 次/小时)。
# 基本搜索:查找 Python 语言的新手友好 Issue $ oss-issue-scout search --language python # 按标签过滤,限制返回数量 $ oss-issue-scout search --language python --label "good first issue" --limit 5 # 使用预设搜索:junior / intermediate / senior / default $ oss-issue-scout search --language python --preset junior # 高门槛过滤:Stars 500+、近 7 天有活动的仓库 $ oss-issue-scout search --language python --label "help wanted" --stars-min 500 --repo-updated-days 7 # JSON 格式输出,方便程序化处理 $ oss-issue-scout search --language python --format json # 设置 Token 提升速率限制(Windows PowerShell) $ $env:GITHUB_TOKEN="your_token_here" $ oss-issue-scout search --language rust