网易首页 > 网易号 > 正文 申请入驻

Obsidian插件-auto3.0,AI快速生成文本和图片,支持知识库检索和定时任务

0
分享至

项目概述

Obsidian AI 智能助手插件是一个功能强大的 Obsidian 第三方插件,集成了多种 AI 模型和智能功能,支持:

  • 内容生成 :基于模板和上下文的智能内容生成

  • 图片生成 :支持多种 AI 图片生成模型

  • 知识库管理 :智能向量化知识库,支持语义搜索

  • 定时任务 :自动化内容生成和处理

  • 快速生成 :自定义快捷键快速生成内容

技术特性

  • 多 AI 模型支持 :OpenRouter、Deepseek、Gemini、Imagen 等

  • 向量化搜索 :基于 embedding 的语义搜索

  • 实时文件监控 :自动更新知识库向量

  • 模块化架构 :清晰的代码结构,易于扩展

目录结构

obsidian-yuhanbo-ai-auto2.0/ ├── main.js                    # 插件核心代码(3909行) ├── manifest.json              # 插件配置清单 ├── styles.css                 # UI样式定义(363行) ├── data.json                  # 用户数据存储 ├── 知识库自动更新说明.md        # 知识库功能说明 ├── OB插件:AI插件与Templater集成实现笔记自动化处理指南.md ├── 图片生成测试说明.md          # 图片生成功能说明 ├── 插件图片生成功能升级总结.md   # 图片功能升级记录 └── Imagen模型修复总结.md        # 模型修复记录
️ 核心功能模块 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. 下载插件文件

    # 下载必需的3个文件    - main.js    - manifest.json      - styles.css
  2. 2. 创建插件目录

    # 在Obsidian库中创建插件目录    .obsidian/plugins/obsidian-yuhanbo-ai-auto2.0/
  3. 3. 复制文件

    # 将下载的文件复制到插件目录    cp main.js manifest.json styles.css .obsidian/plugins/obsidian-yuhanbo-ai-auto2.0/
  4. 4. 启用插件

  • ● 重启 Obsidian

  • ● 进入 设置 → 第三方插件

  • ● 找到 "yuhanbo-ai-auto" 并启用

方法 2: 开发者安装

  1. 1. 克隆仓库

    git clone [repository-url]    cd obsidian-yuhanbo-ai-auto2.0
  2. 2. 链接到 Obsidian

    # 创建符号链接到Obsidian插件目录    ln -s $(pwd) /path/to/your/vault/.obsidian/plugins/obsidian-yuhanbo-ai-auto2.0

⚙️ 配置说明 1. API 密钥配置

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

// 必需的API密钥 {   "openrouterApiKey": "your-openrouter-api-key",   "geminiApiKey": "your-gemini-api-key",    "deepseekApiKey": "your-deepseek-api-key" }
2. 知识库配置

// 知识库配置示例 {   "knowledgeBases": [{     "id": "kb-001",     "name": "我的知识库",     "path": "知识库",     "embeddingProvider": "gemini",     "embeddingModel": "text-embedding-004",     "vectorPath": "知识库/.vectors",     "autoUpdate": true,     "updateFrequency": 10   }] }
3. 图片生成配置

// 图片生成设置 {   "imageGenerationPath": "images",   "defaultImageModel": "imagen-4.0-generate-001",   "imageSize": "1K",   "aspectRatio": "1:1",    "numberOfImages": 1 }
使用方法 1. 内容生成 快速生成

  1. 1. 选中文本

  2. 2. 使用快捷键 Ctrl+Shift+G

  3. 3. 选择 AI 模型

  4. 4. 输入提示词

  5. 5. 点击生成

模板生成

  1. 1. 创建模板文件

  2. 2. 在设置中配置模板路径

  3. 3. 使用命令面板调用 "AI 生成内容"

  4. 4. 选择模板和模型

2. 图片生成

  1. 1. 使用命令 "生成图片"

  2. 2. 输入图片描述

  3. 3. 选择图片模型和参数

  4. 4. 点击生成

  5. 5. 图片自动保存到指定目录

3. 知识库管理 创建知识库

  1. 1. 进入插件设置

  2. 2. 点击 "添加知识库"

  3. 3. 配置知识库参数

  4. 4. 点击创建

使用语义搜索

  1. 1. 在内容生成时选择知识库

  2. 2. 系统自动检索相关内容

  3. 3. 基于检索结果生成内容

4. 定时任务 创建定时任务

  1. 1. 进入插件设置

  2. 2. 点击 "添加定时任务"

  3. 3. 配置源文件、目标路径、模型

  4. 4. 设置执行时间

  5. 5. 保存任务

任务类型

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

  • 每日任务 : 每天定时执行

