在Windows下用Claude Code、Ollama和Obsidian构建本地知识库的详细方案,包含机理、步骤、UML建模和项目文件结构。

涉及多个工具的配合,先了解它们各自在Windows上的安装配置、核心功能以及如何协同工作。

几个关键方向:Claude Code的Windows安装和使用、MCP配置方法、Ollama在Windows上的部署、以及Obsidian与AI插件集成的信息。

关于Claude Code,主要安装方式是通过PowerShell脚本或npm,依赖Node.js 18+,并且官方提供了详细的Windows安装指南。

MCP配置方面,有专门的npm包(如obsidian-mcp)可以连接Obsidian库,这正好是连接Claude Code和Obsidian的关键。

Ollama在Windows上安装很简单,有官方安装包,也支持通过winget安装。

Obsidian有“LLM Wiki”这类插件可以直接基于Ollama构建可查询的知识库。

另外,本地REST API插件是实现MCP连接的一个基础。

Claude Code + Ollama + Obsidian:Windows 本地大模型知识库深度实施指南

一、系统架构总览

1.1 三层架构

整个系统采用“知识存储层→AI推理层→智能交互层”的三层架构,各层之间通过标准化接口(MCP协议、REST API)实现松耦合通信。

层级 组件 职责 在Windows上的形态
知识存储层 Obsidian 管理Markdown笔记文件,支持双向链接、标签、YAML Frontmatter元数据 Windows桌面应用程序,笔记以.md文件形式存储在本地磁盘
AI推理层 Ollama + MCP Server 运行本地大语言模型和嵌入模型,提供推理和向量化服务;MCP Server作为协议桥接 Windows服务进程(默认端口11434),模型存储在%USERPROFILE%\.ollama
智能交互层 Claude Code 作为AI Agent,通过MCP协议调用工具,读写Obsidian笔记库 Windows命令行工具(PowerShell/Git Bash),通过MCP发现并调用下层服务

1.2 数据流动路径

🧠 AI推理层(完全本地)

📚 知识存储层

🔌 协议桥接层(MCP)

🎯 用户交互层

自然语言指令
'总结笔记/搜索知识库'

MCP 协议 · stdio

文件系统读写
(直接访问 .md 文件)

模型推理请求

生成向量嵌入
(语义搜索加速)

👤 用户

Claude Code CLI
AI Agent · 智能中枢

Obsidian MCP Server
(NPM包 / Python包)

Obsidian Vault
Markdown 笔记文件 · 双向链接

Ollama 服务
本地大模型运行时

对话模型
(如 qwen2.5:7b)

嵌入模型
(如 nomic-embed-text)

数据流说明:

步骤 方向 数据内容 传输协议 说明
用户 → Claude Code 自然语言指令 终端输入 用户在终端中描述任务需求
Claude Code → MCP Server 工具调用请求(如读取/搜索笔记) MCP/stdio(JSON-RPC) Agent决定调用某个MCP工具完成任务
MCP Server → Obsidian 文件读/写操作 操作系统文件系统调用 直接操作.md文件,无需Obsidian打开
Claude Code → Ollama 模型推理请求(对话/嵌入) Ollama REST API(HTTP/11434) Agent需要模型推理时向Ollama发请求
Ollama → Claude Code 模型推理结果 HTTP Response(JSON) 返回生成文本或嵌入向量
MCP Server → Claude Code 工具执行结果 MCP/stdio(JSON-RPC) 返回文件内容或操作状态给Agent
Claude Code → 用户 最终回答 终端输出 Agent整合上下文和工具结果,生成最终回答

1.3 架构决策记录(ADR)

决策编号 决策内容 理由 权衡
ADR-001 选择MCP协议而非HTTP直接调用 MCP提供标准化工具发现、调用和权限管理机制 增加了额外服务进程,但换取了更好的可扩展性和安全性
ADR-002 选择文件系统直接访问而非Local REST API 文件系统访问更轻量,不依赖Obsidian运行状态 无法利用Obsidian插件生态(如Dataview动态查询)
ADR-003 选择qwen2.5:7b作为默认对话模型 中文理解能力强,7B参数量在消费级硬件上可流畅运行 在复杂推理任务上不如大型云端模型
ADR-004 Windows原生安装而非WSL 与Windows文件系统和Obsidian的直接集成更简便 WSL环境可能提供更丰富的Linux工具链支持

二、核心机理深入解析

2.1 MCP协议:AI Agent与工具之间的“USB-C接口”

