手把手教你打造本地私有化AI知识库:Obsidian + OpenCode + Agent Client + MCP Server 完全指南

手把手教你打造本地私有化AI知识库:Obsidian + OpenCode + Agent Client + MCP Server 完全指南

在AI时代,拥有一个高效、私密、可控的个人知识库变得尤为重要。本文将详细介绍如何利用Obsidian + OpenCode + Agent Client + MCP Server这四件套,在本地搭建一个完全私有化的AI知识管理系统。所有数据都存储在你的电脑上,无需联网即可享受AI带来的便捷!


一、整体架构概述

在开始之前,让我们先了解这四个工具的角色:

工具角色作用
Obsidian笔记管理本地Markdown笔记管理,支持双向链接
MCP Server知识索引将笔记向量化,建立语义搜索能力
OpenCodeAI大脑本地AI编程助手,支持多种模型
Agent Client对接桥梁让Obsidian能调用AI能力

整个流程是:Obsidian管理笔记 → MCP Server将笔记向量化并提供搜索API → OpenCode作为AI大脑调用MCP服务 → Agent Client将AI能力集成到Obsidian中。


二、环境准备

在开始安装之前,请确保你的电脑上已安装:

  1. Node.js (推荐v18或更高版本)
  2. Ollama (用于本地运行嵌入模型)
  3. npm (Node.js包管理器)

查看安装状态:

node --version npm --version ollama --version 

三、第一步:安装和配置Obsidian

3.1 下载安装Obsidian

访问 https://obsidian.md 下载并安装Obsidian客户端。创建或选择一个笔记库(Vault)作为你的知识库。

3.2 安装必要插件

  1. 安装BRAT插件
    • 打开设置 → 社区插件 → 关闭安全模式
    • 点击浏览,搜索"BRAT"并安装
  2. 通过BRAT安装Agent Client Plugin
    • 启用BRAT后,点击"Add Beta plugin"
    • 输入:https://github.com/agent-client/obsidian-agent-client
  3. 安装Obsidian MCP Server
    • 同样通过BRAT安装: https://github.com/Minhao-Zhang/obsidian-mcp-server

四、第二步:配置Ollama和向量化模型

4.1 安装Ollama

从 https://ollama.com 下载并安装Ollama。

4.2 拉取嵌入模型

# 拉取轻量级嵌入模型(推荐) ollama pull nomic-embed-text # 或者使用阿里Qwen的嵌入模型 ollama pull qwen3-embedding:0.6b 

4.3 启动Ollama服务

ollama serve 

Ollama会自动在 http://localhost:11434 提供OpenAI兼容的API。


五、第三步:配置Obsidian MCP Server

5.1 配置嵌入模型

  1. 打开Obsidian设置,找到MCP Server插件
  2. 在"Embedding Model"部分进行配置:
配置项
API Endpointhttp://localhost:11434/v1
Model Namenomic-embed-text
API Keyollama (任意值)
  1. 点击"Verify"测试连接

5.2 索引知识库

  1. 按 Ctrl/Cmd+P 打开命令面板
  2. 执行"Re-index Vault (MCP Server)"
  3. 等待索引完成

索引完成后,你的所有笔记都具备了语义搜索能力!

5.3 启动MCP Server

在命令面板执行"Start MCP Server",服务默认在 http://localhost:9080/sse 运行。


六、第四步:安装和配置OpenCode

6.1 安装OpenCode

npminstall -g opencode-ai 

查看安装路径:

where opencode 

6.2 配置OpenCode

创建配置文件 ~/.config/opencode/opencode.json

{"$schema":"https://opencode.ai/config.json","mcp":{"my-obsidian-knowledge":{"type":"remote","url":"http://localhost:9080/sse","enabled":true}},"model":{"provider":"ollama","model":"qwen2.5:7b"}}

6.3 验证MCP连接

运行OpenCode:

opencode 

在交互界面输入:

/mcps 

如果能看到"my-obsidian-knowledge"已连接,说明配置成功!


七、第五步:配置Agent Client

7.1 配置自定义Agent

  1. 打开Obsidian的Agent Client插件设置
  2. 点击"Add custom agent",配置如下:
配置项
Agent IDopenCode
Display nameopenCode
Path你电脑上opencode.cmd的完整路径
Argumentsacp

7.2 环境变量配置

在Agent配置中添加环境变量:

OPENAI_API_KEY=sk-your-key OPENAI_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1 OPENAI_MODEL=qwen3-coder-plus 

或者如果你使用本地Ollama:

OPENAI_API_KEY=ollama OPENAI_BASE_URL=http://localhost:11434/v1 OPENAI_MODEL=qwen2.5:7b 

六、第六步:开始使用

6.1 在Obsidian中调用AI

现在,你可以在Obsidian中:

  1. 使用命令面板调用Agent
  2. 让AI帮你搜索知识库中的相关内容
  3. 让AI根据你的笔记回答问题

6.2 使用示例

示例1:语义搜索笔记

“帮我找找关于React Hooks的笔记”

示例2:基于笔记问答

“根据我的学习笔记,解释一下什么是闭包?”

示例3:写作辅助

“帮我整理一下这篇会议记录的重点”

七、进阶扩展

7.1 添加更多MCP服务

OpenCode支持添加多个MCP服务,例如文件系统MCP:

{"mcp":{"my-obsidian-knowledge":{"type":"remote","url":"http://localhost:9080/sse","enabled":true},"filesystem":{"type":"local","enabled":true,"command":["npx","-y","@modelcontextprotocol/server-filesystem","D:/projects"]}}}

