侧边栏壁纸
博主头像
human@localhost:~

行动起来,活在当下

  • 累计撰写 2 篇文章
  • 累计创建 4 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

自建记忆圣殿:Karakeep + OpenRouter 的归档仪式

Solar
2025-12-15 / 0 评论 / 0 点赞 / 10 阅读 / 0 字

一直想做个 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_SECRETMEILI_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-engineeringread-it-latererror-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:偏内容素材,未来要写博客/总结

流程:

  1. 先保存进 inbox
  2. AI 打标签 + 摘要
  3. 你只做一个动作:把它拖到 to-tryto-write
    整理成本接近 0,但库会越来越“像样”。

实践 2:截图知识库(你的 VL 模型大显身手)

你已经选了能看图的 VL 模型,这类内容最值:

  • 报错截图:固定加标签 error-log
  • 架构图:固定加标签 diagram
  • 命令行截图:固定加标签 cli
  • 配置片段:固定加标签 config

以后你只要搜 error-log mysqldiagram 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

你就不用“记得去收藏”,你只负责“记得去消化”。

常见坑位排雷(很实用)

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)

接下来即将登场的是,一套自己的“整理哲学”:

0

评论区