手把手教你打造本地私有化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

Flutter 三方库 bybit 的鸿蒙化适配指南 - 实现高性能交易数据获取、支持 WebSockets 实时订单簿与加密货币交易接口集成

Flutter 三方库 bybit 的鸿蒙化适配指南 - 实现高性能交易数据获取、支持 WebSockets 实时订单簿与加密货币交易接口集成

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 bybit 的鸿蒙化适配指南 - 实现高性能交易数据获取、支持 WebSockets 实时订单簿与加密货币交易接口集成 前言 在进行 Flutter for OpenHarmony 的金融科技(FinTech)应用开发时,对接主流交易所的实时数据和交易功能是核心需求。bybit 是一个专为 Bybit 交易所设计的异步 Dart SDK。它封装了 REST API 调用和复杂的 WebSockets 订阅逻辑。本文将探讨如何在鸿蒙系统下构建低延迟、高可靠的加密资产交易终端。 一、原原理分析 / 概念介绍 1.1 基础原理 bybit 库基于 http 处理基础请求,并利用 web_socket_

By Ne0inhk
YOLO26来了,更好、更快、更小的 YOLO 模型,使用YOLO26训练自己的数据集和推理(附YOLO26网络结构图),租用 GPU 服务器训练教程,YOLO26创新点解析

YOLO26来了,更好、更快、更小的 YOLO 模型,使用YOLO26训练自己的数据集和推理(附YOLO26网络结构图),租用 GPU 服务器训练教程,YOLO26创新点解析

目录 * 摘要 * YOLO26更新点 * ⚡⚡C3k2 小优化 * ☑️ YOLO26 C3k2代码 * ☑️ YOLO11 C3k2代码 * ⚡⚡移除分布焦点损失(DFL) * ⚡⚡端到端、无需 NMS 推理 * ⚡⚡ProgLoss 与 STAL * ☑️ProgLoss * ☑️STAL (小目标感知标签分配) * ⚡⚡MuSGD优化器 * 从机器人到制造业:YOLO26 的用例 * 🐴一、YOLO26 源码下载与模型下载 * ⚡⚡YOLO26模型结构图 * ⚡⚡1.源码下载 * ⚡⚡2.官网的预训练模型下载 * 🐴二、数据集准备 * ⚡⚡LabelImg & Labelme * ☑️ LabelImg(仅限矩形检测框) * ☑️ Labelme * ⚡⚡ X-AnyLabeling * ⚡⚡ 旋转框 (OBB) 标注工具:roLabelImg * ⚡⚡1.目标检测数据集标注软件 * ⚡⚡2.voc数据集格式转换

By Ne0inhk
鸿蒙APP开发从入门到精通:性能优化与Next原生合规

鸿蒙APP开发从入门到精通:性能优化与Next原生合规

《鸿蒙APP开发从入门到精通》第11篇:性能优化与Next原生合规 🏎️✅ 内容承接与核心价值 这是《鸿蒙APP开发从入门到精通》的第11篇——性能优化与Next原生合规篇,承接第10篇的「AI原生与用户增长」,100%复用项目架构,为后续第12篇的电商购物车全栈项目最终上线铺垫性能优化与Next原生合规的核心技术。 学习目标: * 掌握鸿蒙APP性能优化的定义与架构; * 实现启动优化、渲染优化、网络优化等性能优化功能; * 理解Next原生合规的原理与实现方式; * 开发代码规范、权限合规、数据合规等合规功能; * 优化性能与合规的用户体验(响应速度、内存占用、电池消耗)。 学习重点: * 鸿蒙APP性能优化的开发流程; * 性能优化的分类与使用场景; * 启动优化、渲染优化、网络优化的实现; * Next原生合规的设计与实现。 一、 性能优化基础 🎯 1.1 性能优化定义 性能优化是指对应用进行优化,提高应用的响应速度、降低内存占用、减少电池消耗等,主要包括以下方面: * 启动优化:优化应用的启动时间; * 渲染优化:优化应用的界

By Ne0inhk
Flutter 组件 cron_parser 的适配 鸿蒙Harmony 实战 - 驾驭 Cron 定时任务预测算法、实现鸿蒙端高精度调度中心与冲突检测方案

Flutter 组件 cron_parser 的适配 鸿蒙Harmony 实战 - 驾驭 Cron 定时任务预测算法、实现鸿蒙端高精度调度中心与冲突检测方案

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 cron_parser 的适配 鸿蒙Harmony 实战 - 驾驭 Cron 定时任务预测算法、实现鸿蒙端高精度调度中心与冲突检测方案 前言 在鸿蒙(OpenHarmony)生态的智能家居、自动运维以及金融级批处理应用中,“定时触发”是业务逻辑的绝对核心。面对“每周一至周五凌晨 3 点半同步数据”、“每个月最后一个周六执行对账”这种复杂的调度需求,如果仅仅靠手动写 Timer 或者复杂的 if-else 日期判断,不仅代码极度臃肿,更容易产生极难排查的逻辑死角。 我们需要一种标准化的、具备“时间旅行”预判能力的调度描述语言。 cron_parser 是一套完美支持标 Cron 表达式语法(如 * * * * *)的核心解析库。它不仅能判断某个瞬间是否符合规则,更能预判下一次、

By Ne0inhk