Bookshelf — 自托管电子书库

Bookshelf 是一个轻量级的自托管电子书管理工具。你把 EPUB 或 PDF 文件丢进 Cloudflare R2 或本地目录,它就自动整理成一个带封面、可搜索的书架页面。不需要数据库,不需要复杂的配置,一个服务端渲染页面搞定一切。

它的阅读器做得不错——EPUB 和 PDF 各有独立的浏览器内阅读器,支持搜索过滤和一键下载。对于那些习惯自己收藏电子书、不想依赖商业平台的人来说,Bookshelf 提供了一个干净的替代方案。

项目基于 TypeScript,支持 Node 24+ 和 Cloudflare Workers 两种部署方式。用 npm run demo 就能快速体验,生成一个公共领域书籍的演示书架。

🔗 GitHub | ⭐ 157 stars

Walgit — 一个二进制文件搞定 Git 托管

Walgit 的核心卖点很简单:一个二进制文件加一个 S3 或 GCS 桶,就是一个完整的 Git 服务器。没有数据库,没有本地状态,服务器本身是可丢弃的缓存,桶才是真正的仓库。

功能上它覆盖了大部分需求:Smart HTTP fetch/push、bundle-uri 克隆(静态文件方式)、Git LFS、浏览 Web UI、JSON API 和 SDK、per-repo 推送策略、webhook。更厉害的是,它能处理比运行它的机器还大的仓库。

对于想自建 Git 服务但又不想维护 Gitea/GitLab 那套重服务的团队,Walgit 是一个值得关注的选择。项目用 Rust 写的,单二进制部署,1322 星不是没道理。

🔗 GitHub | ⭐ 1322 stars

Ambient Context — 给 AI 代理写工作日记

Ambient Context 是一个 macOS 菜单栏应用,做的事情很直接:每隔几秒读取你当前焦点窗口的文本内容(通过辅助功能树),追加写入一个 Markdown 文件——每天一个文件。

它的目标用户很明确:用 Claude Code 或其他 AI 代理的开发者。你把这个文件夹指向 AI 代理,它就能回答"我周二做了什么"这类问题,相当于给 AI 构建了一个关于你工作内容的记忆系统。

项目用 Rust 写的,菜单栏里有个小眼睛图标,打开就记录、关闭就停止。简单、专注、不打扰。

🔗 GitHub | ⭐ 76 stars