一直想做个 AI 辅助的笔记整理/稍后读,核心诉求很简单:
- 我看到好东西想先收下,不想当场读完
- 但又怕“收藏即遗忘”
- 最好还能自动打标签、做摘要、支持截图/OCR,后面我能搜得出来
我折腾了一圈,候选大概是这几个:
- Cubox:体验成熟,但走付费路线(看个人接受度)
- Karakeep:开源自建、更新活跃,AI 支持也比较顺手
- Omni(你说的 ominina/类似 Omnivore 这类):开源但更新频率相对保守,生态和活跃度需要看你当下需求
最后我选 Karakeep:原因就一句话,它更像一个“能自我进化的收藏仓库”,你可以把 AI 当成分拣员,把 MCP 当成传送带。
下面这篇按 小白可抄作业 的方式写,直接照做就能跑起来。
1. 基础环境安装
1.1 你需要什么
- 一台服务器(VPS/家里小主机都行)
- 一个域名(建议,有二级域名最好)
- Docker + Docker Compose
1.2 安装 Docker(Linux 常见路线)
如果你是 Ubuntu/Debian,一般就是:
- 装 Docker Engine
- 装 Docker Compose 插件
这里我不展开写太长(网上教程很多),你只要确认两件事:
docker --version
docker compose version
都能正常输出版本号就 OK。
2. Karakeep 安装(OpenRouter + 14380 端口 + 二级域名反代)
我们的目标:
- Karakeep 运行在服务器上
- 对外暴露
14380端口(方便你反代) - AI 走 OpenRouter 的类 OpenAI 接口(不跑本地模型)
- 模型按你当前选择:
Embedding:thenlper/gte-base
文本:tngtech/deepseek-r1t2-chimera:free
看图:nvidia/nemotron-nano-12b-v2-vl:free
2.1 准备目录
mkdir -p /opt/karakeep && cd /opt/karakeep
2.2 准备 docker-compose.yml
两种方式:
- 方式 A:用官方 compose(推荐)
- 方式 B:自己写一份最小 compose(更可控)
你如果已经拉了官方的 compose,就直接改端口即可。
关键改动:把 Web 端口改到 14380
在 docker-compose.yml 里找到 web 服务的 ports,把默认 3000:3000 改成:
ports:
- "14380:3000"
解释一下:容器内还是 3000,你对外映射成 14380。
2.3 配置 .env(重点)
在同目录创建 .env:
# ===== 基础必填 =====
KARAKEEP_VERSION=release
# 生成方式:openssl rand -base64 36
NEXTAUTH_SECRET=REPLACE_ME
MEILI_MASTER_KEY=REPLACE_ME
# 这是非常关键的:它必须等于你“最终访问 Karakeep 的地址”
# 如果你反代成 https://keep.example.com,就写这个
NEXTAUTH_URL=https://keep.example.com
# ===== OpenRouter(类 OpenAI 接口)=====
OPENAI_BASE_URL=https://openrouter.ai/api/v1
OPENAI_API_KEY=sk-or-v1-xxxxxxxxxxxxxxxx
# ===== 你选择的模型 =====
EMBEDDING_TEXT_MODEL=thenlper/gte-base
INFERENCE_TEXT_MODEL=tngtech/deepseek-r1t2-chimera:free
INFERENCE_IMAGE_MODEL=nvidia/nemotron-nano-12b-v2-vl:free
# 可选:自动摘要(喜欢就开)
INFERENCE_ENABLE_AUTO_SUMMARIZATION=true
# 可选:不让公网“随便注册”
DISABLE_SIGNUPS=true
生成密钥
openssl rand -base64 36
生成两次,分别填到 NEXTAUTH_SECRET 和 MEILI_MASTER_KEY。
为啥这仨“密钥/地址”必须要?
NEXTAUTH_URL:告诉登录系统“我对外的正规地址是啥”,否则回调和 Cookie 会乱NEXTAUTH_SECRET:登录会话/JWT 的签名密钥MEILI_MASTER_KEY:全文搜索引擎(Meilisearch)的总钥匙
2.4 启动
docker compose up -d
docker compose ps
访问方式:
- 如果你暂时不反代:
http://服务器IP:14380 - 如果你反代了二级域名:
https://keep.example.com
2.5 管理员账号是哪个?
第一个注册/创建的用户 = 管理员。
建议你部署好以后,自己先注册一个账号,然后立刻把 DISABLE_SIGNUPS=true 打开(或者一开始就打开)。
3. 使用指南:从“收藏”到“可检索资产”
3.1 入口:浏览器扩展 + 移动端
Karakeep 的正确打开方式是:把它当成“你的资料收件箱”。
- 浏览器扩展:看到文章、文档、GitHub、教程,一键保存
- 移动端:看到长文、截图、PDF,直接分享进 Karakeep(很适合“通勤稍后读”)
建议你先养成一个习惯:
- 只要你觉得“未来可能用得到”,先扔进去
- 不要求当场整理
- 让 AI 做第一次分拣
3.2 AI 能帮你做什么
你现在的模型组合其实很“全能”:
- 文本模型:负责摘要、打标签、提要点
- VL 模型:负责“看图”,对截图/图片内容生成摘要和标签
- Embedding:用于更“懂意思”的检索(看版本是否已用满,但配上总没错)
最适合 AI 的内容类型:
- 架构图/流程图截图
- 报错截图(配合 OCR,后面按关键词搜超爽)
- 文章长文(让 AI 先给 5 行要点,决定读不读)
- 产品灵感/界面截图(后续写博客/做产品时翻出来)
3.3 标签:中文还是英文?
我的建议是「系统标签用英文」:
- 更利于去重和复用(同一个概念不会被写成十种中文近义词)
- 也更贴合模型输出(英文标签稳定)
- 你可以在正文/备注里写中文关键词做辅助
一个好用的标签规范(建议你抄走):
- 小写
- 用连字符:
data-engineering、read-it-later、error-log - 3–5 个标签够用,不要贪多(收藏库最怕“标签通货膨胀”)
3.4 关掉随便注册(强烈建议)
如果你服务暴露在公网:
- 一定要开:
DISABLE_SIGNUPS=true - 反代层最好再加一层访问控制(最少也做 IP 白名单、Basic Auth、或者套你自己的网关)
3.5 进阶:用 MCP 把 Karakeep 变成“可编排的入口”
你已经发现 MCP 很香,它的作用可以理解成:
你不只是“点按钮收藏”,而是可以让各种 Agent/工具 自动往你的 Karakeep 写入:
保存链接、保存文本、打标签、加入清单…像流水线一样。
具体文档
https://docs.karakeep.app/mcp
4. 具体实践:给你 4 套“能立刻落地”的用法
实践 1:三段式收件箱(最省脑)
建立 3 个 List:
inbox:默认入口,什么都往里扔to-try:偏工具/项目/脚本,未来要动手to-write:偏内容素材,未来要写博客/总结
流程:
- 先保存进
inbox - AI 打标签 + 摘要
- 你只做一个动作:把它拖到
to-try或to-write
整理成本接近 0,但库会越来越“像样”。
实践 2:截图知识库(你的 VL 模型大显身手)
你已经选了能看图的 VL 模型,这类内容最值:
- 报错截图:固定加标签
error-log - 架构图:固定加标签
diagram - 命令行截图:固定加标签
cli - 配置片段:固定加标签
config
以后你只要搜 error-log mysql 或 diagram ods,就能把图翻出来。
实践 3:AI Card 的“前置仓”
你之前想做 AI Card,我建议 Karakeep 扮演的角色是:
“碎片入口 + 初步结构化”,而不是最终卡片系统。
做法:
- Karakeep 收集:链接/截图/片段
- AI 先生成:标题、摘要、标签
- 你每周一次,从
to-write挑 3 条,搬进你的 Card 系统(Notion/自建/任何地方)
这样不会被“我必须当场整理”拖垮。
实践 4:MCP 自动投喂(把信息流变成资产流)
比如你每天刷到 AI 工具、GitHub 项目、数仓文章:
- 让你的 Agent 把符合条件的链接丢进 Karakeep
- 自动加标签:
ai-tools/data-engineering/devops - 自动进 list:
inbox
你就不用“记得去收藏”,你只负责“记得去消化”。
常见坑位排雷(很实用)
1)登录后又跳回登录页 / Cookie 异常
99% 是 NEXTAUTH_URL 写错了。
它必须等于你最终访问地址(反代域名、https 都要一致)。
2)AI 不工作 / 报 embeddings 相关错
检查:
OPENAI_BASE_URL是否是https://openrouter.ai/api/v1- 模型名是否拼对(尤其带
:free的) - OpenRouter key 是否有额度/被限速
3)公网暴露后有人乱注册
开:
DISABLE_SIGNUPS=true
并且尽量让反代层也做访问控制。
结尾:现在这套已经很强了
现在的 Karakeep 配置本质上是:
- 一个自建的收藏仓库
- 一个 AI 分拣员
- 一个可自动写入的入口(MCP)
接下来即将登场的是,一套自己的“整理哲学”:
评论区