Obsidian + Ollama本地AI集成|把每日日记自动归类成主题笔记

一套 完整、开箱即用的 Obsidian + Ollama 本地 AI 集成方案

目标:

选中日记内容 → 一键调用本地大模型(如 Qwen)→ 自动提取主题标签 → 自动将笔记移动到对应主题文件夹

整个过程 完全离线、免费、保护隐私,适合中文用户。


📦 一、所需工具清单(全部免费)

工具 作用 安装方式
Ollama 本地运行大模型 https://ollama.com/download
Obsidian 笔记软件 https://obsidian.md
Text Generator 调用 Ollama API 生成文本 Obsidian 社区插件
QuickAdd 自动化执行流程 Obsidian 社区插件
File Manager 移动/重命名笔记文件 Obsidian 社区插件

💡 所有插件均可在 Obsidian 中直接安装。


🔧 二、详细配置步骤

第 1 步:安装并运行 Ollama + 中文模型

  1. 下载安装 Ollama(Mac/Windows/Linux)

  2. 打开终端,运行:

    bash 复制代码
    ollama run qwen:7b

    首次会自动下载模型(约 4--6GB),建议使用 Wi-Fi

    成功后你会看到 >>> 提示符,输入 exit 退出交互模式(后台服务仍在运行)

✅ 验证 API 是否可用:

bash 复制代码
curl http://localhost:11434/api/tags

应返回已安装的模型列表。


第 2 步:在 Obsidian 中安装插件

  1. 打开 Obsidian → 设置 → 社区插件 → 关闭"安全模式"
  2. 点击"浏览" → 搜索并安装以下三个插件:
    • Text Generator
    • QuickAdd
    • File Manager
  3. 全部启用

第 3 步:配置 Text Generator(连接 Ollama)

  1. 进入 设置 → Text Generator
  2. 填写以下参数:
字段
API URL http://localhost:11434/api/generate
Model qwen:7b
Temperature 0.3(降低随机性,更稳定)
System Prompt (可选) 你是一个冷静、简洁的个人知识管理助手。
  1. Prompt Template 中粘贴以下内容(用于主题提取):
text 复制代码
请从以下日记内容中提取1-2个最相关的主题类别(从以下选项中选择):
可选主题:工作、学习、健康、情绪、人际关系、创意、财务、旅行、阅读、技术

要求:
- 只返回主题名称,用英文逗号分隔
- 不要解释,不要标点,不要换行

日记内容:
"""
{{content}}
"""

✅ 示例输入:

今天和团队开了需求评审会,晚上跑步5公里,感觉精力充沛。

✅ 期望输出:

复制代码
工作,健康

第 4 步:创建 QuickAdd 自动化宏

我们将创建一个命令:"AI 分类当前笔记"

4.1 创建 Capture 模板(用于临时存储 AI 结果)
  1. 在你的 Vault 中新建文件夹:Templates/
  2. 新建笔记 AI-Result.md,内容留空(仅作占位)
4.2 配置 QuickAdd
  1. 进入 设置 → QuickAdd
  2. 点击 "Create a new Choice"
  3. 名称:AI 分类当前笔记
  4. 类型:Macro
  5. 添加以下动作(按顺序):
动作 1:调用 Text Generator
  • 选择 Run Command
  • 命令:Text Generator: Generate text from selection
  • ✅ 勾选 "Use current file as context"
动作 2:保存结果到临时文件(可选,用于调试)
  • 选择 Capture to file
  • Template file: Templates/AI-Result.md
  • Filename format: AI-Result-{``{date:YYYY-MM-DD-HHmm}}

(这一步可跳过,但建议保留以便排查问题)

动作 3:根据 AI 结果移动文件(核心!)

⚠️ 由于 QuickAdd 不能直接解析 AI 输出,我们需要一个"中间脚本"

这里提供两种方案:


🧩 方案 A:【推荐】用 File Manager + 手动确认(简单可靠)

  1. 运行 QuickAdd 后,AI 会在笔记顶部插入一行,如:

    markdown 复制代码
    <!-- AI-TOPICS: 工作,健康 -->
  2. 你手动查看后,用 File Manager 插件 快速移动:

    • 右键笔记 → File Manager → Move to → Topics/工作/

✅ 优点:安全、可控

⏱️ 耗时:每次多花 5 秒


