本期来介绍一个开源项目 —— Karakeep。项目来源于公众号NAS玩家本期来介绍一个开源项目 —— Karakeep。项目来源于公众号NAS玩家留言推荐。
Karakeep是一款支持自托管的书签与知识管理工具,不仅可以保存网页链接,还能管理图片、PDF、笔记,并通过 AI 自动生成标签和摘要,帮助用户更舒服地整理与检索信息。例如油管、B站的链接贴进去就能自动抓取简介、标题、头图并记录,点击即可直接跳转到对应界面查看。在信息爆炸的时代,我们不缺内容,缺的是“掌控内容”的方式。
项目介绍
项目仍处于快速迭代中,觉得该项目不错的朋友可自行关注更新。
Karakeep(以前叫 Hoarder)是一个 可自托管的书签和知识管理工具。它不仅能快速保存链接,还能存图片、PDF、笔记,并且支持 AI 自动标签和摘要。
大家可以把它理解为「自建版的 Notion + Pocket + Evernote」。
要注意的是,若要启用AI则会有使用成本,API Key会产生费用,如果有条件也可以使用本地大模型例如Ollama。
本文介绍的是社区版的部署方案,当然官方也有提供Demo。
功能概览
-
多格式收藏:不仅能保存书签,还支持笔记、图片、PDF 等多种形式,并会自动抓取网页标题、描述和缩略图。
-
智能增强:集成 AI 自动打标签和生成摘要(可选本地模型 Ollama),OCR 从图片中提取文字,以及规则引擎实现自动分类与管理。
-
强大的搜索与组织:内置全文搜索,支持列表归类、高亮标注和批量操作,让海量信息也能快速定位。
-
跨平台与生态:提供 Chrome/Firefox 插件和 iOS/Android 客户端,支持 RSS 自动收集,REST API、多语言和 SSO 登录,覆盖桌面到移动的使用场景。
-
长期存档:网页快照(Monolith)防止内容失效,视频存档(yt-dlp)保留多媒体资料,还能导入现有书签或和浏览器同步。
-
用户体验:深色模式、自托管优先,未来还会增加移动端离线阅读和语义搜索等高级功能。
部署平台
官方推荐通过 Docker Compose 进行部署。本文还是以威联通NAS为例,通过Container Station进行部署。
换掉家里的 TS-464C2,上手 Qu805 已经有半个月了。整体体验下来,提升还是挺明显的。
威联通的系统调度逻辑一向比较“官方化”,换句话说就是对硬件性能的释放比较依赖系统本身的优化,这一点大家用过的都懂。不过在 Qu805 上,这套调度显然能发挥得更好,CPU 资源调度合理,内存占用和 I/O 响应也比较稳定。
首先是 响应速度和多任务处理能力。升级到 8 核 8 线程以后,日常访问和后台任务调度的流畅度有了直观提升。特别是在同时运行多个应用(Qsirch、Qumagie等)时,系统没有出现明显的卡顿或等待感。在 解码能力 方面,Qu805 也展现出了更强的性能优势,高清视频转码或多路解码处理起来轻松自如,没有压力。再就是温控表现,日常待机或满载运行,温度都保持在相当理想的范围内,整体噪音控制和稳定性都比上一代更好。
部署流程
官方给出的流程是SSH输入命令从GHUB拉取docker-compose.yml
,然后进行部署。
wget https://raw.githubusercontent.com/karakeep-app/karakeep/main/docker/docker-compose.yml
但为了方便管理,直接打开威联通的Container Station创建就行。
部署代码如下:
services:
web:
image: ghcr.io/karakeep-app/karakeep:release
container_name: karakeep-web
ports:
- "3000:3000" # 冒号左侧端口请自行修改,不再赘述
#env_file:
#- /share/Container/karakeep/.env
environment:
- NODE_ENV=production
- TZ=Asia/Shanghai
- KARAKEEP_VERSION=release
- NEXTAUTH_SECRET=X9U9AS+YVENHWc4D1au+/CoKIjrBLgMF5zqHR4yGM5necJWI
- NEXTAUTH_URL=http://localhost:3000 # 如果用域名/局域网访问,请改成实际URL
- MEILI_ADDR=http://meilisearch:7700 # Karakeep 连接 Meilisearch 的地址与凭据
- MEILI_API_KEY=honxYNqSbgcJ5Gj5hVOwxm5r5ubg0NwSGI320r79IV
- DATA_DIR=/data
# 可选,用于 AI 摘要/标签
# - OPENAI_API_KEY=sk-yourapikey
volumes:
- /share/Container/karakeep/data:/data
depends_on:
- meilisearch
- chrome
restart: always
chrome:
image: gcr.io/zenika-hub/alpine-chrome:124
container_name: karakeep-chrome
restart: always
command:
- --no-sandbox
- --disable-gpu
- --disable-dev-shm-usage
- --remote-debugging-address=0.0.0.0
- --remote-debugging-port=9222
- --hide-scrollbars
meilisearch:
image: docker.20040311.xyz/getmeili/meilisearch:v1.13.3 # 我自建的加速,可换别的
container_name: karakeep-meilisearch
ports:
- "7700:7700"
#env_file:
#- /share/Container/karakeep/.env
environment:
- MEILI_NO_ANALYTICS=true
- MEILI_MASTER_KEY=honxYNqSbgcJ5Gj5hVOwxm5r5ubg0NwSGI320r79IV
volumes:
- /share/Container/karakeep/meili_data:/meili_data
restart: always
特别说明
镜像若拉取失败,请自行配置加速地址。
MEILI_MASTER_KEY
和NEXTAUTH_SECRET
可通过以下命令分别生成,SSH连接NAS或者PC的控制台都可。生成的码都要对应!
openssl rand -base64 36 | tr -dc 'A-Za-z0-9
openssl rand -base64 36
上文注释掉的环境变量文件相关,大家可以根据自己情况选择是否启用。因为文章里用的很少,所以我选择直接写出。如下图,其实还有巨量的变量可加入配置,若有需求还是建议启用,否则后期维护可能会相当困难~
使用相关
按上文内容部署,浏览器输入 NAS_IP:3000 即可访问服务。第一次先点击「Sign up」创建账户。
创建完毕后登入,再点击右上角头像,选择「User Settings」,要先改中文。
往下拉,如下图选择并点击简中即可。
功能十分丰富,可配置项很多。就不过多介绍。
评论区