MCP(Model Context Protocol)是Anthropic提出的一种开放标准协议,其核心理念类似于USB-C——为AI模型与外部工具之间提供一个统一的“插拔”接口。它基于JSON-RPC 2.0协议,定义了三种核心通信原语:

原语 方向 作用 示例
Tools Server → Client 服务器暴露可调用的工具列表 read_notesearch_contentcreate_note
Resources Server → Client 暴露可读取的数据资源 笔记内容、文件夹结构、标签列表
Prompts Server → Client 预定义的提示词模板 “总结这篇笔记”、“提取关键概念”

在Claude Code中,MCP Server通过stdio传输(标准输入/输出流)与Claude Code通信。Claude Code启动时,会自动启动配置文件中定义的MCP Server子进程,并通过子进程的stdin/stdout交换JSON-RPC消息。整个交互遵循严格的请求-响应模型:

Obsidian Vault (.md 文件) Windows 文件系统 MCP Server (obsidian-mcp) Claude Code (AI Agent) 👤 用户 Obsidian Vault (.md 文件) Windows 文件系统 MCP Server (obsidian-mcp) Claude Code (AI Agent) 👤 用户 stdio 传输 使用 qwen2.5:7b 模型 "帮我总结 '机器学习笔记' 这篇笔记" 分析任务:需要读取特定笔记内容 JSON-RPC: tools/call {name:"read_note", args:{path:"机器学习笔记"}} 打开文件: D:\ObsidianVault\机器学习笔记.md 返回文件内容 JSON-RPC Response {content: " 对笔记内容进行推理分析(调用Ollama模型) "📋 这篇笔记的核心内容如下: 1. 监督学习的基本原理... 2. 常见算法包括..."

2.2 Ollama模型推理的内部机制

Ollama在Windows上以系统服务形式运行,默认监听 127.0.0.1:11434 端口,提供兼容OpenAI格式的REST API。当Claude Code配置为使用Ollama作为模型后端时,所有推理请求都会路由到这个本地端点。

对话模型推理流程(以问答为例):

  1. 请求构建:Claude Code将用户问题与系统提示词组装成Chat Completions格式的JSON请求体
  2. HTTP发送:POST请求发往 http://localhost:11434/v1/chat/completions
  3. 模型加载:Ollama检查请求的模型是否已加载到内存(若未加载,从磁盘加载GGUF格式的量化模型)
  4. GPU加速:若系统有NVIDIA/AMD显卡且驱动正常,Ollama自动将计算卸载到GPU
  5. 流式响应:模型逐token生成文本,通过Server-Sent Events实时流式返回
  6. 结果整合:Claude Code接收完整响应,进行后续处理或展示

嵌入模型的作用nomic-embed-text 模型负责将文本段落转换为高维向量(768维),这些向量能捕捉文本的语义信息。在知识库场景中:

  • 离线索引阶段:Ollama遍历Obsidian Vault中所有笔记,将每篇笔记的内容和标题分别向量化,建立向量索引
  • 在线查询阶段:用户提问后,Claude Code先将问题向量化,然后在索引中通过余弦相似度搜索最相关的笔记,最后将这些笔记作为上下文注入给对话模型生成答案

2.3 Obsidian Vault的Markdown文件结构

Obsidian Vault的本质是磁盘上的一个文件夹,其中所有笔记都以标准.md文件存储。文件内部使用以下结构化约定:

语法元素 格式 作用 示例
YAML Frontmatter 文件顶部的---包裹块 存储结构化元数据(标签、日期、状态等) tags: [AI, 机器学习]
WikiLink双向链接 [[笔记名]] 语法 建立笔记之间的关联 参见[[监督学习详解]]
标签 #标签名 分类和过滤笔记 #project/active
Markdown标题 # ## ### 层级标题 组织结构化内容 ## 核心算法

2.4 Windows特有的技术考量

在Windows上部署此方案,有以下关键差异需注意:

技术点 Linux/macOS Windows 解决方案
路径分隔符 / \ 统一使用正斜杠/或双反斜杠\\,Node.js自动处理
环境变量引用 $HOME %USERPROFILE% 在MCP配置中使用绝对路径
Shell环境 Bash/Zsh PowerShell/CMD 推荐安装Git for Windows获取Bash环境
MCP stdio传输 原生支持 部分MCP Server需要cmd.exe /c包装 使用mcp2win工具自动包装
文件权限 Unix权限模型 NTFS ACL 以管理员身份运行首次安装,后续无需特殊权限

三、项目实施:完整部署步骤

3.1 前置环境准备

系统要求(Windows 10 version 1809+ 或 Windows 11)

📦 软件依赖

Windows 10/11

Node.js 18+

Git for Windows

管理员权限

💻 硬件要求

内存 ≥ 16GB
(建议32GB)

磁盘 ≥ 20GB 可用空间

GPU 可选
(NVIDIA 6GB+ 显存)

步骤一:安装Node.js
  1. 访问 nodejs.org,下载LTS版本(18.x或20.x)
  2. 运行安装程序,勾选“Add to PATH”
  3. 验证安装:
node --version   # 应输出 v18.x.x 或 v20.x.x
npm --version    # 应输出 9.x.x 或 10.x.x
步骤二:安装Git for Windows
  1. 访问 git-scm.com,下载安装包
  2. 安装时选择“Git Bash Here”和“Use Git from the Windows Command Prompt”
  3. 验证安装:
git --version    # 应输出 git version 2.x.x

3.2 安装Ollama

推荐方法:官方MSI安装包

  1. 访问 ollama.com/download,下载Windows版本安装包
  2. 右键安装包,选择“以管理员身份运行”
  3. 安装完成后,系统托盘会出现Ollama图标,表示服务已启动
  4. 也可以使用winget命令行安装:
winget install Ollama.Ollama
  1. 验证安装并检查端口:
ollama --version   # 输出 Ollama v0.x.x
ollama list        # 列出已安装的模型(初始为空)
netstat -ano | findstr 11434   # 确认11434端口已在监听

拉取核心模型

# 对话模型(推荐qwen2.5:7b,中文能力强,约4.7GB)
ollama pull qwen2.5:7b

# 嵌入模型(用于语义搜索,约274MB)
ollama pull nomic-embed-text

模型下载完成后,存储在 %USERPROFILE%\.ollama\models 目录下。

模型选择参考

模型名称 参数量 大小 适用场景 中文支持 推荐理由
qwen2.5:7b 7B ~4.7GB 对话/问答/摘要 ⭐⭐⭐⭐⭐ 通义千问系列,中文效果优异
qwen2.5:14b 14B ~8.9GB 复杂推理/长文理解 ⭐⭐⭐⭐⭐ 更强的推理能力,需16GB+内存
qwen2.5:3b 3B ~1.9GB 轻量对话/快速响应 ⭐⭐⭐⭐ 低配设备首选,响应快
llama3:8b 8B ~4.7GB 通用对话 ⭐⭐⭐ Meta开源,生态丰富
nomic-embed-text 137M ~274MB 文本向量化 ⭐⭐⭐ 支持8192 token,短长文本均衡

验证模型可用性

# 快速测试对话模型
ollama run qwen2.5:7b "请用一句话介绍你自己。"

# 测试嵌入模型
ollama run nomic-embed-text "这是一段测试文本"

3.3 安装Claude Code

推荐方法:PowerShell一键安装

  1. 以管理员身份打开PowerShell(右键开始菜单 → “Windows PowerShell (管理员)”)
  2. 执行安装命令:
irm https://claude.ai/install.ps1 | iex
  1. 等待安装完成,配置PATH:

    • 打开“系统属性 → 高级 → 环境变量”
    • 在“用户变量”的Path中添加 %USERPROFILE%\.local\bin
    • 重启终端
  2. 验证安装:

claude --version
  1. 首次启动Claude Code时,按提示完成账号认证:
claude          # 启动后按提示登录Anthropic账号

3.4 创建Obsidian Vault

  1. 下载并安装 Obsidian
  2. 打开Obsidian,点击“创建新库”,选择或创建文件夹,例如:
D:\MyKnowledgeBase\
  1. 创建基础的笔记结构:
D:\MyKnowledgeBase\
├── 00-Inbox/          # 收集箱:暂存未整理的笔记
├── 10-Notes/          # 日常笔记
├── 20-Projects/       # 项目相关
├── 30-Resources/      # 参考资料
├── 40-Archive/        # 归档笔记
└── Templates/         # 模板

💡 提示:记下Vault的完整绝对路径,后续配置MCP时需要用到。例如 D:/MyKnowledgeBase(Windows路径建议在配置文件中使用正斜杠)。

3.5 配置MCP Server:连接Claude Code与Obsidian

这是整个方案中最关键的环节。推荐使用 @istrejo/obsidian-mcp,它通过直接文件系统访问方式连接Obsidian Vault,无需Obsidian插件配合,即使Obsidian未打开也能正常工作。

Obsidian Vault

MCP Server 子进程

Claude Code 进程

MCP/stdio

AI Agent
推理引擎

13个工具

read_note

list_notes

search_content

search_by_tags

create_note

update_note

get_backlinks

move_note

delete_note

manage_frontmatter

manage_folders

list_recent

.md 文件

标签

双向链接

配置步骤

  1. 为Claude Code注册Obsidian MCP Server:
claude mcp add obsidian -e OBSIDIAN_VAULT_PATH=D:/MyKnowledgeBase -- npx -y @istrejo/obsidian-mcp

或者手动编辑全局MCP配置文件 %USERPROFILE%\.claude\mcp.json

{
  "mcpServers": {
    "obsidian": {
      "command": "npx",
      "args": ["-y", "@istrejo/obsidian-mcp"],
      "env": {
        "OBSIDIAN_VAULT_PATH": "D:/MyKnowledgeBase",
        "OBSIDIAN_READ_ONLY": "false",
        "OBSIDIAN_MAX_FILE_SIZE": "10485760",
        "OBSIDIAN_BACKUP_ENABLED": "true",
        "OBSIDIAN_LOG_LEVEL": "info"
      }
    }
  }
}

关键环境变量说明

变量名 必填 默认值 说明
OBSIDIAN_VAULT_PATH - Obsidian Vault的绝对路径(Windows用正斜杠)
OBSIDIAN_READ_ONLY false 设为true禁用所有写入操作,适合只读查询场景
OBSIDIAN_MAX_FILE_SIZE 10485760(10MB) 读写操作的文件大小上限(字节)
OBSIDIAN_BACKUP_ENABLED true 删除笔记前自动备份,强烈建议保持启用
OBSIDIAN_LOG_LEVEL info 日志级别:debug/info/warn/error
  1. 验证MCP Server连接:
# 在Claude Code中查看MCP状态
claude
# 进入Claude Code交互界面后,输入:
/mcp
# 应能看到 obsidian 服务器状态为 connected
  1. 测试基本工具调用:

在Claude Code交互界面中输入:

请用 obsidian 工具列出我的知识库中所有的笔记文件。

Claude Code将自动调用 list_notes 工具并返回结果。

备选方案:@mseep/obsidian-mcp-server

如果需要更丰富的功能(如通过Local REST API进行更细粒度的操作),也可以选择 @mseep/obsidian-mcp-server。这个方案需要先在Obsidian中安装“Local REST API”插件,然后通过HTTP协议进行通信。适合需要Obsidian插件生态支持的场景。

3.6 配置Claude Code使用Ollama本地模型

编辑 %USERPROFILE%\.claude\settings.json

{
  "env": {
    "ANTHROPIC_BASE_URL": "http://localhost:11434/v1",
    "ANTHROPIC_AUTH_TOKEN": "ollama"
  },
  "preferred_model": "qwen2.5:7b"
}

⚠️ 注意:由于Claude Code原生设计用于连接Anthropic API,通过上述配置将其指向Ollama的兼容端点是一种变通方案。如果遇到兼容性问题,可以保持Claude Code使用Anthropic云端API作为“大脑”,而Ollama本地模型作为辅助工具使用。

工作模式说明

实际上,Claude Code的核心推理引擎仍需要Anthropic API支持,因为它依赖Claude模型的高级推理和工具调用能力。Ollama在本方案中的角色有以下两种使用模式:

模式 Claude Code推理 本地Ollama模型作用 适用场景
混合模式(推荐) Anthropic API 通过MCP工具间接调用,用于本地嵌入向量化和辅助推理 充分发挥各组件优势
纯本地模式 Ollama API(替代端点) 完全替代云端API 完全离线场景,但功能可能受限

四、UML详细建模

4.1 用例图

📋 核心用例

👤 参与者

知识管理者
(用户)

摄入新知识
将原始资料导入Vault

语义搜索
用自然语言搜索知识库

AI问答
基于知识库内容回答问题

自动总结
提取笔记核心观点

知识链接
发现并建立笔记间关联

Wiki页面生成
从笔记中提取实体和概念

用例详述

UC-01:摄入新知识

  • 参与者:知识管理者
  • 前置条件:原始资料文件(Markdown/文本)位于指定目录
  • 主流程
    1. 用户将新文章放入 raw/ 目录
    2. 用户在Claude Code中输入:处理 raw/ 中的新文章
    3. Claude Code调用MCP工具读取文件内容
    4. AI分析文章结构,提取核心概念和实体
    5. AI在 wiki/ 目录下创建摘要页面和相关概念页面
    6. AI通过 [[双向链接]] 将新页面与已有页面关联
    7. 更新 index.md 总目录
  • 后置条件:新知识已结构化融入知识库
  • 异常流程:若文章内容过长超出上下文窗口,分批处理

UC-03:AI问答

  • 参与者:知识管理者
  • 前置条件:知识库已有索引化的笔记内容
  • 主流程
    1. 用户在Claude Code中提问:机器学习中的过拟合如何解决?
    2. Claude Code调用 search_content 工具进行关键词搜索
    3. Claude Code调用Ollama嵌入模型对问题和笔记向量化,进行语义匹配
    4. 将最相关的笔记内容(Top-K=5)作为上下文注入对话模型
    5. 模型基于检索到的笔记内容生成回答
    6. 回答中附带源笔记的 [[链接]],方便用户溯源
  • 后置条件:用户获得基于知识库的准确回答
  • 特殊需求:当知识库中无相关信息时,模型应明确告知而非编造

4.2 组件图

🖥️ Windows 10/11 操作系统

Obsidian

Ollama 服务

MCP Server 层

终端环境(PowerShell / Git Bash)

MCP · stdio
JSON-RPC 2.0

MCP · HTTP

Node.js fs 模块
文件系统调用

HTTP REST
端口 27124

HTTP POST
/v1/chat/completions

📁 Vault 目录
D:\\MyKnowledgeBase\\

Claude Code CLI
━━━━━━━━━━━━━
📦 包:@anthropic-ai/claude-code
📁 路径:%USERPROFILE%\\.local\\bin
⚙️ 配置:~/.claude/settings.json

obsidian-mcp
━━━━━━━━━━━
📦 包:@istrejo/obsidian-mcp
📡 传输:stdio
🔧 工具:13个

备选:obsidian-mcp-server
━━━━━━━━━━━
📦 包:@mseep/obsidian-mcp-server
📡 传输:HTTP
🔌 依赖:Local REST API插件

ollama.exe 守护进程
━━━━━━━━━━━━━
🌐 地址:127.0.0.1:11434
📁 模型:%USERPROFILE%\\.ollama\\models

对话模型
qwen2.5:7b

嵌入模型
nomic-embed-text

📝 笔记文件
.md

📋 YAML Frontmatter
tags, dates, aliases

🔗 双向链接
[[笔记名]]

4.3 部署图

🖥️ Windows 10/11 宿主机

运行中进程

D:\\ 数据盘

C:\\ 系统盘

fork/exec

HTTP :11434

文件 I/O

读取

执行

ollama.exe
━━━━━━━━━━
PID: xxxx
🌐 监听:127.0.0.1:11434
💾 内存:~6GB

Claude Code CLI
━━━━━━━━━━
PID: xxxx
📡 通过stdio管理MCP子进程

MCP Server 子进程
━━━━━━━━━━
PID: xxxx
🔧 由Claude Code自动启动
📁 可访问:D:\\MyKnowledgeBase

Obsidian Vault
D:\\MyKnowledgeBase\\
├── 00-Inbox/
├── 10-Notes/
├── 20-Projects/
├── 30-Resources/
├── 40-Archive/
├── Templates/
├── CLAUDE.md
└── index.md

Ollama 模型存储
%USERPROFILE%\\.ollama\\models
├── qwen2.5:7b (4.7GB)
└── nomic-embed-text (274MB)

Claude Code 可执行文件
%USERPROFILE%\\.local\\bin

npm 全局模块
%APPDATA%\
pm

4.4 知识摄入序列图

本地LLM Ollama 服务 Windows 文件系统 MCP Server Claude Code Agent 本地LLM Ollama 服务 Windows 文件系统 MCP Server Claude Code Agent ① 文件发现与读取 ② 内容分析(本地LLM) ③ 知识写入 👤 知识管理者 "处理 raw/ 中的新文章 '深度学习入门.md'" list_notes(folder="raw") 扫描 raw/ 目录 [深度学习入门.md] 文件列表 read_note("raw/深度学习入门.md") 打开文件 文件内容 Markdown原文 Chat API: 提取关键概念和实体 推理 概念列表 [深度学习, 神经网络, 反向传播...] 结构化分析结果 create_note("wiki/深度学习入门.md", 摘要内容) 创建文件 成功 创建完成 create_note("wiki/神经网络.md", 概念页面) create_note("wiki/反向传播.md", 概念页面) update_note("wiki/深度学习入门.md", "追加[[神经网络]]和[[反向传播]]链接") update_note("index.md", "添加新页面索引条目") "✅ 已处理 '深度学习入门',创建了1个摘要页和2个概念页,链接关系已建立。" 👤 知识管理者

4.5 语义搜索序列图

对话模型 嵌入模型 Ollama 服务 Windows 文件系统 MCP Server Claude Code Agent 对话模型 嵌入模型 Ollama 服务 Windows 文件系统 MCP Server Claude Code Agent ① 关键词预搜索 ② 语义重排序(本地嵌入模型) loop [对每篇候选笔记] ③ 生成回答(本地对话模型) 👤 知识管理者 "机器学习中如何防止过拟合?" search_content("过拟合") 全文搜索所有 .md 文件 [笔记A, 笔记B, 笔记C, 笔记D, 笔记E] 候选笔记列表(15篇) Embeddings API: 向量化用户问题 生成问题向量 问题向量 [0.12, 0.34, ...] 768维向量 Embeddings API: 向量化笔记内容 生成笔记向量 笔记向量 768维向量 计算余弦相似度 选择Top-5最相关笔记 Chat API: [系统提示] + [Top-5笔记内容] + [用户问题] 推理 "过拟合的常见解决方案包括: 1. 正则化(L1/L2) 2. Dropout 3. 早停法..." 生成回答 + 源引用 "📚 基于你的知识库: 过拟合的解决方案包括: 1. **正则化** — [[正则化技术详解]] 2. **Dropout** — [[深度学习优化技巧]] 3. **早停法** — [[模型训练策略]] 4. **数据增强** — [[数据预处理方法]] 详见上述笔记。" 👤 知识管理者

4.6 状态图:AI Agent决策流程

"用户输入指令"

"指令涉及知识库查询"

"指令要求创建/修改笔记"

"指令包含搜索意图"

"指令为普通对话"

空闲等待

解析用户意图

需要读取笔记

需要写入笔记

需要搜索知识

直接对话

调用read_note工具

获取文件内容

整合上下文

调用create_note或update_note工具

执行文件操作

更新成功

调用search_content工具

全文匹配

调用嵌入模型

语义重排序

获取Top_K相关笔记

调用对话模型

生成回答

返回结果给用户

操作失败

返回错误信息

状态说明

状态 描述 触发条件 输出
空闲等待 Agent等待用户输入 系统启动或上一轮对话结束 -
解析用户意图 分析用户指令确定需要的操作 用户输入自然语言指令 意图分类结果
调用read_note工具 MCP协议调用文件读取工具 意图为“读取笔记” 笔记内容
调用search_content工具 全文搜索Obsidian Vault 意图为“搜索知识” 候选笔记列表
语义重排序 使用嵌入模型计算语义相似度 候选笔记数量较多 Top-K最相关笔记
调用对话模型 向Ollama发送推理请求 需要生成回答 模型生成的文本
调用create_note/update_note MCP协议调用文件写入工具 意图为“写入笔记” 操作状态

五、项目文件结构组织

5.1 Obsidian Vault结构

D:\MyKnowledgeBase\                      ← Obsidian Vault 根目录
│
├── .obsidian\                            ← Obsidian 配置目录(自动生成)
│   ├── app.json                          # 应用设置
│   ├── appearance.json                   # 主题外观
│   ├── community-plugins.json            # 社区插件列表
│   ├── core-plugins.json                 # 核心插件配置
│   └── hotkeys.json                      # 快捷键
│
├── 00-Inbox\                             ← ① 收集箱:暂存待整理内容
│   ├── .gitkeep
│   └── 快速笔记模板.md
│
├── 10-Notes\                             ← ② 日常笔记
│   ├── 学习笔记\
│   │   ├── 机器学习.md
│   │   ├── 深度学习.md
│   │   └── 自然语言处理.md
│   ├── 工作日志\
│   │   ├── 2025-01.md
│   │   └── 2025-02.md
│   └── 读书笔记\
│       ├── 《统计学习方法》.md
│       └── 《深度学习入门》.md
│
├── 20-Projects\                          ← ③ 项目相关
│   ├── 项目A\
│   │   ├── 需求分析.md
│   │   ├── 技术方案.md
│   │   └── 会议纪要\
│   │       └── 2025-01-15.md
│   └── 项目B\
│       └── 进展跟踪.md
│
├── 30-Resources\                         ← ④ 参考资料
│   ├── 论文笔记\
│   │   └── Attention-is-All-You-Need.md
│   ├── 技术文档\
│   │   └── Ollama部署指南.md
│   └── 外部链接\
│       └── 优质资源汇总.md
│
├── 40-Archive\                           ← ⑤ 归档笔记
│   └── 2024\
│       └── 已完成项目\
│
├── Templates\                            ← ⑥ 模板
│   ├── 日常笔记模板.md
│   ├── 项目笔记模板.md
│   └── 读书笔记模板.md
│
├── CLAUDE.md                             ← ⑦ AI操作指南(Agent指令手册)
├── index.md                              ← ⑧ 知识库总索引
└── README.md                             ← ⑨ Vault说明文档

5.2 CLAUDE.md:AI Agent操作指南

# CLAUDE.md — Obsidian Vault AI 操作手册

## 角色定义
你是我的个人知识库管家 AI,运行在 Claude Code 中。
你可以通过 MCP 工具直接操作此 Obsidian Vault 中的所有 Markdown 文件。

## 核心规则

### 写入规则
- 所有新建的笔记必须放在相应的文件夹下:
  - 临时/未分类 → `00-Inbox/`
  - 日常笔记 → `10-Notes/`
  - 项目相关 → `20-Projects/`
  - 参考资料 → `30-Resources/`
  - 归档内容 → `40-Archive/`
- 文件命名:使用中文描述性名称,以 `.md` 结尾
- 每个笔记必须包含 YAML Frontmatter:
  ```yaml
  ---
  title: 笔记标题
  date: YYYY-MM-DD
  tags: [标签1, 标签2]
  status: draft | reviewed | final
  ---

链接规则

  • 统一使用 Obsidian 的 [[WikiLink]] 语法建立笔记间关联
  • 创建新概念页面时,自动在引用它的笔记中添加双向链接
  • 避免创建“孤立页面”(没有任何其他笔记链接到它的页面)

摄入规则(处理 raw/ 文件时)

  1. 读取文件,提取核心主题
  2. 为每个主题在对应文件夹创建摘要笔记
  3. 提取关键概念、人物、技术术语,创建概念页面
  4. 在概念页面之间建立 [[双向链接]]
  5. 更新 index.md 的索引

搜索规则

  • 优先使用 MCP 的 search_content 进行关键词搜索
  • 结合语义搜索提高相关性
  • 回答问题时必须引用来源笔记的 [[链接]]

安全规则

  • 删除前必须备份
  • 不修改 .obsidian/ 目录下的配置文件
  • 修改重要笔记前先确认

### 5.3 Windows全局配置目录结构

%USERPROFILE%
├── .claude\ ← Claude Code 配置目录
│ ├── settings.json # Claude Code 设置(模型、API)
│ └── mcp.json # MCP Server 注册配置

├── .ollama\ ← Ollama 数据目录
│ └── models\ # 已下载的模型文件
│ ├── blobs\ # 模型层缓存
│ └── manifests\ # 模型注册清单

├── .local\ ← Claude Code 可执行文件
│ └── bin
│ └── claude.exe

└── AppData
└── Roaming
└── npm\ ← npm 全局模块
└── node_modules
└── @istrejo
└── obsidian-mcp\ ← MCP Server 包



## 六、日常使用工作流

### 6.1 启动流程

```powershell
# 1. 确认 Ollama 服务运行中
ollama list
# 应看到已安装的模型列表

# 2. 进入知识库目录
cd D:\MyKnowledgeBase

# 3. 启动 Claude Code
claude

6.2 常用交互指令示例

知识检索类

指令示例 背后调用 说明
列出我所有的笔记 list_notes 遍历Vault所有.md文件
搜索包含“机器学习”的笔记 search_content("机器学习") 全文关键词搜索
找出所有标签为 #project/active 的笔记 search_by_tags("#project/active") 按标签过滤
[[深度学习]] 这篇笔记被哪些笔记引用了? get_backlinks("深度学习") 反向链接查询

知识摄入类

指令示例 背后调用 说明
创建一篇关于“Transformer架构”的新笔记 create_note 在指定文件夹创建笔记
在“机器学习.md”中补充正则化部分 update_note(append模式) 追加内容到已有笔记
把“草稿/临时笔记”移动到 00-Inbox/ 下 move_note 重命名/移动笔记

知识整理类

指令示例 背后调用 说明
总结“深度学习.md”的核心内容 read_note → LLM推理 读取后交给模型总结
帮我整理 00-Inbox/ 中的所有笔记 list_notes → LLM分类 → move_note 批量分类整理
分析我的知识库中哪些主题笔记最多 list_notes → 统计分析 知识结构分析

6.3 维护任务

# 定期清理Ollama旧版本模型
ollama list          # 查看所有模型
ollama rm 模型名     # 删除不需要的模型

# 更新Claude Code
irm https://claude.ai/install.ps1 | iex

# 更新MCP Server
npm update -g @istrejo/obsidian-mcp

# 备份知识库
# 将整个 D:\MyKnowledgeBase 复制到外部存储或云盘

七、故障排除指南

7.1 Ollama服务问题

问题 症状 解决方案
Ollama未启动 ollama list 报连接错误 从开始菜单启动Ollama应用,或运行 ollama serve
端口冲突(11434) netstat -ano | findstr 11434 显示多个进程 以管理员身份运行PowerShell,执行端口排除命令
模型加载慢 首次推理延迟较长 首次加载需从磁盘读取模型文件到内存,7B模型约需30-60秒
内存不足 Windows报错,模型加载失败 关闭其他应用释放内存;或使用更小的模型(如 qwen2.5:3b
GPU加速未生效 CPU使用率高,推理慢 确认显卡驱动已安装:nvidia-smi;Ollama自动检测GPU

7.2 MCP连接问题

问题 症状 解决方案
MCP Server启动失败 /mcp 显示 disconnected 检查 mcp.json 路径是否正确(使用正斜杠);确保 npx 可访问
文件访问被拒 读取笔记报 Permission Denied 检查Vault路径是否有读写权限;以管理员身份运行终端
stdio传输错误(Windows特有) BrokenPipeError 使用 @operatorkit/mcp2win 包装命令
中文路径乱码 搜索中文文件名无结果 确认终端编码为UTF-8:chcp 65001

7.3 性能优化建议

优化项 方法 预期效果
模型量化 使用 qwen2.5:7b-q4_K_M 等低量化版本 减少约30%内存占用,推理速度提升20%
笔记索引缓存 首次索引后,后续增量更新 避免每次全量扫描
文件数量控制 单个Vault保持在3000个文件以内 避免MCP Server响应变慢
GPU加速 确保NVIDIA驱动 ≥ 11.7 推理速度提升5-10倍

7.4 常见错误码速查

错误码 含义 快速解决
ECONNREFUSED 127.0.0.1:11434 Ollama服务未启动 启动Ollama应用
MODEL_NOT_FOUND 未拉取指定模型 ollama pull 模型名
ENOENT: no such file Vault路径配置错误 检查 OBSIDIAN_VAULT_PATH 环境变量
EPERM: operation not permitted 文件权限不足 以管理员运行终端;检查文件是否被其他程序占用
Cannot find module npm依赖缺失 npm install -g @istrejo/obsidian-mcp

八、后续扩展方向

当基础方案稳定运行后,可以考虑以下扩展:

扩展方向 工具/方法 说明
知识图谱可视化 Obsidian原生图谱 + Dataview 直观展示笔记间的关联关系
自动化工作流 QuickAdd + Templater插件 一键创建标准化笔记模板
多格式摄入 使用LLM将PDF/网页转换为Markdown 丰富知识库来源
定期自动整理 Windows计划任务 + 脚本 每周自动运行AI整理脚本
移动端同步 Obsidian Sync 或 Git 在手机端访问知识库
多Agent协作 inbox模式配置多个Agent 不同Agent负责不同领域的知识管理

九、总结

本方案通过在Windows操作系统上部署Claude Code + Ollama + Obsidian三大组件,并利用MCP协议建立它们之间的标准化通信,实现了一个完全本地化、保护隐私、功能强大的个人知识库系统。

核心价值回顾

特性 实现方式 用户收益
完全本地化 Ollama运行本地模型,数据不离开电脑 隐私安全,无网络也可使用
零成本 Ollama社区模型免费,无需API付费 长期使用无经济负担
知识结构化 Obsidian的双向链接和MCP的读写能力 AI帮助建立知识网络,而非简单堆砌
自然语言交互 Claude Code作为Agent理解并执行复杂指令 降低使用门槛,“说人话”即可
可扩展性 MCP协议标准化工具接口 未来可接入更多工具和服务
Logo

免费领 100 小时云算力,进群参与显卡、AI PC 幸运抽奖

更多推荐