Pluto Hub

by xiajianduan
5
4
3
2
1
Score: 51/100

Description

snippets modules store

Reviews

No reviews yet.

Stats

0
stars
140
downloads
0
forks
118
days
7
days
7
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
0
total issues
0
open issues
0
closed issues
51
commits

Latest Version

7 days ago

Changelog

Changes Log

[2.1.0] - 2026-09-09

Added

  • 新增编辑器「智能生成」按钮,调用 autoManager AI 根据提示词和附件文件批量生成模块文件
  • 新增 FormField multiselect 多选组件,支持复选框卡片网格布局与已选数量摘要
  • 新增 FormManager.ai 表单方法与 FormJson.ai 表单配置,支持提示词、快速生成开关和附件选择
  • SandboxExecutor 沙箱环境新增 asset(fileName) 方法,模块 JS 可直接读取挂载到 pluto.third.assets 的资源

Fixed

  • 修复第三方插件绑定重复执行和重复输出日志的问题
  • 修复 Templater 初始化竞态导致 generate_params is not a function 的问题
  • 修复第三方组件异步执行未等待,导致模块资源和 React 组件渲染时序不稳定的问题
  • 修复模块图片转换与缓存预览更新,确保图片资源可在模块变更后即时生效

Improved

  • 简化 FormManager.prompt 签名,移除 required 参数(默认必填),更新 BoardRenderer 和 helper 中的调用
  • 全局 app 类型由 App 扩展为 PlutoApp,新增 autoManager、prompt 及 AI 生成结果相关类型定义
  • CoreManager 模块安装流程在 install 后补充 execute 调用,模块激活即生效
  • 调整 SandboxExecutor.install 生命周期顺序,start/finish 交由 execute 阶段执行
  • 第三方插件绑定改用 ${pluginId}-loaded 事件,移除轮询等待
  • 模块排序改用 Fractional Indexing,拖拽排序只保存被移动的模块
  • 模块存储增加缓存,AI 生成文件支持覆盖已有文件并即时刷新编辑器

Files Modified

  • src/core/EditorRenderer.ts - 新增智能生成按钮与 generateFiles 方法
  • src/core/BoardRenderer.ts - 适配 prompt 方法新签名
  • src/exec/SandboxExecutor.ts - 沙箱环境新增 asset 方法,调整 boot 生命周期顺序
  • src/exec/MarkdownExecutor.ts - 等待 Markdown 第三方组件加载完成
  • src/exec/SimpleExecutor.ts - 等待所有第三方组件执行完成
  • src/manager/CoreManager.ts - install 后补充 execute 调用
  • src/manager/FormManager.ts - 新增 ai 表单方法,简化 prompt 签名
  • src/modal/FormField.tsx - 新增 multiselect 多选组件
  • src/modal/FormJson.ts - 新增 ai 表单配置,简化 input 签名
  • src/i18n/en.ts - 新增 AI 生成相关英文文案
  • src/i18n/zh-cn.ts - 新增 AI 生成相关中文文案
  • src/styles.css - 新增 form-multiselect 多选组件样式
  • src/types/form.d.ts - InputType 新增 multiselect,字段配置新增 multi_select_* 属性
  • src/types/global.d.ts - 新增 PlutoApp、GeneratedFilesResult、AiFormResult 等类型
  • src/pluto.ts - 增加第三方插件事件绑定和重复绑定保护
  • src/third/ReactComponent.ts - 修复 suppress-component-refresh 的 false 配置
  • src/third/SimpleComponent.ts - 增加组件绑定幂等保护
  • src/third/TemplaterComponent.ts - 修复 Templater 参数生成初始化时序
  • src/utils/helper.ts - 适配 prompt 方法新签名
  • src/core/BoardRenderer.ts - 使用 Fractional Indexing 保存拖拽排序
  • src/core/EditorRenderer.ts - AI 生成文件覆盖已有文件并刷新预览
  • src/core/ImageConverter.ts - 复用 Blob URL 工具完成图片转换
  • src/core/ModuleAction.ts - 使用排序键创建模块并清理缓存
  • src/storage.ts - 增加模块缓存和排序键兼容处理
  • src/types/global.d.ts - 更新模块排序字段类型
  • package.json - 添加 fractional-indexing 依赖

Files Added

  • docs/tasks.md - 记录模块排序改造任务

Files Deleted

  • src/utils/const.ts - 移除旧的数字排序常量

[2.0.3] - 2026-08-31

Improved

  • 重构所有执行器接口,统一使用 BatchContext 替代 MiniModule 作为 execute 方法参数,移除 tmpFiles 临时字段
  • 重构 SandboxExecutor 模块加载逻辑,execModule 重命名为 loadModules,install 时先加载模块再执行 boot 生命周期(install → start → finish)
  • 重构 CoreManager 模块安装与运行流程,直接传递 files 字段,不再通过 tmpFiles 中转
  • 重构 FormManager 表单管理器,统一 openJsonopenForm,新增 FormSubmitResult 返回类型
  • 新增 FormExecutor 处理 form 类型文件
  • 新增 FormField hotkey 热键输入组件,支持组合键录制

Fixed

  • 修正 CssExecutor.install 中 uninstall 未 await 的 Promise 调用
  • 修正 YamlExecutor.install 中 execute 未 await 的 Promise 调用
  • 修正 styles.css 中 selection-background-color 无效属性为 background-color
  • 移除 EditorRenderer 中不必要的 setCta() / setWarning() 按钮样式