API 接口说明 1. 外部 API 调用 Gemini API

// 内容生成 POST https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent?key={apiKey} // 向量生成   POST https://generativelanguage.googleapis.com/v1beta/models/{model}:embedContent?key={apiKey} // 图片生成 POST https://generativelanguage.googleapis.com/v1beta/models/{model}:predict?key={apiKey}
OpenRouter API

// 内容生成 POST https://openrouter.ai/api/v1/chat/completions // 向量生成 POST https://openrouter.ai/api/v1/embeddings
Deepseek API

// 内容生成 POST https://api.deepseek.com/v1/chat/completions
Ollama API (本地)

// 向量生成 POST http://localhost:11434/api/embeddings
2. 内部 HTTP 服务

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

// 获取模板列表 POST http://localhost:27123 {   "action": "getTemplates",   "path": "templates",   "searchText": "" } // 获取模板内容 POST http://localhost:27123   {   "action": "getTemplateContent",   "path": "templates/example.md" }
样式系统 CSS 变量使用

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

/* 主要颜色变量 */ --background-primary: 主背景色 --background-modifier-border: 边框色 --text-normal: 普通文本色 --text-muted: 次要文本色 --interactive-accent: 强调色 --interactive-hover: 悬停色
主要样式类
  • .prompt-modal : 对话框样式

  • .setting-item-description : 设置项描述

  • .kb-list-item : 知识库列表项

  • .task-item : 任务列表项

❓ 常见问题解答 Q: 如何获取 API 密钥?

A: API 密钥获取方法

  • Gemini : 访问 Google AI Studio

  • OpenRouter : 访问 OpenRouter

  • Deepseek : 访问 Deepseek

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

A: 检查以下项目

  1. 1. 确认 API 密钥正确

  2. 2. 检查网络连接

  3. 3. 确认文件路径存在

  4. 4. 查看控制台错误信息

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

A: 常见解决方案

  1. 1. 检查 Gemini API 密钥

  2. 2. 确认图片保存路径存在

  3. 3. 检查提示词是否符合内容政策

  4. 4. 尝试更换图片模型

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

A: 排查步骤

  1. 1. 检查任务配置是否正确

  2. 2. 确认源文件路径存在

  3. 3. 检查目标路径权限

  4. 4. 查看任务状态指示器

Q: 如何自定义模型?

A: 添加自定义模型

  1. 1. 进入插件设置

  2. 2. 点击 "添加自定义模型"

  3. 3. 输入模型标识和显示名称

  4. 4. 选择对应的提供商

  5. 5. 保存配置

Q: 如何备份插件数据?

A: 备份方法

  1. 1. 复制 data.json 文件

  2. 2. 备份知识库向量文件夹

  3. 3. 导出插件设置

  4. 4. 保存自定义模板

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

A: 恢复设置

  1. 1. 检查 data.json 文件是否存在

  2. 2. 重新导入备份的设置

  3. 3. 重新配置 API 密钥

  4. 4. 重建知识库索引

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

A: 成本优化建议

  1. 1. 使用增量更新而非强制更新

  2. 2. 合理设置知识库更新频率

  3. 3. 选择成本较低的模型

  4. 4. 避免重复处理相同内容

开发说明 代码结构

  • 模块化设计 : 功能模块相对独立

  • 事件驱动 : 基于 Obsidian 事件系统

  • 异步处理 : 大量使用 async/await

  • 错误处理 : 完善的错误捕获和提示

扩展指南

  1. 1. 添加新的 AI 提供商 : 在生成方法中添加新的 case

  2. 2. 自定义 UI 组件 : 继承 Obsidian 的 Modal 类

  3. 3. 新增配置项 : 在 DEFAULT_SETTINGS 中添加

  4. 4. 添加新命令 : 在 onload 中注册新命令


特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
湿气是“万病之源”,建议常吃这3种食物,排出湿气一身轻

湿气是“万病之源”,建议常吃这3种食物,排出湿气一身轻

江江食研社
2025-10-22 14:30:03
乌400架无人机怒袭莫斯科州,俄3条主输油管道被瘫痪损失惨重

乌400架无人机怒袭莫斯科州,俄3条主输油管道被瘫痪损失惨重

史政先锋
2025-11-01 22:21:04
两岸统一后,赖清德将受到如何对待?国防部一句话让网友心安了

两岸统一后,赖清德将受到如何对待?国防部一句话让网友心安了

通鉴史智
2025-11-01 07:50:16
中年离婚哪一方的结局会更悲惨?听网友叙述,原来是这样

中年离婚哪一方的结局会更悲惨?听网友叙述,原来是这样

侃神评故事
2025-10-10 11:25:03
不查不知道!难怪连央媒都发文悼念,许绍雄竟然“藏”得这么深!

