Lazy loaded image
Obsidian插件-auto3.0,AI快速生成文本和图片,支持知识库检索和定时任务
00 分钟
2025-10-1
2025-10-2
type
status
date
slug
summary
tags
category
icon
password
语言

📋 目录

  • 项目概述
  • 目录结构
  • 核心功能模块
  • 运行环境
  • 安装步骤
  • 配置说明
  • 使用方法
  • API接口说明
  • 常见问题解答

🎯 项目概述

Obsidian AI 智能助手插件是一个功能强大的 Obsidian 第三方插件,集成了多种 AI 模型和智能功能,支持:
  • 内容生成:基于模板和上下文的智能内容生成
  • 图片生成:支持多种 AI 图片生成模型
  • 知识库管理:智能向量化知识库,支持语义搜索
  • 定时任务:自动化内容生成和处理
  • 快速生成:自定义快捷键快速生成内容

🔧 技术特性

  • 多 AI 模型支持:OpenRouter、Deepseek、Gemini、Imagen 等
  • 向量化搜索:基于 embedding 的语义搜索
  • 实时文件监控:自动更新知识库向量
  • 模块化架构:清晰的代码结构,易于扩展

📁 目录结构

🏗️ 核心功能模块

1. 主插件类 (OpenRouterPlugin)

文件位置: main.js:45-240
核心职责:
  • 插件生命周期管理
  • 设置加载和保存
  • 命令注册和事件监听
  • HTTP 服务器启动
关键方法:
  • onload(): 插件初始化
  • onunload(): 插件卸载清理
  • loadSettings(): 加载用户设置
  • saveSettings(): 保存用户设置

2. AI 内容生成模块

文件位置: main.js:445-585
支持的 AI 提供商:
  • Gemini: Google 的生成式 AI 模型
  • Deepseek: 深度求索 AI 模型
  • OpenRouter: 多模型 API 聚合平台
核心方法:
  • generateAIContent(prompt, model): 统一内容生成接口
  • generateWithGemini(prompt, modelName): Gemini 模型调用
  • generateWithDeepseek(prompt, model): Deepseek 模型调用

3. 图片生成模块

文件位置: main.js:500-797
支持的图片模型:
  • Imagen 4.0: Google 的图片生成模型
  • Gemini Image: Gemini 的图片生成功能
  • Veo: 视频生成模型
核心方法:
  • generateImage(prompt, model, options): 统一图片生成接口
  • generateWithImagen(prompt, config, model): Imagen 模型调用
  • generateWithGeminiImage(prompt, config, model): Gemini 图片生成
  • saveGeneratedImages(images, baseName): 图片保存处理

4. 知识库管理模块

文件位置: main.js:851-1498
核心功能:
  • 向量化处理: 将文档转换为向量表示
  • 语义搜索: 基于向量相似度的内容检索
  • 自动更新: 监控文件变化,自动更新向量
  • 增量处理: 只处理变更的文件,节省 API 调用
关键方法:
  • createKnowledgeBase(config): 创建知识库
  • updateKnowledgeBase(id, forceUpdate): 更新知识库
  • searchKnowledgeBase(query, id, topK): 语义搜索
  • processFileForKnowledgeBase(file, kb): 文件向量化处理

5. 定时任务模块

文件位置: main.js:254-443
功能特性:
  • 多种调度类型: 一次性、每日定时
  • 模板支持: 基于模板生成内容
  • 文件路径解析: 支持 Dataview 查询和文件链接
  • 自动文件命名: 支持时间戳和自定义命名
核心方法:
  • startAllScheduledTasks(): 启动所有定时任务
  • startScheduledTask(task): 启动单个任务
  • stopAllScheduledTasks(): 停止所有任务

6. UI 界面模块

文件位置: main.js:1822-3909
主要界面组件:
  • PromptModal: 内容生成对话框
  • ImageGenerationModal: 图片生成对话框
  • KnowledgeBaseModal: 知识库配置对话框
  • ScheduledTaskModal: 定时任务配置对话框
  • OpenRouterSettingTab: 插件设置页面

🔧 运行环境

必需环境

  • Obsidian: 版本 0.15.0 或更高
  • 操作系统: Windows/macOS/Linux
  • 网络连接: 用于 API 调用

可选环境

  • Ollama: 本地 AI 模型服务(默认端口 11434)
  • Templater 插件: 增强模板功能

📦 安装步骤