🧩 方案 B:全自动移动(需 Python 脚本辅助)

如果你希望完全自动,可用以下 Python 脚本监听剪贴板或文件变化。

步骤:

  1. 安装 Python(3.8+)
  2. 创建脚本 auto_move_by_topic.py
python 复制代码
import os
import re
import shutil
import time
from pathlib import Path

VAULT_PATH = "/path/to/your/Vault"  # ← 改成你的 Vault 路径
TOPIC_FOLDER = "Topics"

def get_topics_from_note(file_path):
    with open(file_path, 'r', encoding='utf-8') as f:
        content = f.read()
    match = re.search(r'<!-- AI-TOPICS: ([^>]+) -->', content)
    if match:
        return [t.strip() for t in match.group(1).split(',')]
    return []

def move_note_to_topic(note_path, topics):
    for topic in topics[:1]:  # 只取第一个主题
        dest_dir = Path(VAULT_PATH) / TOPIC_FOLDER / topic
        dest_dir.mkdir(parents=True, exist_ok=True)
        shutil.move(str(note_path), dest_dir / note_path.name)
        print(f"Moved to {dest_dir}")
        break

# 监听新笔记(简化版:每10秒扫描一次 Daily 文件夹)
daily_dir = Path(VAULT_PATH) / "Daily"
while True:
    for note in daily_dir.glob("*.md"):
        if "<!-- AI-TOPICS:" in note.read_text(encoding='utf-8'):
            topics = get_topics_from_note(note)
            if topics:
                move_note_to_topic(note, topics)
    time.sleep(10)
  1. 运行脚本:python auto_move_by_topic.py

⚠️ 注意:此为简化示例,生产环境建议用更健壮的文件监听(如 watchdog 库)


📁 三、文件夹结构建议

复制代码
MyVault/
├── Daily/               ← 日记存放处(由 Daily Notes 插件生成)
├── Topics/              ← AI 自动归类的目标文件夹
│   ├── 工作/
│   ├── 学习/
│   ├── 健康/
│   └── 情绪/
├── Templates/
│   └── Daily.md         ← 日记模板
└── ...