Files Modified

  • src/exec/SandboxExecutor.ts - 重构模块加载逻辑,install 增加完整 boot 生命周期
  • src/exec/CssExecutor.ts - 新增 install 方法,修复未 await 的 Promise
  • src/exec/YamlExecutor.ts - 新增 install 方法,修复未 await 的 Promise
  • src/exec/SimpleExecutor.ts - execute 参数改为 BatchContext
  • src/exec/GlbExecutor.ts - execute 参数改为 BatchContext
  • src/exec/ImageExecutor.ts - execute 参数改为 BatchContext
  • src/exec/JsonExecutor.ts - execute 参数改为 BatchContext
  • src/exec/MarkdownExecutor.ts - execute 参数改为 BatchContext
  • src/exec/PageExecutor.ts - execute 参数改为 BatchContext
  • src/manager/CoreManager.ts - 简化安装运行流程,新增 FormExecutor 注册
  • src/manager/FormManager.ts - 重构为 openForm,返回 FormSubmitResult
  • src/modal/FormField.tsx - 新增 hotkey 组件,格式化修正
  • src/core/EditorRenderer.ts - 移除按钮 setCta/setWarning
  • src/view/PlutoTextView.ts - 新增 scope dataset
  • src/styles.css - 移除 mod-cta/mod-warning 样式,修正无效 CSS 属性
  • src/types/global.d.ts - execute 参数改为 BatchContext,移除 tmpFiles 字段
  • src/types/form.d.ts - 新增 hotkey 类型、FormSubmitResult 接口

Files Added

  • src/exec/FormExecutor.ts - 新增 form 类型文件执行器

[2.0.2] - 2026-08-31

Fixed

  • 修正 SandboxExecutor 的 export class 正则表达式,支持 export class Foo extends Bar 继承语法,兼容包含 require 和变量声明的模块代码格式
  • 为 SandboxExecutor 模块加载添加 try/catch 错误处理,异常时输出模块名和文件名便于调试

Files Modified

  • src/exec/SandboxExecutor.ts - 扩展 export class 正则支持 extends 继承,新增 try/catch 错误捕获

[2.0.1] - 2026-08-31

Fixed

  • 修正 SandboxExecutor 沙箱生命周期:先执行非 boot.js 文件构建 api,再加载并执行 boot.js,boot.start() / boot.finish() 改为可选调用
  • 修正 SandboxExecutor 模块间引用,新增 imports: (clazz) => api[clazz],供模块内部互相引用导出结果
  • 修正 SandboxExecutor.install 中缓存 key 错误(使用 module.id → context.id),并将 boot.install 改为 await 执行
  • 修正 CoreManager 模块卸载流程,移除了不必要的 execute 调用,仅执行 uninstall 清理
  • 调整 PlutoTextView 资源等待时间由 10s 增加至 20s,提升页面渲染稳定性

Files Modified

  • src/exec/SandboxExecutor.ts - 修正沙箱生命周期时序,新增模块间 imports 支持,修复 install 缓存 key
  • src/manager/CoreManager.ts - 注释掉模块卸载前多余的 execute 调用
  • src/view/PlutoTextView.ts - 资源等待时间由 10000ms 调整为 20000ms

[2.0.1] - 2026-08-28

Improved

  • 重构 SandboxExecutor 模块执行逻辑,各 JS 文件共享同一个 api 对象并透传给沙箱环境
  • 重构 YamlExecutor 配置处理逻辑,改为 if/else 分支结构,逻辑更清晰
  • css.yaml 新增支持 class-select 类型设置
  • css.yaml 中值为 falsy 的配置项跳过处理
  • CSS 变量由 --sky-* 统一重命名为 --pluto-*,并在 body 中定义默认值

Files Modified

  • src/exec/SandboxExecutor.ts - 引入共享 api 对象,模块导出结果统一挂载到 pluto.modules
  • src/exec/YamlExecutor.ts - 重构 YAML 分支处理,新增 class-select 支持
  • src/styles.css - 重命名 CSS 变量为 pluto 前缀并添加默认值定义
  • src/types/global.d.ts - ModParams 新增 api 可选字段

[2.0.1] - 2026-05-20

Improved

  • 重构 README.md,精简文档结构
  • 新增 README_en.md 英文文档,与中文版保持同步
  • 删除旧版 README_zh.md
  • 优化 ViewResolver 挂载点,修复视图渲染问题
  • 优化第三方组件执行逻辑,提升稳定性
  • 重构模块排序逻辑,统一在 storage.tsloadModules 方法中进行排序
  • 移除了 BoardRenderer.tsCoreManager.ts 中的重复排序代码

Files Modified

  • README.md - 精简重构文档内容
  • README_en.md - 新增英文文档,与中文版一致
  • src/view/PlutoBoardView.ts - ViewResolver 挂载点改为 containerEl
  • src/view/PlutoTextView.ts - 优化 assets 加载等待时间
  • src/third/SimpleComponent.ts - executeAll 改为串行执行
  • src/third/ReactComponent.ts - 移除多余 sleep
  • src/third/TemplaterComponent.ts - 优化 parser 检测逻辑
  • src/styles.css - 简化样式代码
  • src/core/BoardRenderer.ts - 移除重复的排序代码
  • src/manager/CoreManager.ts - 移除 runBundles 和 installBundles 中的排序逻辑

Files Added

  • README_en.md - 英文文档

Files Deleted

  • README_zh.md - 旧版中文文档
  • assets/module.webp - 删除未使用的资源文件
  • assets/sample/主题小猫.webp - 删除示例资源文件

[2.0.0] - 2026-05-15

Added

  • 添加了扩展模块使用文档说明
  • 添加了与其他插件集成的文档说明
  • 添加了示例仓库链接

Fixed

  • 修复了 element.style.filter 直接操作样式问题,改用 CSS class
  • 修复了 element.style.maxWidth/maxHeight/objectFit 直接操作样式问题,改用 CSS class
  • 修复了动态创建 style 元素问题,改用 CSSStyleSheet + adoptedStyleSheets
  • 修复了 new Function() 被 CI 扫描标记的问题
  • 修复了 import() 不安全调用,添加类型保护
  • 修复了未 await 的 Promise 调用
  • 修复了 minAppVersion 过低问题(0.15.0 → 1.7.2)
  • 修复了无效 SPDX 许可证标识(0-BSD → MIT)
  • 修复了硬编码的旧插件 ID(obsidian-pluto-hub → pluto-hub)
  • 清理了未使用的导入