方法 1: 手动安装

  1. 下载插件文件
    1. 创建插件目录
      1. 复制文件
        1. 启用插件
            • 重启 Obsidian
            • 进入 设置 → 第三方插件
            • 找到 "yuhanbo-ai-auto" 并启用

        方法 2: 开发者安装

        1. 克隆仓库
          1. 链接到 Obsidian

            ⚙️ 配置说明

            1. API 密钥配置

            在插件设置中配置以下 API 密钥:

            2. 知识库配置

            3. 图片生成配置

            🚀 使用方法

            1. 内容生成

            快速生成

            1. 选中文本
            1. 使用快捷键 Ctrl+Shift+G
            1. 选择 AI 模型
            1. 输入提示词
            1. 点击生成

            模板生成

            1. 创建模板文件
            1. 在设置中配置模板路径
            1. 使用命令面板调用 "AI 生成内容"
            1. 选择模板和模型

            2. 图片生成

            1. 使用命令 "生成图片"
            1. 输入图片描述
            1. 选择图片模型和参数
            1. 点击生成
            1. 图片自动保存到指定目录

            3. 知识库管理

            创建知识库

            1. 进入插件设置
            1. 点击 "添加知识库"
            1. 配置知识库参数
            1. 点击创建

            使用语义搜索

            1. 在内容生成时选择知识库
            1. 系统自动检索相关内容
            1. 基于检索结果生成内容

            4. 定时任务

            创建定时任务

            1. 进入插件设置
            1. 点击 "添加定时任务"
            1. 配置源文件、目标路径、模型
            1. 设置执行时间
            1. 保存任务

            任务类型

            • 一次性任务: 指定时间执行一次
            • 每日任务: 每天定时执行

            🔌 API 接口说明

            1. 外部 API 调用

            Gemini API

            OpenRouter API

            Deepseek API

            Ollama API (本地)

            2. 内部 HTTP 服务

            插件启动本地 HTTP 服务器(端口 27123)用于模板管理:

            🎨 样式系统

            CSS 变量使用

            插件使用 Obsidian 的 CSS 变量系统,确保与主题兼容:

            主要样式类

            • .prompt-modal: 对话框样式
            • .setting-item-description: 设置项描述
            • .kb-list-item: 知识库列表项
            • .task-item: 任务列表项

            ❓ 常见问题解答

            Q: 如何获取 API 密钥?

            A: API 密钥获取方法

            Q: 知识库向量化失败怎么办?

            A: 检查以下项目
            1. 确认 API 密钥正确
            1. 检查网络连接
            1. 确认文件路径存在
            1. 查看控制台错误信息

            Q: 图片生成失败怎么办?

            A: 常见解决方案
            1. 检查 Gemini API 密钥
            1. 确认图片保存路径存在
            1. 检查提示词是否符合内容政策
            1. 尝试更换图片模型

            Q: 定时任务不执行怎么办?

            A: 排查步骤
            1. 检查任务配置是否正确
            1. 确认源文件路径存在
            1. 检查目标路径权限
            1. 查看任务状态指示器

            Q: 如何自定义模型?

            A: 添加自定义模型
            1. 进入插件设置
            1. 点击 "添加自定义模型"
            1. 输入模型标识和显示名称
            1. 选择对应的提供商
            1. 保存配置

            Q: 如何备份插件数据?

            A: 备份方法
            1. 复制 data.json 文件
            1. 备份知识库向量文件夹
            1. 导出插件设置
            1. 保存自定义模板

            Q: 插件更新后设置丢失怎么办?

            A: 恢复设置
            1. 检查 data.json 文件是否存在
            1. 重新导入备份的设置
            1. 重新配置 API 密钥
            1. 重建知识库索引

            Q: 如何优化 API 调用成本?

            A: 成本优化建议
            1. 使用增量更新而非强制更新
            1. 合理设置知识库更新频率
            1. 选择成本较低的模型
            1. 避免重复处理相同内容

            📝 开发说明

            代码结构

            • 模块化设计: 功能模块相对独立
            • 事件驱动: 基于 Obsidian 事件系统
            • 异步处理: 大量使用 async/await
            • 错误处理: 完善的错误捕获和提示

            扩展指南

            1. 添加新的 AI 提供商: 在生成方法中添加新的 case
            1. 自定义 UI 组件: 继承 Obsidian 的 Modal 类
            1. 新增配置项: 在 DEFAULT_SETTINGS 中添加
            1. 添加新命令: 在 onload 中注册新命令

            👨‍💻 作者信息

            余汉波 - 编程爱好者-量化交易和效率工具开发
            • Email: yuhanbo@sanrenjz.com

            🌐 相关链接

            • 🛒 插件商店(个人开发的所有程序,包括开源和不开源)

            联系我们

            python 程序管理工具下载:sanrenjz - 三人聚智-余汉波
            效率工具程序管理下载:sanrenjz-tools - 三人聚智-余汉波
            notion image
            notion image

            🙏 致谢

            感谢所有为本项目贡献代码和想法的开发者们!

            ⭐ 如果这个项目对您有帮助,请给它一个 Star!
            上一篇
            东财股票自动化交易下载
            下一篇
            obsidian插件:任务管理与番茄时钟的使用说明

            评论
            Loading...