欢迎光临
我们一直在努力

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 + 中文模型

  • 下载安装 Ollama(Mac/Windows/Linux)

  • 打开终端,运行:

    ollama run qwen:7b

    首次会自动下载模型(约 4–6GB),建议使用 Wi-Fi 成功后你会看到 >>> 提示符,输入 exit 退出交互模式(后台服务仍在运行)

  • ✅ 验证 API 是否可用:

    curl http://localhost:11434/api/tags

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


    第 2 步:在 Obsidian 中安装插件

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

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

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

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

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

    ✅ 示例输入:

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

    ✅ 期望输出:

    工作,健康


    第 4 步:创建 QuickAdd 自动化宏

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

    4.1 创建 Capture 模板(用于临时存储 AI 结果)
  • 在你的 Vault 中新建文件夹:Templates/
  • 新建笔记 AI-Result.md,内容留空(仅作占位)
  • 4.2 配置 QuickAdd
  • 进入 设置 → QuickAdd
  • 点击 “Create a new Choice”
  • 名称:AI 分类当前笔记
  • 类型:Macro
  • 添加以下动作(按顺序):
  • 动作 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 + 手动确认(简单可靠)

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

    <!– AI-TOPICS: 工作,健康 –>

  • 你手动查看后,用 File Manager 插件 快速移动:

    • 右键笔记 → File Manager → Move to → Topics/工作/
  • ✅ 优点:安全、可控 ⏱️ 耗时:每次多花 5 秒


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

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

    步骤:

  • 安装 Python(3.8+)
  • 创建脚本 auto_move_by_topic.py:
  • 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)

  • 运行脚本:python auto_move_by_topic.py
  • ⚠️ 注意:此为简化示例,生产环境建议用更健壮的文件监听(如 watchdog 库)


    📁 三、文件夹结构建议

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


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

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

  • 选中全文(或关键段落)

  • 右键 → QuickAdd → AI 分类当前笔记

  • 等待 2–5 秒,AI 返回结果并插入注释:

    <!– AI-TOPICS: 工作,情绪 –>

  • (方案 A)手动用 File Manager 移动到 Topics/工作/

  • (方案 B)脚本自动移动


  • 🎯 五、优化建议

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

    📥 附:一键导入资源包

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

    Templates/Daily.md

    # {{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 界面(推荐,安全)

  • 打开 Obsidian → 设置 → QuickAdd
  • 点击右上角 ⋮ → Export settings
  • 备份原文件
  • 点击 Import settings,粘贴上述 JSON 内容
  • 重启 Obsidian
  • 方法二:手动替换文件(高级用户)

  • 关闭 Obsidian
  • 进入你的 Vault 目录 → .obsidian/plugins/quickadd/
  • 编辑 data.json,替换为上述内容
  • 重新打开 Obsidian
  • ⚠️ 注意:路径是 data.json,不是 quickadd.json。QuickAdd 插件使用 data.json 存储配置。


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

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

  • 等待 2–5 秒(Ollama 处理中)

  • 笔记末尾自动添加:

    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 本身不能解析变量内容再执行移动,但你可以:

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

  • ✅ 总结

    你现在拥有了:

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

    赞(0)
    未经允许不得转载:171主机测评 » Obsidian + Ollama本地AI集成|把每日日记自动归类成主题笔记
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址