Improved

  • 插件 ID 从 obsidian-pluto-hub 更改为 pluto-hub,符合官方命名规范
  • 优化了第三方插件集成文档描述
  • 更新了 README.md 和 README_zh.md 文档内容

Files Modified

  • manifest.json - 更新插件 ID 和版本号,更新 minAppVersion
  • README.md - 添加外部模块使用说明和示例仓库链接
  • README_zh.md - 添加扩展模块使用说明和示例仓库链接
  • LICENSE - 更新为 MIT 许可证
  • package.json - 修复许可证标识
  • src/core/BoardRenderer.ts - element.style.filter 改为 CSS class
  • src/core/EditorRenderer.ts - 清理未使用的导入
  • src/core/MirrorRenderer.ts - element.style.* 改为 CSS class
  • src/exec/CssExecutor.ts - 改用 activeDocument 注入样式
  • src/manager/ThemeManager.ts - 改用 CSSStyleSheet 注入样式
  • src/pluto.ts - import() 添加类型保护
  • src/styles.css - 添加 .is-disabled 和 .pluto-image-preview 样式
  • src/utils/helper.ts - 修复硬编码插件 ID

[1.1.8] - 2026-05-15

Added

  • README_zh.md - 新增了中文版 README 文档
  • docs/默认皮肤.md - 新增了默认皮肤文档
  • assets/ - 新增了大量模块图标、预览图和皮肤资源文件

Improved

  • 重构了 README.md,全面更新为英文版本
  • 优化了文档结构,添加中英文切换导航链接
  • 优化了 SandboxExecutor、YamlExecutor、ConfigManager、CoreManager 等核心模块
  • 更新了第三方组件(ReactComponent、SimpleComponent)实现
  • 优化了 pluto.ts 核心类

Files Modified

  • README.md - 重构为英文版本,添加 GitHub 徽章和中英文切换链接
  • README_zh.md - 新增中文版文档,添加中英文切换链接
  • src/exec/SandboxExecutor.ts - 优化了沙箱执行器
  • src/exec/YamlExecutor.ts - 优化了 YAML 执行器
  • src/manager/ConfigManager.ts - 优化了配置管理器
  • src/manager/CoreManager.ts - 优化了核心管理器
  • src/pluto.ts - 优化了 Pluto 核心类
  • src/third/ReactComponent.ts - 优化了 React 组件
  • src/third/SimpleComponent.ts - 优化了 Simple 组件

[1.1.7] - 2026-05-14

Added

  • AGENTS.md - 新增了插件开发指南文档,包含项目概述、环境工具、文件约定、测试、安全性、代码规范等内容
  • BatchContext 类型 - 新增了批处理上下文类型,用于组件安装和卸载
  • ThirdFactory实例管理 - 新增了instances Map来管理第三方组件实例
  • ThirdFactory辅助方法 - 新增了loop()和getInstance()方法

Improved

  • 重构了ThirdFactory,新增实例管理和辅助方法
  • 优化了第三方组件接口,新增prop属性,调整了register方法参数
  • 重构了CoreExecutor接口,新增install和uninstall方法,调整了execute方法参数
  • 优化了ModParams类型定义,调整了参数结构
  • 更新了Obsidian类型定义,新增Vault接口和相关方法
  • 优化了所有执行器的实现(CssExecutor、JsonExecutor、MarkdownExecutor、SandboxExecutor、SimpleExecutor、YamlExecutor、PageExecutor、GlbExecutor)
  • 改进了CoreManager、ConfigManager、FormManager的实现
  • 优化了BoardRenderer和EditorRenderer的渲染逻辑
  • 更新了样式文件styles.css
  • 优化了所有第三方组件(DvaComponent、ReactComponent、SimpleComponent、TemplaterComponent)的实现

Files Modified

  • package.json - 更新了版本号到1.1.7
  • manifest.json - 更新了版本号到1.1.7
  • AGENTS.md - 新增了插件开发指南文档
  • src/core/BoardRenderer.ts - 优化了看板渲染器
  • src/core/EditorRenderer.ts - 优化了编辑器渲染器
  • src/exec/CssExecutor.ts - 优化了CSS执行器
  • src/exec/GlbExecutor.ts - 优化了GLB执行器
  • src/exec/JsonExecutor.ts - 优化了JSON执行器
  • src/exec/MarkdownExecutor.ts - 优化了Markdown执行器
  • src/exec/PageExecutor.ts - 优化了Page执行器
  • src/exec/SandboxExecutor.ts - 优化了沙箱执行器
  • src/exec/SimpleExecutor.ts - 优化了简单执行器
  • src/exec/YamlExecutor.ts - 优化了YAML执行器
  • src/manager/ConfigManager.ts - 优化了配置管理器
  • src/manager/CoreManager.ts - 优化了核心管理器
  • src/manager/FormManager.ts - 优化了表单管理器
  • src/pluto.ts - 优化了Pluto核心类
  • src/styles.css - 更新了样式文件
  • src/third/DvaComponent.ts - 优化了Dva组件
  • src/third/ReactComponent.ts - 优化了React组件
  • src/third/SimpleComponent.ts - 优化了Simple组件
  • src/third/TemplaterComponent.ts - 优化了Templater组件
  • src/third/ThirdFactory.ts - 重构了ThirdFactory,新增实例管理
  • src/types/global.d.ts - 更新了全局类型定义,新增BatchContext,优化了接口定义
  • src/types/obsidian.d.ts - 更新了Obsidian类型定义,新增Vault接口