7.2 使用云端大模型

如果本地模型不够强大,可以使用阿里云百炼、OpenAI等云端服务:

{"model":{"provider":"openai","model":"gpt-4","apiKey":"sk-xxx","baseUrl":"https://api.openai.com/v1"}}

八、常见问题

Q1: MCP Server启动失败?

确保Ollama正在运行,且嵌入模型已正确安装。

Q2: 向量搜索结果不准确?

尝试重新索引知识库,或更换嵌入模型。

Q3: OpenCode无法连接MCP?

检查 http://localhost:9080/sse 是否可访问,防火墙是否阻止。


总结

通过以上步骤,你已经成功搭建了一个本地私有化的AI知识库:

数据完全本地存储,隐私安全有保障
支持语义搜索,快速定位相关内容
AI深度集成,问答、写作、整理样样精通
可扩展性强,可接入多种MCP服务

这个组合让Obsidian从一个简单的笔记软件摇身变成了真正的AI知识管理助手!快去试试吧!


如果觉得有帮助,欢迎转发分享!有问题欢迎在评论区留言讨论。

Read more

WebRTC 播放器硬核评测:谁是 H5 直播“毫秒级”低延迟的终结者?

摘要:在直播带货、在线教育、安防监控等实时互动场景中,HLS 和 FLV 的延迟已逐渐成为业务瓶颈。WebRTC 作为次世代流媒体标准,正在重塑 H5 播放体验。本文将从 WebRTC 协议的技术底层出发,横向测评 xgplayer、Video.js、DPlayer 等主流播放器,并深入剖析为何 ZWPlayer 能在 WebRTC 协议支持上实现“大满贯”,成为开发者的首选方案。 一、 为什么 WebRTC 是低延迟直播的未来? 在讨论播放器之前,我们必须先理解 WebRTC(Web Real-Time Communication)为何能将延迟压低至 500ms 以内,完胜延迟 3s+ 的 HTTP-FLV 和 10s+ 的 HLS。

前端动画库:让你的网站动起来

前端动画库:让你的网站动起来 毒舌时刻 前端动画?这不是用CSS就够了吗? "CSS动画简单,我只用CSS"——结果复杂动画难以实现, "JavaScript动画性能差,我不用"——结果交互体验差, "Framer Motion?GSAP?没听说过,肯定不如CSS"——结果错过了更强大的动画能力。 醒醒吧,前端动画不是简单的CSS过渡,而是需要根据场景选择合适的工具! 为什么你需要这个? * 用户体验:流畅的动画提升用户体验 * 交互反馈:动画可以提供清晰的交互反馈 * 视觉吸引力:动画让网站更具视觉吸引力 * 品牌识别:独特的动画风格可以强化品牌识别 反面教材 /* 反面教材:过度使用CSS动画 */ .animation { /* 复杂的CSS动画,难以维护 */ animation: rotate 2s linear infinite, scale 1s ease-in-out infinite

前端拖拽排序实现详解:从原理到实践 - 附完整代码

前端拖拽排序实现详解:从原理到实践 - 附完整代码

🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Micro麦可乐的博客 🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战 🌺《RabbitMQ》专栏19年编写主要介绍使用JAVA开发RabbitMQ的系列教程,从基础知识到项目实战 🌸《设计模式》专栏以实际的生活场景为案例进行讲解,让大家对设计模式有一个更清晰的理解 🌛《开源项目》本专栏主要介绍目前热门的开源项目,带大家快速了解并轻松上手使用 🍎 《前端技术》专栏以实战为主介绍日常开发中前端应用的一些功能以及技巧,均附有完整的代码示例 ✨《开发技巧》本专栏包含了各种系统的设计原理以及注意事项,并分享一些日常开发的功能小技巧 💕《Jenkins实战》专栏主要介绍Jenkins+Docker的实战教程,让你快速掌握项目CI/CD,是2024年最新的实战教程 🌞《Spring Boot》专栏主要介绍我们日常工作项目中经常应用到的功能以及技巧,代码样例完整 👍《Spring Security》专栏中我们将逐步深入Spring Security的各个

前端小白也能秒上手:JS生成UUID的10种姿势(附避坑指南)

前端小白也能秒上手:JS生成UUID的10种姿势(附避坑指南)

前端小白也能秒上手:JS生成UUID的10种姿势(附避坑指南) * 前端小白也能秒上手:JS生成UUID的10种姿势(附避坑指南) * 为啥前端突然要搞这破玩意儿?还不是被后端逼的 * 先整明白UUID到底是个啥,别瞎用 * 土法炼钢第一式:Math.random()真的靠谱吗? * 土法炼钢第二式:Date.now()加料版 * 土法炼钢第三式:浏览器指纹大杂烩 * 正规军来了:uuid npm包到底香不香? * 浏览器原生API:crypto.randomUUID()真香预警 * 生产环境翻车实录:那些我以为的唯一其实并不唯一 * 实战代码大放送:这些场景你肯定用得上 * 调试技巧:怎么验证你的UUID真的唯一? * 冷门但好用的小技巧 * 最后唠叨两句,也是掏心窝子的话 前端小白也能秒上手:JS生成UUID的10种姿势(附避坑指南) 说实话啊,这篇文章我原本是不想写的。真的,因为UUID这玩意儿听起来就挺"后端味儿"的,感觉应该是那帮穿格子衫的Java老哥在Spring Boot里@Genera