Worth My Time 是一个面向开源新手的 issue 分诊工具,用来判断一个「good first issue」到底值不值得花一个晚上去做。作者为朋友 Akash 开发:Akash 有全职工作,想在 Hacktoberfest 完成第一次开源贡献,却总遇到同一个问题——挑中的 issue 在评论区已被认领,或者仓库几个月没有提交,PR 发出去也没人理。上周他连查八个 issue,全部已被占用。
工具会搜索带 good first issue 标签的开放 issue,用一组确定性规则过滤:issue 是否已被认领、是否存在竞争的开放 PR、仓库是否长期不活跃、仓库对新人 PR 的合并率是否健康、项目是否包含 CONTRIBUTING 指南。最终最多列出 15 个候选,每个给出 Go、Risky 或 Skip 的判定和原因说明。
判定逻辑是纯 Python 规则,可读可测;AI 只负责写解释,不参与打分。认领检测会扫描评论中的「can I take this」「assign me」等措辞;竞争 PR 检测会查找提及该 issue 编号的开放 PR;仓库健康度看最近推送时间、近期 PR 合并率、首次贡献者合并率与合并中位耗时;issue 质量看描述是否足够具体、仓库是否有 CONTRIBUTING 文件。每项信号加减分,汇总成最终判定。
如果本地 Ollama 模型可用,工具会为选中的 issue 生成一段新手简报:issue 讲什么、可能涉及哪些文件、以及一份首次贡献清单。文件推荐只从仓库真实文件路径中按匹配度取前 10 个,模型被要求只能从中选择,否则回答「不确定」,以避免编造文件。技术栈为 Python、Gradio、GitHub REST API、Ollama + Gemma 和 pytest,测试覆盖打分与认领措辞检测。
作者表示,检查过工具输出的全部 issue,判定结果均正确。这些是启发式规则而非预测,能覆盖常见的时间浪费情形,但无法揣测维护者的想法。工具完全本地运行,不需要 API key,也不产生费用,评分规则可直接修改。