[1.1.6] - 2026-05-06

Added

  • src/core/PluginContext.ts - 新增了插件上下文,提供全局插件实例访问
  • src/manager/ConfigManager.ts - 新增了配置管理器,统一管理配置
  • README.md - 全面更新了README文档,完善了功能说明和项目结构

Improved

  • 重构了插件初始化逻辑,使用PluginContext统一管理插件实例
  • 优化了CoreManager的实现,改进了模块运行和更新逻辑
  • 优化了YamlExecutor、SandboxExecutor、SimpleExecutor的实现
  • 改进了存储管理,优化了模块保存和加载逻辑
  • 增强了类型定义,完善了global.d.ts和obsidian.d.ts
  • 更新了README文档,补充了最新功能说明、项目结构和使用指南
  • 优化了ViewManager的视图构建和状态管理逻辑
  • 改进了BoardRenderer和ModuleAction的实现
  • 更新了TypeScript配置,优化了编译选项

Files Modified

  • package.json - 更新了版本号到1.1.6
  • manifest.json - 更新了版本号到1.1.6
  • README.md - 全面更新了文档,完善了功能说明、快速开始、高级用法等内容
  • src/core/BoardRenderer.ts - 优化了看板渲染器实现
  • src/core/ModuleAction.ts - 优化了模块操作管理器
  • src/core/PluginContext.ts - 新增了插件上下文管理
  • src/exec/SandboxExecutor.ts - 优化了沙箱执行器实现
  • src/exec/SimpleExecutor.ts - 优化了简单执行器实现
  • src/exec/YamlExecutor.ts - 优化了YAML执行器实现
  • src/main.ts - 优化了插件初始化逻辑
  • src/manager/ConfigManager.ts - 新增了配置管理器
  • src/manager/CoreManager.ts - 优化了核心管理器实现
  • src/manager/ViewManager.ts - 优化了视图管理器
  • src/pluto.ts - 重构了Pluto核心类,优化了初始化和插件绑定逻辑
  • src/storage.ts - 优化了存储管理
  • src/types/global.d.ts - 更新了全局类型定义
  • src/types/obsidian.d.ts - 更新了Obsidian类型定义
  • tsconfig.json - 更新了TypeScript配置
  • versions.json - 更新了版本信息

[1.1.5] - 2026-01-12

Added

  • src/core/ViewManager.ts - 新增了视图管理器,优化视图系统
  • src/modal/FormField.tsx - 新增了表单字段组件
  • src/modal/FormManager.ts - 新增了表单管理器
  • src/modal/FormModal.tsx - 新增了React表单弹窗组件
  • src/modal/FormJson.ts - 新增了表单JSON处理组件
  • src/modal/PlutoFormModal.tsx - 新增了Pluto表单弹窗实现
  • src/types/form.d.ts - 新增了表单相关类型定义
  • src/view/FormModal.ts - 实现了动态表单模态框,支持openForm方法
  • src/view/PlutoFileView.ts - 重命名自PlutoHomeView.ts,优化文件视图
  • src/view/PlutoTextView.ts - 新增了文本视图
  • src/exec/SimpleExecutor.ts - 新增了简单执行器,替代SimpleCoreExecutor
  • src/exec/YamlExecutor.ts - 新增了YAML执行器,支持YAML文件处理
  • src/exec/PageExecutor.ts - 新增了Page执行器,支持page类型文件处理
  • src/exec/GlbExecutor.ts - 新增了GLB执行器,支持GLB文件处理
  • src/manager/ThemeManager.ts - 新增了主题管理器,支持多种主题切换
  • src/utils/array.ts - 新增了数组扩展工具,添加groupBy方法
  • src/utils/const.ts - 新增了常量定义文件

Improved

  • 重构了视图系统,优化了视图管理逻辑
  • 增强了动态表单支持,提供了更灵活的表单创建方式
  • 优化了文件视图和文本视图的功能
  • 修复了FormManager中表单值处理逻辑,使用空值合并操作符替代逻辑或操作符
  • 优化了各种执行器的实现
  • 更新了样式文件,添加了表单相关样式
  • 优化了模块卡片布局,使用auto-fit实现响应式网格
  • 增强了第三方组件的错误检查机制
  • 优化了模块存储逻辑,移除了pako压缩开关
  • 重构执行器系统,将SimpleCoreExecutor重命名为SimpleExecutor
  • 新增YAML执行器,支持YAML文件处理
  • 新增Page执行器,支持page类型文件处理
  • 新增GLB执行器,支持GLB文件处理
  • 优化第三方组件实现,重命名SimpleThirdComponent为SimpleComponent
  • 增强表单功能,新增FormJson组件
  • 扩展数组方法,添加groupBy功能
  • 优化提示信息,使用自定义表单提示替代QuickAdd依赖
  • Templater组件配置文件从JSON改为YAML
  • 重构了管理器结构,将CoreManager、FormManager、ViewManager统一移动到manager目录,提高代码组织性
  • 新增主题管理功能,支持多种主题切换和自定义主题
  • 优化了Pluto核心类的结构,将管理器统一命名为Manager后缀
  • 优化了YamlExecutor和SandboxExecutor的实现
  • 增强了FormJson的表单配置功能
  • 实现了模块卡片拖拽排序功能,支持直观调整模块顺序
  • 优化了插件绑定机制,移除了不必要的延迟,提高了插件加载速度
  • 优化了Dashboard Header和搜索输入框样式,添加了半透明背景和模糊效果
  • 重构了模块卡片布局,从grid改为flex,优化了间距和阴影效果
  • 增强了错误处理机制,添加了错误堆栈复制功能
  • 优化了视图管理器的状态处理,调整了参数顺序
  • 优化了CoreManager,新增了importFile和exportModule方法,支持批量导入导出文件
  • 优化了配置文件访问方式,移除了yaml/json的get方法调用,改用直接属性访问
  • 优化了PlutoTextView的页面获取方式,从page.get改为直接属性访问
  • 为CoreExecutor接口添加了read和write方法,增强了执行器的文件操作能力
  • 优化了ViewManager的标题属性,从props.name改为props.label

