- TESIGN / RADAR
- kage
kage
Offline, script-free copies of websites
WHO USES ITReaders who want to keep a body of writing · Docs owners · Go developers
Install to use
CLI that renders a site in headless Chrome and saves a script-free copy to read offline
3,399 stars · checked on GitHub GitHub check 30 h late · no 7-day star increase observed (GH Archive) (as of ) · 712 Show HN points observed
CROSS-SIGNAL Show HN + GitHub BACK CATALOG



TESIGN TAKE
It does one thing, keeping what a real browser rendered minus the code, and finishes in an open format (ZIM) instead of its own.
AT A GLANCE
- LICENSE
- MIT
- USAGE
- Use, change and redistribute, commercially too. Keep the notice.
- LANGUAGE
- Go
- PLATFORM
- cli · macos · windows · linux
- ACTIVITY
- last commit 37 days ago () · latest release v0.3.12 () · 18 releases
- COMMUNITY
- 7 contributors · 9 open issues (incl. PRs) · made by: an individual
- SOURCES
- Show HN + GitHub
- OPEN SOURCE
- YES
- FIRST SEEN
- CATEGORY
- DEV TOOLS
A summary, not legal advice.
WHY IT MATTERS
A page saved with Save As tends to open months later as a blank screen or a spinner that never stops. kage loads each page in real headless Chrome, waits for it to settle, snapshots the DOM, deletes every script and pulls CSS, images and fonts to local paths. `kage pack` then collapses the mirror into one ZIM file (the format Kiwix uses) or a single executable that serves the site itself (about 13 MiB plus the site).
BUILD FROM THIS
- You could schedule a job that re-renders an internal docs site with `--refresh` into a script-free static copy, or run archiving on a server with the container image that bundles Chromium. The pure-Go ZIM reader and writer (zim/) can be reused on its own.
WHO IT'S FOR
- Readers who want to keep a body of writing
- a whole essay site as an offline folder or one ZIM file
- Docs owners
- hand out a script-free copy of a documentation site
- Go developers
- reuse the pure-Go ZIM package and headless Chrome control
START IN 5 MINUTES
# brew install --cask tamnd/tap/kage # Windows: scoop bucket add tamnd https://github.com/tamnd/scoop-bucket && scoop install kage / Go: go install github.com/tamnd/kage/cmd/kage@latest
# kage clone paulgraham.com
# kage serve $HOME/data/kage/paulgraham.com
# # open http://127.0.0.1:8800
# kage pack paulgraham.com # -> paulgraham.com.zimCAVEATS
- Licence MIT. Needs Chrome or Chromium on the host (the container image bundles Chromium). Respects robots.txt by default.
- ZIM output has no full-text search index like Kiwix's own packs, so in-reader search is limited. The binary pack adds about 13 MiB regardless of site size. The native-window viewer is an opt-in cgo build.
- Free. Latest release v0.3.12 as of 2026-09-15, still 0.x.
RECEIPT
- FIRST SEEN
- AT SOURCE
- KEPT
- CREATED → FIRST SEEN
- 90d
- SOURCES
- Show HN + GitHub
- ◌ BACK CATALOG
- Reconstructed from archive data, not a live discovery.
The same facts in machine-readable form — View as Markdown · JSON
SIMILAR TOOLS
Up to five from DEV TOOLS by ★ total: edited entries first, then repository cards; this entry is highlighted. Drawn from the same stored snapshot as the rankings — a comparison, not a recommendation.
| IMAGE | NAME | ★ TOTAL | ▲ 7d | LICENSE | PLATFORM | LAST PUSH |
|---|---|---|---|---|---|---|
![]() | eccSkills, memory and security for agents | ★ 259k | ▲ +832 | MITpermissive | windows · macos · linux · cli | |
![]() | DeepSeek HarnessPlugin agent harness for developers | ★ 225k | ▲ +1,356 | MITpermissive | web · cli | |
![]() | ponytailMake your agent write less code | ★ 139k | ▲ +1,068 | MITpermissive | — | |
![]() | Spec KitSpec-first process for coding agents | ★ 137k | ▲ +560 | MITpermissive | cli · windows · macos · linux | |
![]() | kageOffline, script-free copies of websitesTHIS ENTRY | ★ 3.4k | — | MITpermissive | cli · macos · windows · linux |
TIMELINE
- Repository created
- Show HN post ↗
- FIRST SEEN BY TESIGN ◌ BACK CATALOG