不查不知道!难怪连央媒都发文悼念,许绍雄竟然“藏”得这么深!

秋姐居
2025-10-30 21:31:28
上海赘婿带小三医院产检,遇妻子后续:小三是乘务长,赘婿是律师

上海赘婿带小三医院产检,遇妻子后续:小三是乘务长,赘婿是律师

汉史趣闻
2025-11-02 16:16:58
美军上将大胆预言:解放军的统一之战,会以这个名义打响第一枪?

美军上将大胆预言:解放军的统一之战,会以这个名义打响第一枪?

朔方瞭望
2025-11-02 10:04:34
1-2!迈阿密爆冷输球,梅西轰世界波,产生2个不可思议和3个事实

1-2!迈阿密爆冷输球,梅西轰世界波,产生2个不可思议和3个事实

球场没跑道
2025-11-02 09:48:18
统一台湾后,相较于洪秀柱马英九,此人更适合担任台湾省省长?

统一台湾后,相较于洪秀柱马英九,此人更适合担任台湾省省长?

通文知史
2025-10-15 21:00:03
水湊みお(みなとみお)-甜妹系的天花板

水湊みお(みなとみお)-甜妹系的天花板

素然追光
2025-10-27 00:25:03
最新!金股名单来了

最新!金股名单来了

中国基金报
2025-11-02 12:50:11
福特号为什么不学福建舰?不是技术落后,是被15年前的选择锁死了

福特号为什么不学福建舰?不是技术落后,是被15年前的选择锁死了

辉辉历史记
2025-10-31 15:57:36
广东全运男篮誓要主场摘金 辽川能否撼动其位?

广东全运男篮誓要主场摘金 辽川能否撼动其位?

体坛周报
2025-11-02 17:14:15
荷兰又变天了!荷兰大选的初步结果揭晓:极右翼惨败,极左翼大胜

荷兰又变天了!荷兰大选的初步结果揭晓:极右翼惨败,极左翼大胜

爱下厨的阿酾
2025-11-01 12:39:18
果然,见完中方,高市早苗连续2天会见台独,外交部的回应不简单

果然,见完中方,高市早苗连续2天会见台独,外交部的回应不简单

南宫一二
2025-11-02 07:42:34
马筱梅首谈大S为张兰正名,派亲妈送俩娃到成都,撕碎S家“体面”

马筱梅首谈大S为张兰正名,派亲妈送俩娃到成都,撕碎S家“体面”

小咪侃娱圈
2025-11-02 14:03:09
38岁上海男子备孕5年,吃药、试管都不行,去了趟沈阳终于生子

38岁上海男子备孕5年,吃药、试管都不行,去了趟沈阳终于生子

寒士之言本尊
2025-09-23 22:42:11
这就是成功男人的第一步,亚马尔花费1050万欧元买下一座豪宅!

这就是成功男人的第一步,亚马尔花费1050万欧元买下一座豪宅!

田先生篮球
2025-11-01 10:41:45
我曾背一残疾同学上学8年,三十年后重逢,他的态度让我怀疑人生

我曾背一残疾同学上学8年,三十年后重逢,他的态度让我怀疑人生

人间百态大全
2025-10-27 06:45:03
71岁赵雅芝北京走秀,脸垮皮松满是皱纹,网友直呼比董明珠还老

71岁赵雅芝北京走秀,脸垮皮松满是皱纹,网友直呼比董明珠还老

桑葚爱动画
2025-11-02 17:11:42
2025-11-02 18:43:00
余汉波 incentive-icons
余汉波
三人行,我们是财经的搬运工
1961文章数 2561关注度
往期回顾 全部

科技要闻

10月零跑突破7万辆,小鹏、蔚来超4万辆

头条要闻

媒体:被安世风波卡整月"脖子" 全球车企终于能缓口气

头条要闻

媒体:被安世风波卡整月"脖子" 全球车企终于能缓口气

体育要闻

这个日本人,凭啥值3.25亿美元?

娱乐要闻

陈道明被王家卫说他是阴阳同体的极品

财经要闻

段永平捐了1500万元茅台股票!本人回应

汽车要闻

神龙汽车推出“发动机终身质保”政策

态度原创

教育
游戏
本地
手机
旅游

教育要闻

哈萨克女孩的中文第一课:对话杜尚别中文教师

Kanavi被质疑!TES今年外战BO5只赢过G2!LPL对阵LCK八场BO5全败

本地新闻

全网围观,到底多少人被这个野人大学生笑疯了

手机要闻

同样开售三天,小米、vivo、荣耀、OPPO新旗舰销量对比

旅游要闻

北京知名游乐园起火,最新通报

无障碍浏览 进入关怀版