Files Modified

  • package.json - 更新了依赖配置
  • src/core/BoardRenderer.ts - 实现了模块卡片拖拽排序功能,优化了看板渲染器和导出路径处理
  • src/core/EditorRenderer.ts - 优化了导出路径处理,添加了保存成功通知
  • src/core/MirrorRenderer.ts - 优化了镜像渲染器实现
  • src/core/ModuleAction.ts - 方法重命名
  • src/core/ViewManager.ts - 优化了视图管理器
  • src/core/ViewResolver.ts - 方法重命名和优化
  • src/exec/CoreManager.ts - 方法调用更新
  • src/exec/CssExecutor.ts - 优化了CSS执行器,增强了功能
  • src/exec/GlbExecutor.ts - 新增了GLB执行器,支持GLB文件处理
  • src/exec/ImageExecutor.ts - 优化了图片执行器
  • src/exec/JsonExecutor.ts - 优化了JSON执行器
  • src/exec/MarkdownExecutor.ts - 优化了Markdown执行器
  • src/exec/SandboxExecutor.ts - 优化了沙箱执行器实现
  • src/exec/SimpleExecutor.ts - 优化了简单执行器实现
  • src/exec/YamlExecutor.ts - 优化了YAML执行器,增强了功能
  • src/exec/PageExecutor.ts - 优化了Page执行器
  • src/manager/CoreManager.ts - 优化了核心管理器实现,添加了错误堆栈复制功能,新增了importFile和exportModule方法
  • src/manager/FormManager.ts - 移动到manager目录,优化了表单管理器
  • src/manager/ViewManager.ts - 优化了视图管理器,调整了状态参数顺序,优化了标题属性
  • src/modal/FormJson.ts - 增强了表单JSON配置功能
  • src/modal/PlutoFormModal.tsx - 优化了Pluto表单弹窗实现
  • src/pluto.ts - 重构了管理器结构,统一使用Manager后缀命名,新增主题管理器,优化了插件绑定机制,移除了不必要的延迟,调整了轮询间隔,优化了配置文件访问方式
  • src/third/DvaComponent.ts - 优化了Dva组件实现
  • src/types/global.d.ts - 更新了全局类型定义,添加了Manager类型和page执行器类型,为CoreExecutor添加了read和write方法
  • src/utils/helper.ts - 优化了辅助工具函数
  • src/view/PlutoTextView.ts - 优化了文本视图,优化了页面获取方式
  • src/i18n/en.ts - 更新了国际化字符串
  • src/i18n/zh-cn.ts - 更新了国际化字符串
  • src/main.ts - 添加了路径检查方法
  • src/modal/FormField.tsx - 优化了表单字段组件,将dropdown类型改为select
  • src/modal/FormManager.ts - 优化了表单管理器
  • src/modal/FormModal.tsx - 优化了React表单弹窗组件
  • src/modal/PlutoFormModal.tsx - 优化了Pluto表单弹窗实现
  • src/pluto.ts - 实现了FormModal动态表单模态框,支持openForm方法
  • src/settings.ts - 更新了默认设置和UI,移除了usePako和columns设置
  • src/storage.ts - 优化了路径处理和方法重命名,移除了pako压缩逻辑
  • src/styles.css - 优化了Dashboard Header、搜索输入框和模块卡片样式,添加了拖拽相关样式
  • src/third/DvaComponent.ts - 优化了Dva组件
  • src/third/QaComponent.ts - 优化了Qa组件
  • src/third/ReactComponent.ts - 优化了React组件,添加了错误检查、patch方法和started状态检查
  • src/third/SimpleComponent.ts - 重命名自SimpleThirdComponent,优化了简单组件实现
  • src/third/TemplaterComponent.ts - 优化了Templater组件,添加了错误检查和parser状态检查,配置文件改为YAML
  • src/third/ThirdFactory.ts - 移除了FormComponent支持,更新了组件映射
  • src/types/form.d.ts - 更新了表单字段定义,isRequired改为required,title改为可选,dropdown改为select
  • src/types/global.d.ts - 更新了全局类型定义,移除了form组件支持,扩展了Array接口
  • src/types/obsidian.d.ts - 更新了Obsidian相关类型定义
  • src/utils/helper.ts - 新增了辅助工具函数,优化了提示信息处理
  • src/view/PlutoBoardView.ts - 优化了看板视图,修改了onOpen方法调用
  • src/view/PlutoTextView.ts - 优化了文本视图
  • tsconfig.json - 更新了TypeScript配置

Renamed

  • src/third/SimpleThirdComponent.ts -> src/third/SimpleComponent.ts - 重命名简单第三方组件
  • src/exec/CoreManager.ts -> src/manager/CoreManager.ts - 将核心管理器移动到manager目录
  • src/modal/FormManager.ts -> src/manager/FormManager.ts - 将表单管理器移动到manager目录
  • src/core/ViewManager.ts -> src/manager/ViewManager.ts - 将视图管理器移动到manager目录

Deleted

  • src/types/pluto.d.ts - 删除了过时的类型定义
  • src/third/FormComponent.ts - 删除了FormComponent组件
  • src/exec/SimpleCoreExecutor.ts - 删除了SimpleCoreExecutor,由SimpleExecutor替代
  • src/exec/CoreManager.ts - 移动到manager目录(已重命名)

[1.1.4] - 2026-01-06

