一个用于下载 GitHub 仓库 issues 并转换为 Markdown 文件的 Node.js 工具。
pnpm install
# 或者
npm install# 下载指定仓库的 issues
node issues.js https://github.com/microsoft/playwright
# 支持多种 URL 格式
node issues.js https://github.com/microsoft/playwright.git
node issues.js git@github.com:microsoft/playwright.git
# 使用 GitHub Token(强烈推荐)
export GITHUB_TOKEN=your_token_here
node issues.js https://github.com/microsoft/playwright# 使用脚本中预设的默认仓库
node issues.js
# 使用 GitHub Token
export GITHUB_TOKEN=your_token_here
node issues.jsrem 设置 Token
set GITHUB_TOKEN=your_token_here
rem 下载指定仓库
node issues.js https://github.com/microsoft/playwright
rem 或使用默认配置
node issues.jsnode issues.js --help- 自动重试机制: API 调用失败时会自动重试
- 智能延迟: 避免触发 GitHub API 限制
- 安全文件名: 自动处理特殊字符
- 完整信息: 包含 issue 的所有评论和元数据
- 友好输出: 实时显示下载进度
{owner}-{repo}-issues/ # 自动根据仓库名称生成
├── open/ # 未解决的issues
│ ├── 001_issue_title.md
│ ├── 002_another_issue.md
│ └── ...
├── closed/ # 已解决的issues
│ ├── 070_resolved_issue.md
│ ├── 076_bug_fix.md
│ └── ...
└── README.md # 统计信息和使用说明
文件命名规则:
- 格式:
{编号}_{标题}.md - 编号用 3 位数字补齐(001, 002, 123)
- 标题会自动清理特殊字符,最多 50 个字符
- 每个文件包含完整的 issue 信息和所有评论
现在支持直接通过命令行参数传入 GitHub 仓库 URL,无需修改代码:
# 支持的 URL 格式
node issues.js https://github.com/owner/repo
node issues.js https://github.com/owner/repo.git
node issues.js git@github.com:owner/repo.git输出目录会自动根据仓库名称生成,格式为:{owner}-{repo}-issues
如果你想修改脚本的默认配置,可以编辑 issues.js 文件中的以下部分:
// 默认配置(当不提供URL参数时使用)
REPO_OWNER = "ruifigueira";
REPO_NAME = "playwright-crx";
OUTPUT_DIR = "playwright-crx-issues";- 运行脚本下载 issues
- 在 Cursor 中打开整个
playwright-crx-issues文件夹 - 使用
Cmd/Ctrl + Shift + F进行全局搜索 - 尝试语义化搜索,比如:
- "chrome debugger limitations"
- "recording not working private mode"
- "password autofill breaks recording"
- 访问 GitHub Settings > Personal Access Tokens
- 点击 "Generate new token (classic)"
- 勾选
public_repo权限 - 复制生成的 token
设置 token 的好处:
- API 限制从 60 次/小时 提升到 5000 次/小时
- 可以下载更多 issue 而不被限制
这样您就有了一个完全用 JavaScript 编写的 issues 下载工具!比 Python 版本对前端开发者更友好。