核心用法
issue-prioritizer 是一款面向开源项目维护者与贡献者的智能 Issue 分析工具。通过调用 gh CLI 获取指定仓库的开放 Issue,系统运用五维评分模型进行综合评估:
1. Difficulty(1-10) — 实现难度,根据文档类型、复现步骤、根因明确性等信号调整
2. Importance(1-10) — 业务重要性,从错别字(1-3)到服务崩溃(8-10)分级
3. Tripping Scale(1-5) — 方案合理性,识别"重写整个系统"等过度工程化提案
4. Architectural Impact(1-5) — 架构影响度,推崇"能用 10 行解决就不用 200 行"的极简原则
5. Actionability(1-5) — 可执行性,区分"讨论帖"与"可直接提 PR"的 issue
计算公式: AdjustedScore = (Importance/Difficulty) × TripMultiplier × ArchMultiplier × ActionMultiplier
高 AdjustedScore 意味着高 ROI、低复杂度、方案务实且立即可执行。
显著优点
- 科学的多因子模型:不单纯按时间或点赞排序,而是综合技术债务与投入产出比
- 快速胜利识别:自动标注"Quick Wins"(ROI≥1.5 + 低难度 + 高可执行性),降低新人贡献门槛
- 防过度工程:Tripping Scale 与 Arch Score 双机制压制"区块链存储""AI 重构"等不切实际提案
- 贡献者分级匹配:按 beginner/intermediate/advanced 自动分类,精准匹配 issue 与开发者能力
- 只读安全设计:纯分析模式,绝不修改仓库,避免误操作风险
- 增量与恢复机制:支持
--resume复用历史运行、--diff-from增量更新,节省 API 调用成本
潜在局限
- 依赖 GitHub CLI:需预装
gh并完成认证,对非 GitHub 生态(Gitea、GitLab)不支持 - 评分主观性:难度与重要性评分依赖启发式规则,特殊业务场景可能误判
- 长文本截断:默认 500 字符摘要可能遗漏关键上下文,深度分析需显式开启
--full-body - LLM 深度分析可选:高质量评分依赖可选的模型辅助,纯规则模式在复杂仓库可能精度不足
- 英语生态优化:评分信号(如 "fix:", "add:" 前缀、区块链等 buzzwords)对非英语 issue 识别可能弱化
适合人群
- 开源维护者:每日需从数十个 issue 中识别 blocker 与 easy-pick
- 技术 PM/社区经理:需要数据驱动的 issue 优先级报告向上汇报
- 新晋贡献者:寻找 "good first issue" 等价物,快速建立贡献信心
- 大型项目治理:微服务/多模块仓库中,需要按架构影响过滤提案
常规风险
- 信息泄露:分析过程读取 issue 全文,若仓库包含未脱敏的安全漏洞报告或凭据,可能在输出中暴露
- API 速率限制:大规模仓库(>1000 issues)批量获取可能触发 GitHub GraphQL 限流
- 误过滤风险:
--include-with-prs默认排除已有 PR 的 issue,可能遗漏"PR 已废弃需重新实现"的场景 - 评分漂移:不同版本工具的规则权重调整可能导致同一 issue 跨运行评分不一致
- 依赖脚本安全:
fetch-issues.sh执行本地 bash 脚本,需确保来源可信以防命令注入