Fixed

  • 修复了多个按钮点击取消后加载图标持续旋转的问题(新建文件、添加模块、导出所有、保存按钮)
  • 修复了文件名和模块名输入验证的构建错误
  • 修复了运行模块时显示id而不是name的问题
  • 修复了导入模块时背景颜色总是变化的问题,现在会保留原始模块的颜色
  • 修复了加载模块时没有把背景设为logo.jpg的问题
  • 修复了opacity: 0.5导致文字变暗的问题
  • 修复了main.ts中根据prop创建ThirdComponent实例的问题
  • 修复了new Function不支持export class语法的问题

Improved

  • 重构了renderDashboard方法,优化了错误处理逻辑
  • 增强了输入验证,添加了文件名和模块名的非空检查、重复检查和无效字符验证
  • 更新了JSDoc注释,提高了代码可读性
  • UI优化:删除了模块卡片上的"已禁用"/"已激活"文本标签,改为在取消勾选状态时使用filter: grayscale(1)样式实现灰色背景效果
  • 支持根据pluto.skin.path自动设置模块背景图片
  • 实现了图片背景样式设置,包括background-size: cover和居中显示
  • 实现了module创建第一次bgColor保存到文件,后面更新module不再保存bgColor的功能
  • 添加了ThirdFactory类,用于根据prop动态创建相应的组件实例
  • 优化了插件绑定逻辑,提高了代码的可维护性
  • 提取了base64ToBlobUrl公共方法,简化了图片预览功能代码
  • 新增了helper.ts文件,提供了更多工具函数
  • 重构了模块管理功能,将modules从pluto直接移到pluto.third下
  • 优化了导入模块的逻辑,不再使用临时文件
  • 改进了文件读取功能,将多个文件读取方法封装到helper.ts中
  • 优化了toggle开关的样式和逻辑,实时更新样式而不重新渲染整个界面
  • 实现了卡片高度随宽度变化而等比缩放的效果
  • 重构了项目结构,将功能拆分为多个模块,提高了代码的可维护性和可扩展性
  • 新增了多个执行器,用于处理不同类型的文件
  • 重构了Third组件,将third.ts拆分为多个组件文件
  • 重构了视图系统,将view.ts拆分为PlutoBoardView.ts和PlutoHomeView.ts
  • 新增了核心渲染模块:BoardRenderer.ts, EditorRenderer.ts, MirrorRenderer.ts
  • 新增了ModuleAction.ts和ViewResolver.ts,优化了模块操作和视图解析逻辑
  • 新增了国际化支持,包括enable-icon和webp-quality设置

Added

  • src/core/ImageConverter.ts - 添加了图片转换功能
  • src/core/BoardRenderer.ts - 添加了看板渲染器
  • src/core/EditorRenderer.ts - 添加了编辑器渲染器
  • src/core/MirrorRenderer.ts - 添加了镜像渲染器
  • src/core/ModuleAction.ts - 添加了模块操作管理器
  • src/core/ViewResolver.ts - 添加了视图解析器
  • src/exec/CoreManager.ts - 新增了核心管理器
  • src/exec/CssExecutor.ts - 新增了CSS执行器
  • src/exec/ImageExecutor.ts - 新增了图片执行器
  • src/exec/JsonExecutor.ts - 新增了JSON执行器
  • src/exec/MarkdownExecutor.ts - 新增了Markdown执行器
  • src/exec/SandboxExecutor.ts - 新增了沙箱执行器
  • src/exec/SimpleCoreExecutor.ts - 新增了简单核心执行器
  • src/pluto.ts - 新增了Pluto核心功能
  • src/third/DvaComponent.ts - 新增了Dva组件
  • src/third/FormComponent.ts - 新增了Form组件
  • src/third/QaComponent.ts - 新增了Qa组件
  • src/third/ReactComponent.ts - 新增了React组件
  • src/third/SimpleThirdComponent.ts - 新增了SimpleThird组件
  • src/third/TemplaterComponent.ts - 新增了Templater组件
  • src/third/ThirdFactory.ts - 新增了ThirdFactory组件
  • src/third/third.ts - 添加了ThirdFactory和其他组件类
  • src/utils/helper.ts - 新增了辅助工具函数
  • src/types/pluto.d.ts - 新增了MiniModule和ModFile接口定义
  • src/types/obsidian.d.ts - 新增了Obsidian相关类型定义

Files Modified

  • src/main.ts - 修改了插件绑定逻辑,使用ThirdFactory创建组件实例,添加了对export class语法的支持,重构了插件加载逻辑和视图注册
  • src/view.ts - 重构视图系统,将其拆分为PlutoBoardView.ts和PlutoHomeView.ts
  • src/pluto.ts - 更新了Pluto核心功能,优化了模块管理和视图处理
  • src/types/obsidian.d.ts - 更新了Obsidian相关类型定义
  • src/view/PlutoBoardView.ts - 新增了看板视图组件
  • src/view/PlutoHomeView.ts - 新增了主页视图组件
  • src/i18n/en.ts - 添加验证相关的英文翻译,删除不再使用的翻译条目,新增了enable-icon和webp-quality设置的翻译
  • src/i18n/zh-cn.ts - 添加验证相关的中文翻译,删除不再使用的翻译条目,新增了enable-icon和webp-quality设置的翻译
  • src/storage.ts - 修复导入模块时背景颜色总是变化的问题,优化模块导入逻辑,添加图片下载和base64转换功能,优化bgColor保存逻辑,将saveBundle改为saveModule
  • src/styles.css - 更新了样式文件,实现卡片等比缩放效果
  • src/types/global.d.ts - 修改了ThirdComponent和Pluto接口定义,添加了Third接口,更新了类型定义
  • src/types/pluto.d.ts - 新增了MiniModule和ModFile接口定义,更新了类型定义
  • src/utils/helper.ts - 添加了多个工具函数:readFileAsArrayBuffer, readFileAsBase64, readFileAsText, promptMessage
  • src/utils/utils.ts - 添加了base64ToBlobUrl公共方法
  • src/settings.ts - 修改了设置相关逻辑,新增了enable-icon和webp-quality设置
  • src/exec/SandboxExecutor.ts - 修改了沙箱执行器逻辑
  • src/third/DvaComponent.ts - 修改了Dva组件
  • src/third/QaComponent.ts - 修改了Qa组件
  • src/third/ReactComponent.ts - 修改了React组件
  • src/third/SimpleThirdComponent.ts - 修改了SimpleThird组件
  • src/third/TemplaterComponent.ts - 修改了Templater组件
  • src/third/ThirdFactory.ts - 修改了ThirdFactory组件