▶️ 四、使用流程(每日操作)

  1. 写完日记(如 Daily/2025-12-23.md

  2. 选中全文(或关键段落)

  3. 右键 → QuickAdd → AI 分类当前笔记

  4. 等待 2--5 秒,AI 返回结果并插入注释:

    markdown 复制代码
    <!-- AI-TOPICS: 工作,情绪 -->
  5. (方案 A)手动用 File Manager 移动到 Topics/工作/

  6. (方案 B)脚本自动移动


🎯 五、优化建议

优化点 方法
提升中文准确率 使用 qwen:14bdeepseek-coder(如果内存够)
避免误分类 在 Prompt 中增加示例(Few-shot)
批量处理历史日记 用 Python 脚本遍历 Daily/ 文件夹,逐个调用 Ollama API
添加情绪分析 修改 Prompt,让 AI 同时返回情绪标签(如 #情绪/积极

📥 附:一键导入资源包

你可以复制以下内容,快速创建所需文件:

Templates/Daily.md

markdown 复制代码
# {{date:YYYY-MM-DD}}

## 📝 日记

## 🔍 AI 分析
<!-- AI-TOPICS:  -->

QuickAdd 配置(导出 JSON)

兼容 Obsidian 最新版(1.6+)和 QuickAdd 插件(v2.0+)
quickadd.json 配置文件

复制代码
1{
2  "choices": [
3    {
4      "name": "AI 分类当前笔记",
5      "type": "macro",
6      "macro": {
7        "steps": [
8          {
9            "id": "run-command",
10            "commandId": "text-generator:generate-from-selection"
11          },
12          {
13            "id": "append-to-file",
14            "file": "{{CURRENT_FILE}}",
15            "append": "\n<!-- AI-TOPICS: {{textGeneratorResponse}} -->\n"
16          }
17        ]
18      },
19      "id": "ai-classify-note"
20    }
21  ],
22  "inputPrompt": "",
23  "templateFolderPath": "Templates",
24  "captureTemplateFile": "",
25  "shouldCreateNoteInActiveFolder": false,
26  "shouldOpenFile": false,
27  "shouldOpenFileInNewTab": false,
28  "shouldOpenFileInPreviewMode": false,
29  "format": "YYYY-MM-DD HH:mm",
30  "dateFormat": "YYYY-MM-DD",
31  "timeFormat": "HH:mm",
32  "version": "2.0.0"
33}

🔍 配置说明
字段 作用
name: "AI 分类当前笔记" 在 QuickAdd 菜单中显示的名称
commandId: "text-generator:generate-from-selection" 调用 Text Generator 的"从选中内容生成"命令
append: <!-- AI-TOPICS: {``{textGeneratorResponse}} --> 将 AI 返回结果插入当前笔记末尾
{``{CURRENT_FILE}} QuickAdd 内置变量,指当前打开的笔记

✅ 这个配置不需要临时文件,直接把 AI 结果追加到当前笔记。


🛠️ 如何应用这个配置?

方法一:通过 Obsidian 界面(推荐,安全)

  1. 打开 Obsidian → 设置 → QuickAdd
  2. 点击右上角 ⋮ → Export settings
  3. 备份原文件
  4. 点击 Import settings,粘贴上述 JSON 内容
  5. 重启 Obsidian

方法二:手动替换文件(高级用户)

  1. 关闭 Obsidian
  2. 进入你的 Vault 目录 → .obsidian/plugins/quickadd/
  3. 编辑 data.json,替换为上述内容
  4. 重新打开 Obsidian

⚠️ 注意:路径是 data.json,不是 quickadd.json。QuickAdd 插件使用 data.json 存储配置。


▶️ 使用效果
  1. 打开一篇日记,选中一段文字(或全选)

  2. Ctrl/Cmd + P → 输入 QuickAdd: AI 分类当前笔记 → 回车

  3. 等待 2--5 秒(Ollama 处理中)

  4. 笔记末尾自动添加:

    html

    预览

    复制代码
    1<!-- AI-TOPICS: 工作,情绪 -->

🧩 后续自动化建议

有了这行注释后,你可以:

方案 A:手动移动(简单)

  • 右键笔记 → File Manager → Move to → Topics/工作/

方案 B:用 Dataview 自动聚合(无需移动)

创建一个笔记 Topics/工作.md,内容:

markdown

编辑

复制代码
1# 工作相关日记
2
3```dataview
4LIST FROM #日记
5WHERE contains(this.file.outlinks, [[工作]])
6OR contains(this.file.content, "AI-TOPICS: 工作")
7SORT file.name DESC
8```

这样即使笔记还在 Daily/,也能在"工作"页面集中查看。


🔄 如果你想"自动移动文件"

QuickAdd 本身不能解析变量内容再执行移动,但你可以:

  1. 保留上述配置(插入注释)
  2. 额外运行一个 Python 脚本 (如前文所述),定期扫描 Daily/ 文件夹
  3. 脚本读取 <!-- AI-TOPICS: ... --> 行,自动移动文件

✅ 总结

你现在拥有了:

  • 一个 完全本地、离线、免费 的 AI 日记分析系统
  • 基于 Ollama + Qwen 的强大中文理解能力
  • 通过 Obsidian 插件 实现半自动/全自动归类

相关推荐
leo__5206 小时前
基于MATLAB的交互式多模型跟踪算法(IMM)实现
人工智能·算法·matlab
脑极体6 小时前
云厂商的AI决战
人工智能
njsgcs6 小时前
NVIDIA NitroGen 是强化学习还是llm
人工智能
知乎的哥廷根数学学派7 小时前
基于多模态特征融合和可解释性深度学习的工业压缩机异常分类与预测性维护智能诊断(Python)
网络·人工智能·pytorch·python·深度学习·机器学习·分类
mantch7 小时前
Nano Banana进行AI绘画中文总是糊?一招可重新渲染,清晰到可直接汇报
人工智能·aigc
编程小白_正在努力中7 小时前
第1章 机器学习基础
人工智能·机器学习
wyw00008 小时前
目标检测之SSD
人工智能·目标检测·计算机视觉
AKAMAI8 小时前
圆满循环:Akamai 的演进如何为 AI 推理时代奠定基石
人工智能·云计算
幻云20108 小时前
AI自动化编排:从入门到精通(基于Dify构建AI智能系统)
运维·人工智能·自动化
CoderJia程序员甲8 小时前
GitHub 热榜项目 - 日榜(2026-1-13)
人工智能·ai·大模型·github·ai教程