- 🔗 多种输入:Issue URL、
owner/repo+ 编号 / 范围、整库--all - 📦 一键打包:每个 Issue 一个 zip,内含
json/md/html - 🎨 GitHub 风 HTML:时间线、头像、彩色 Labels、操作事件竖线串联
- 📝 Markdown frontmatter:
generated-by+generated-timestamp - ⚡ 基于 uv:依赖与运行一条命令搞定
- 🔑 可选 Token:
GITHUB_TOKEN/GH_TOKEN,公开库也可匿名(限流更严)
git clone https://github.com/lonely-4/save-issues.git
cd save-issues
uv sync需要 uv 与 Python ≥ 3.13。
# 单个 issue(URL)
uv run save-issues https://github.com/cli/cli/issues/1
# owner/repo + 编号 / 范围
uv run save-issues cli/cli 1 2 5-8
# 仓库全部 issue(跳过 PR)
uv run save-issues cli/cli --all --limit 10
# 指定输出目录、token
uv run save-issues -r owner/repo 42 -o ./out --token ghp_xxx
# 不拉 timeline events
uv run save-issues owner/repo 1 --no-events# PowerShell
$env:GITHUB_TOKEN = "ghp_xxx"
# bash
export GITHUB_TOKEN=ghp_xxx也可用 -t / --token。
| 选项 | 说明 |
|---|---|
-o, --output |
zip 输出目录(默认 issues) |
-r, --repo |
owner/repo 或仓库 URL |
-t, --token |
GitHub token |
--all |
抓取仓库全部 issue |
--state |
open / closed / all(配合 --all) |
--labels |
标签过滤(配合 --all) |
--limit |
最多抓取数量 |
--events / --no-events |
是否包含 timeline events(默认开启) |
--topic |
zip 内文件名(不含扩展名) |
--dry-run |
只列出目标,不下载 |
每个 Issue 生成:
<org>_<reponame>_<issueid>.zip
├── <topic>.json # 原始 API 数据 + comments + events
├── <topic>.md # 可读 Markdown(含 YAML metadata)
└── <topic>.html # GitHub 风格离线页面
topic默认由标题 slug 化,可用--topic指定- HTML:主帖 / 评论 / 操作事件按时间排列,侧栏含 Labels 与 Generated by
- Markdown 头部示例:
---
generated-by: https://github.com/lonely-4/save-issues
generated-timestamp: 2026-07-20T12:00:00Z
---uv sync
uv run ruff check src
uv run save-issues --help本项目采用 GNU Affero General Public License v3.0(AGPL-3.0)发布。
Generated by SaveIssue