Deleted

  • src/third/third.ts - 将third.ts拆分为多个组件文件
  • src/view.ts - 将视图系统拆分为PlutoBoardView.ts和PlutoHomeView.ts

[1.1.3] - 2026-01-01

Added

  • 在编辑页面添加了导出文件功能,支持将模块中的所有文件导出到配置的备份目录
  • 保存单个模块时同时保存MiniModule信息

Changed

  • 模块现在从存储路径读取,而不是从data文件读取
  • 隐藏了默认的view-header区域(只隐藏当前视图,不影响其他视图)
  • 改进了header隐藏的实现方式,将逻辑移到构造函数中,提高效率
  • 将保存按钮、删除按钮、导入文件按钮、导出文件按钮从底部移到顶部导航栏
  • 将"保存所有更改"按钮文本改为"保存模块"
  • 将"+ 文件"按钮移动到editor命名空间下,文本改为"新建文件"
  • 为导航栏按钮添加了btn_nob样式类

Fixed

  • 修复了导出文件功能的文件夹选择逻辑,改为直接使用配置中的备份目录,无需用户选择文件夹
  • 修复了导出全部功能中点击取消按钮后按钮一直旋转的问题
  • 优化了模块管理功能,将modules字段从MiniModule[]改为string[]类型,只存储模块名称字符串
  • 修复了模块勾选/取消勾选后状态不保存的问题

[1.1.2] - 2026-01-01

Added

  • 在Dashboard的pluto-header区域添加了搜索框,支持过滤模块
  • 优化了pluto-header的样式,添加了padding和边框
  • 导入文件功能支持所有文件格式
  • 支持jpg、png、gif、webp等图片文件的预览功能

Fixed

  • 修复了图片预览的URL格式错误问题,改用Blob URL实现图片预览
  • 修复了切换文件后图片预览报错的根本问题,确保不会将文本内容错误保存到图片的base64字段中
  • 优化了图片预览的错误处理,添加了更详细的日志信息

Changed

  • 重构了switch方法,优化了模块切换的逻辑和性能

Files Modified

  • src/styles.css - 添加了pluto-header和搜索框样式
  • src/view.ts - 实现了搜索框功能和模块过滤,移除了文件导入格式限制,添加了图片预览功能,重构了switch方法
  • src/i18n/en.ts - 添加搜索框的英文翻译
  • src/i18n/zh-cn.ts - 添加搜索框的中文翻译

[1.1.1] - 2026-01-01

Added

  • 在编辑页面的文件侧边栏中添加了导入按钮,支持导入.js、.css、.json和.md文件

    Changed

  • 导入按钮支持国际化

  • 新建文件按钮移动到文件列表上方

Fixed

  • 修复了点击激活按钮后需要刷新页面文字才会改变的问题
  • 修复了切换激活状态时会运行所有模块的问题,现在只会运行当前操作的模块

Changed

  • 为所有按钮添加了现代化的美观样式,包括悬停效果和渐变背景

Files Modified

  • src/view.ts - 修改toggle开关点击事件,只运行当前操作的模块并优化状态更新,添加导入文件功能
  • src/styles.css - 添加了完整的按钮样式方案,包括默认按钮、CTA按钮、警告按钮和渐变按钮样式
  • src/i18n/en.ts - 添加导入功能的英文翻译
  • src/i18n/zh-cn.ts - 添加导入功能的中文翻译

[1.1.0] - 2026-01-01

Added

  • 实现了完整的国际化支持,包括按钮文字和settings页签
  • 添加了英文和中文的国际化资源文件

Changed

  • 将settings页面的所有文本替换为国际化调用
  • 将仪表板界面的按钮、标题和状态标签国际化
  • 将编辑器界面的所有按钮和提示文本国际化
  • 将导出功能的对话框和通知文本国际化

Files Modified

  • README.md - 更新了项目说明
  • manifest.json - 更新了插件信息
  • src/i18n/en.ts - 添加英文国际化字符串
  • src/i18n/zh-cn.ts - 添加中文国际化字符串
  • src/main.ts - 添加国际化支持
  • src/settings.ts - Settings页面国际化
  • src/storage.ts - 存储功能国际化
  • src/styles.css - 更新样式支持
  • src/view.ts - 主界面国际化

README file from

Github

中文 | English

Pluto Hub - 轻量化模块管理中心

Pluto Hub 是一款为提升 Obsidian 运行时性能与扩展体验而设计的局部代码模块中心。它旨在帮助非技术背景用户和开发者,在不破坏库内笔记纯净度、不拖慢系统启动速度的前提下,以高能解耦的 .ops 配置包形式,安全、直观地运行与维护本地轻量化代码扩展。

GitHub release (latest SemVer) GitHub stars GitHub issues license

🎯 为什么开发 Pluto Hub?(致 Obsidian 社区与官方开发团队)

