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: 手动安装
- 下载插件文件
- 创建插件目录
- 复制文件
- 启用插件
- 重启 Obsidian
- 进入 设置 → 第三方插件
- 找到 "yuhanbo-ai-auto" 并启用
方法 2: 开发者安装
- 克隆仓库
- 链接到 Obsidian
⚙️ 配置说明
1. API 密钥配置
在插件设置中配置以下 API 密钥:
2. 知识库配置
3. 图片生成配置
🚀 使用方法
1. 内容生成
快速生成
- 选中文本
- 使用快捷键
Ctrl+Shift+G
- 选择 AI 模型
- 输入提示词
- 点击生成
模板生成
- 创建模板文件
- 在设置中配置模板路径
- 使用命令面板调用 "AI 生成内容"
- 选择模板和模型
2. 图片生成
- 使用命令 "生成图片"
- 输入图片描述
- 选择图片模型和参数
- 点击生成
- 图片自动保存到指定目录
3. 知识库管理
创建知识库
- 进入插件设置
- 点击 "添加知识库"
- 配置知识库参数
- 点击创建
使用语义搜索
- 在内容生成时选择知识库
- 系统自动检索相关内容
- 基于检索结果生成内容
4. 定时任务
创建定时任务
- 进入插件设置
- 点击 "添加定时任务"
- 配置源文件、目标路径、模型
- 设置执行时间
- 保存任务
任务类型
- 一次性任务: 指定时间执行一次
- 每日任务: 每天定时执行
🔌 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 密钥获取方法
- Gemini: 访问 Google AI Studio
- OpenRouter: 访问 OpenRouter
- Deepseek: 访问 Deepseek
Q: 知识库向量化失败怎么办?
A: 检查以下项目
- 确认 API 密钥正确
- 检查网络连接
- 确认文件路径存在
- 查看控制台错误信息
Q: 图片生成失败怎么办?
A: 常见解决方案
- 检查 Gemini API 密钥
- 确认图片保存路径存在
- 检查提示词是否符合内容政策
- 尝试更换图片模型
Q: 定时任务不执行怎么办?
A: 排查步骤
- 检查任务配置是否正确
- 确认源文件路径存在
- 检查目标路径权限
- 查看任务状态指示器
Q: 如何自定义模型?
A: 添加自定义模型
- 进入插件设置
- 点击 "添加自定义模型"
- 输入模型标识和显示名称
- 选择对应的提供商
- 保存配置
Q: 如何备份插件数据?
A: 备份方法
- 复制
data.json
文件
- 备份知识库向量文件夹
- 导出插件设置
- 保存自定义模板
Q: 插件更新后设置丢失怎么办?
A: 恢复设置
- 检查
data.json
文件是否存在
- 重新导入备份的设置
- 重新配置 API 密钥
- 重建知识库索引
Q: 如何优化 API 调用成本?
A: 成本优化建议
- 使用增量更新而非强制更新
- 合理设置知识库更新频率
- 选择成本较低的模型
- 避免重复处理相同内容
📝 开发说明
代码结构
- 模块化设计: 功能模块相对独立
- 事件驱动: 基于 Obsidian 事件系统
- 异步处理: 大量使用 async/await
- 错误处理: 完善的错误捕获和提示
扩展指南
- 添加新的 AI 提供商: 在生成方法中添加新的 case
- 自定义 UI 组件: 继承 Obsidian 的 Modal 类
- 新增配置项: 在 DEFAULT_SETTINGS 中添加
- 添加新命令: 在 onload 中注册新命令
👨💻 作者信息
余汉波 - 编程爱好者-量化交易和效率工具开发
- GitHub: @yuhanbo758
- Email: yuhanbo@sanrenjz.com
- Website: 三人聚智
🌐 相关链接
- 🏠 项目主页
- 📚 在线文档(财经、代码和库文档等)
- 🛒 插件商店(个人开发的所有程序,包括开源和不开源)
联系我们
python 程序管理工具下载:sanrenjz - 三人聚智-余汉波
效率工具程序管理下载:sanrenjz-tools - 三人聚智-余汉波


🙏 致谢
感谢所有为本项目贡献代码和想法的开发者们!
⭐ 如果这个项目对您有帮助,请给它一个 Star!
- 作者:余汉波
- 链接:https://docs.sanrenjz.com/%E4%BB%A3%E7%A0%81%E4%B8%8E%E6%95%88%E7%8E%87/Obsidian%E6%8F%92%E4%BB%B6-auto3.0%EF%BC%8CAI%E5%BF%AB%E9%80%9F%E7%94%9F%E6%88%90%E6%96%87%E6%9C%AC%E5%92%8C%E5%9B%BE%E7%89%87%EF%BC%8C%E6%94%AF%E6%8C%81%E7%9F%A5%E8%AF%86%E5%BA%93%E6%A3%80%E7%B4%A2%E5%92%8C%E5%AE%9A%E6%97%B6%E4%BB%BB%E5%8A%A1
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。