Obsidian 本地 AI 实测:10 分钟让离线模型读懂你的笔记链接

📅 发布时间:2026/8/20 20:17:03
Obsidian 本地 AI 实测:10 分钟让离线模型读懂你的笔记链接 Obsidian 本地 AI 实测10 分钟让离线模型读懂你的笔记链接【免费下载链接】obsidian-local-gptLocal Ollama and OpenAI-like GPTs assistance for maximum privacy and offline access项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-local-gptObsidian Local GPT 是一款完全离线的 AI 辅助插件它把本地大模型直接接进 Obsidian 的编辑流程。这篇文章记录我放弃云端 AI 之后用它重建个人知识库的全过程——包括踩过的坑、查过的源码、以及最让我意外的链接理解能力。一切是从哪次失眠开始的凌晨两点我把一篇写了一半的研究笔记丢给云端 AI 让它帮我继续写。第二天醒来邮箱里躺着一封隐私政策更新通知提示您的对话可能被用于模型训练。那篇笔记里是我的病历摘要、客户的联系方式、还有没发表的想法。从那天起我给自己立了个规矩笔记里出现的东西一律不出这台电脑。于是问题来了完全离线的 AI 到底行不行Obsidian 里那么多笔记、双向链接、PDF 文献离线模型能看懂吗我决定用 Obsidian Local GPT 做一次完整实验全程记录。先弄清楚它到底解决了什么问题装之前我犯了个常见误解以为它就是个聊天机器人需要把笔记复制粘贴到某个对话框里。实际不是。它的核心设计是你选中一段文字就能把活儿派给本地模型。两个入口对应两种用法入口触发方式适合场景结果去向右键菜单保存的动作选中文字 → 呼出菜单重复使用的固定操作按动作设定替换或插入动作面板Action Palette快捷键唤起一次性提问、临时想法始终插入光标处关键区别在于选没选中文字保存的动作在没选中时会拿整篇笔记当处理对象动作面板没选中时就只有你输入的那句话作为输入。这个设计让我第一次意识到它把 AI 变成了编辑器的一部分而不是另一个窗口。10 分钟搭好一套离线环境我的环境是 Linux Ollama完整过程如下。第一步装插件本体。在 Obsidian 设置 → 社区插件里搜索 Local GPT 安装即可。想手动构建的话克隆仓库后执行git clone https://gitcode.com/gh_mirrors/ob/obsidian-local-gpt cd obsidian-local-gpt npm install npm run build把生成的main.js、manifest.json、styles.css放进插件目录就行。第二步装配套的 AI Providers 插件。这是我最开始忽略的一环——Local GPT 自己不管模型连接它把哪个服务商、什么模型、流式输出这些事外包给了这个配套插件。两个插件必须同时装。第三步拉一个嵌入模型。这一步只在使用 RAG下面会细说时需要但建议现在就装好ollama pull nomic-embed-text英语笔记为主用上面这个最快中文等多语言笔记建议换bge-m3慢一点但更准。我因为笔记中英混杂直接选了bge-m3。第四步绑快捷键。设置 → 热键里搜索 Local给显示上下文菜单和动作面板各绑一个键位我分别用了CtrlM和CtrlJ。第一次实测默认的六个动作够用吗装上之后我第一件事是把上个月一篇写崩的周报选中调出右键菜单。菜单里躺着六个默认动作继续写作、总结、修复拼写语法、找行动项、通用帮助、新建系统提示。前五个一看就懂修复拼写语法有个细节——它勾选了替换选中文本也就是说改完会直接覆盖原文其他动作默认把结果插到选中文本后面原文保留。实测结果总结一篇 3000 字的会议记录输出五点要点还顺手标出了负责人。这个找行动项动作会把句子转成- [ ]复选框格式粘贴进笔记就能直接当待办清单用。继续写作接我那篇写崩的周报语气基本能保持但会自己编造几个我没做过的项目进度——本地模型同样会幻觉这点跟云端没区别别指望它无脑可信。修复拼写语法把几处中英混排的标点问题修掉了英文部分改得最干净。到这里为止它像一个住在编辑器里的助手。真正让我改观的是下一步。真正的重头戏它怎么读懂你的链接关系这是我在文档里读到、又亲手验证过的核心机制也是最容易用错的地方。理解它只需要分清两个概念工作文本working text你要让 AI 处理的东西——选中的文字或整篇笔记。上下文contextAI 可以参考的背景资料——从你的链接、反链、PDF 里检索出来的片段。运行一次请求时插件会做三件事先顺着当前笔记的双链[[...]]和 Markdown 链接找到关联文件再往反方向找谁链接了我把这些文档连同 PDF 一起收进一个去重后的文档池切块、向量化、按相似度打分最后只把得分最高的片段塞给模型。这段逻辑在 src/rag.ts 里写得很直白感兴趣可以直接读。有几个实现细节让我印象很深细节一代码块里的链接不会被跟进。解析链接前会先剔除代码块、行内代码和 HTML 注释防止你把示例代码里的假链接当真。我在一篇带代码示例的笔记里测过确实不会误抓。细节二遍历有深度上限。递归深度封顶 10 层MAX_DEPTH 10环状链接也不会死循环因为已经处理过的文档会跳过。细节三PDF 只提取一次。首次引用某个 PDF 会完整提取文字之后按文件路径 修改时间判断有没有变过没变就直接用缓存第二次起几乎不耗时。细节四上下文有预算。塞给模型的内容不是越多越好设置里有个contextLimit四档预设对应不同上下文窗口本地模型档 1 万字符、云端档 3.2 万、进阶档 10 万、最大 300 万。我用的是 8k 上下文的小模型老老实实选 1 万那档。细节五动作面板里没有任何隐藏上下文。所有会被送进模型的资料都会以可移除的标签页形式展示在你面前提交前能看清要发给模型什么、随手摘掉不需要的。这个提交前可见的设定比我想象的贴心。三个最容易踩的坑坑一嵌入模型没配RAG 静默失效。如果嵌入模型没装好检索那一步会直接跳过请求照样发出——只是完全没有上下文。症状就是 AI 答得跟链接无关。排查时先确认 AI Providers 设置里选了嵌入模型。坑二动作面板里问题描述不清检索结果会跑偏。在动作面板发起检索时你的输入就是唯一的检索信号。我第一次只输入总结一下结果抓回来的全是毫不相干的段落。把问题写具体比如总结这份季度财报中关于研发投入的部分命中率立刻不一样。坑三拿超大 PDF 全库硬刚。一次把整篇文献丢给 8k 上下文的模型上下文预算会直接把重要内容挤掉。我的办法是配合动作面板手动只挂入需要的文件而不是指望它全自动猜对。这轮实验的结论两周用下来我的工作流变成这样日常写作用右键菜单的固定动作需要跨笔记综合信息时用动作面板配合检索。云端 AI 的订阅没有续费。最后留一个问题给你如果 AI 永远只读你自己写的笔记它给出的建议和总结是帮你跳出思维定式还是把你困在旧认知里这是我最近一直在想的事欢迎分享你的用法。想深入了解的话提示词模板的完整语法在 docs/prompt-templating.md插件内部的模块拆分说明在 docs/local-gpt-architecture.md默认动作的定义可以直接看 src/defaultSettings.ts。仓库里还有一个 benchmarks/rag-vault/ 基准测试集61 个用例覆盖了从别名链接到嵌套目录的各种边角情况是理解它链接解析能力的绝佳教材。【免费下载链接】obsidian-local-gptLocal Ollama and OpenAI-like GPTs assistance for maximum privacy and offline access项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-local-gpt创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考