Zimi is now available everywhere — install with one command on any platform.
Install
macOS (Homebrew):
brew tap epheterson/zimi && brew install --cask zimimacOS (direct download):
Download the DMG for your Mac from the assets below — Apple Silicon and Intel builds.
Linux (Snap Store):
sudo snap install zimiLinux (AppImage):
Download Zimi-Linux-amd64.AppImage from the assets below, chmod +x, and run.
Docker:
docker run -v ./zims:/zims -p 8899:8899 epheterson/zimiPython (any platform):
pip install zimi
zimi serve --port 8899What's New in v1.4
Embedded PDF Viewer
PDF documents from zimgit collections now open inline with a full-featured viewer — zoom, page navigation, and search without leaving Zimi. Article titles show in the header instead of "PDF.js viewer".
Navigation History
Click through articles and Zimi remembers where you've been. The back button steps through your reading history, and a long-press reveals the full trail. Browser back/forward works naturally.
One-Command Install Everywhere
- macOS:
brew install --cask zimivia Homebrew, with Sparkle auto-updater for future versions - Linux:
snap install zimivia Snap Store, or portable AppImage - Python:
pip install zimion any platform - Docker:
docker run epheterson/zimi
Python Package
Zimi is now a proper Python package on PyPI. Install with pip install zimi, run with zimi serve, or use as a library. MCP server support via pip install zimi[mcp].
Performance
- Gzip compression on all static file serving
- Faster title-only search with
fast=1parameter
Bug Fixes
- Auto-update settings now persist across restarts; clock icon indicates when active
- Fixed in-ZIM navigation for sites with original-domain baseURI (e.g., Stack Overflow)
- Fixed clickable category/collection headings with special characters
- Fixed PDF reload through Cloudflare CDN cache
- Fixed favicon rendering at small sizes (solid fill, no transparency)
- Fixed history trail dismiss on iframe click
- Download resume support for interrupted ZIM downloads
MCP Server
AI agents like Claude Code can search and read your offline library:
{
"mcpServers": {
"zimi": {
"command": "python3",
"args": ["-m", "zimi.mcp_server"],
"env": { "ZIM_DIR": "/path/to/zims" }
}
}
}