作为 Obsidian 的深度拥趸与独立开发者,我们注意到随着社区生态的爆发,重度知识管理用户和官方团队正共同面临以下三个难以调和的生态架构痛点:

  1. “微型控件”的开发实现断层:用户常常只需要一些极其局部的轻量功能,让普通用户去配置复杂的环境并编写社区插件过于沉重;而使用 dataviewjs 或 templater 在 .md 笔记内硬嵌长篇 JavaScript 渲染代码,又会导致笔记内容与展现逻辑严重割裂,普通人很难维护。

  2. 重度依赖引发的启动性能死穴(Startup Time Penalty):为了堆砌主页(Dashboard)的各种组件,用户通常需要同时启用 20~40 个不同的社区插件。这导致 Obsidian 初始运行时面临严重的卡顿和白屏延迟。官方目前缺乏一套优雅的、针对“非刚需视觉组件”的按需延迟激活(Lazy Loading)标准机制。

  3. 多端同步配置的噩梦(Configuration Conflicts):习惯使用 Git 或第三方云盘多端多设备同步(如移动端与 PC 端)的用户,经常遇到不同插件的 data.json 发生恶性代码覆盖或路径冲突,导致整个本地配置库时常报障。

Pluto Hub 正是为了填平这三个“生态灰色地带”而生的轻量化解决方案。 它不破坏现有的官方主权,而是提供了一个统一的隔离容器,让“代码归代码,内容归内容”,实现高能解耦。

🎨 预览功能

📚 示例仓库

想查看 Pluto Hub 的实际效果?请访问示例仓库:

示例仓库

📊 Pluto Hub 核心特性与扩展机制审计 (System Features)

为了确保插件完全符合社区最严格的安全性与运行时性能(Runtime Performance)规范,Pluto Hub 采用统一的轻量化沙箱容器逻辑,核心框架对各类高级扩展模块提供底层原生支持:

功能特性模块 针对解决的社区/官方痛点 (Core Pain Points) 本地运行机制与用户体验 扩展获取与交付状态
⏱️ 运行时生命周期控制 解决重度用户开启大量主页插件拖慢 Obsidian 初始加载、造成白屏延迟的性能死穴(Startup Time)。 提供全局控制台,支持对所有扩展组件进行 [ 0延迟 / 2s延迟 / 4s长延迟 / 关闭 ] 四档按需异步激活。 📦 示例仓库(内置)
🎨 模块化 Grid 卡片容器 拒绝在普通 .md 笔记内硬嵌大量不伦不类的 JS 渲染代码。深度收编并完美兼容 dataviewjs 底层能力。 提供现代化的 Grid 卡片布局、拖拽排序以及批量导入导出,使展现逻辑与笔记内容彻底实现代码隔离。 📦 示例仓库(内置)
🚀 配置存储拦截引擎 解决多设备(如移动端/PC端)使用 Git 备份时,各插件配置频繁爆发恶性冲突的同步噩梦。 拦截各扩展模块的配置数据进行统一归流管理。.obsidian/plugins/ 文件夹可直接进 .gitignore,实现多端同步零冲突 🌐 内核级原生支持 (导入)
🧬 WebGL 3D 空间定位联动 传统 3D 轨道录制数据沉重死板,修改或微调极易触发全局坐标崩溃(Three.js官网),且无法与本地笔记深度联动。 在 Obsidian 本地无缝接入三维渲染沙箱,点击 3D 骨骼/肌肉/穴位,秒级唤出本地对应的双向联动笔记! 🌐 WebGL引擎支持 (导入)
🎧 丰富前端微组件生态 包含沙箱化音乐播放器、实时时评看板、菜单命令一键下载等精致组件,满足高密度信息流中控需求。 支持通过标准的 .ops 格式进行无痛导入/导出,开发者与非技术用户无需碰任何底层编译环境。 🌐 生态接口开放 (导入)

📁 多种文件类型支持

类型 扩展名 说明
JavaScript .js 完全沙箱安全执行
CSS .css 独立控制,支持随时按需激活/关闭
JSON .json 配置文件动态解析与状态热重载
YAML .yaml / .yml 配置文件动态解析与状态热重载
Markdown .md 内容沙箱隔离式纯净渲染
图片 .jpg / .gif / .png 图片处理
GLB .glb 3D 空间交互模型引擎原生支持
Page .page 独立微前端页面组件生态封装

安装方法

社区插件市场安装(推荐)

打开 Obsidian 设置 ->「社区插件」 -> 搜索「Pluto Hub」 -> 点击「安装」并启用。

手动安装(开发版调试)

将打包好的 main.js、styles.css、manifest.json 复制到库目录:/.obsidian/plugins/obsidian-pluto-hub/ 路径下,重启 Obsidian 启用即可。

🤝 关联插件的底层生态编排

如果检测到本地激活了以下大宗官方插件,Pluto Hub 的沙箱运行时将自动将其底层内核收编,并映射出更高级的、与内容隔离的可编程接口:

  1. React Components:通过 pluto.third.react 完美驱动组件状态

  2. Templater:通过 pluto.third.templater 实行脚本级生命周期挂载

  3. Dataview:通过 pluto.third.dva 解锁无代码化的高级数据渲染输出

如何使用扩展模块

Pluto Hub 支持通过导入外部模块来扩展功能。

  1. 从可信来源获取模块文件(扩展名为 .ops
  2. 在插件设置中自定义存储路径(默认为 .obsidian/cache/modules
  3. .ops 模块文件放入该目录
  4. 返回插件界面,模块会自动加载并生效

⚠️ 请仅导入您信任来源的模块。本插件不对第三方模块的安全性负责,用户需自行承担风险。

版本历史

详细更新日志请查看 CHANGES.md

🙏 支持作者

如果 Pluto Hub 成功帮您精简了结构、提升了启动性能,欢迎请作者喝杯咖啡 ☕

Buy Me a Coffee


支付宝 & 微信


许可证与联系方式

License: MIT License

Email: [email protected] / [email protected]

GitHub Issues: https://github.com/xiajianduan/obsidian-pluto-hub/issues


简化功能移值性,重新定义你的 Obsidian 生产力。 🚀