思源笔记插件开发从零到上线:20 分钟跑通本地环境并让第一个插件加载成功
思源笔记插件开发从零到上线20 分钟跑通本地环境并让第一个插件加载成功【免费下载链接】siyuanAn open-source, privacy-first, self-hosted knowledge workspace where humans and AI agents work together 开源、隐私优先、自托管的知识工作空间让人与智能体在此协作项目地址: https://gitcode.com/GitHub_Trending/si/siyuan思源笔记是一款开源、隐私优先、自托管的知识工作空间其插件系统允许任何人给它扩展命令、图标与自定义块。这篇思源笔记插件开发与入门教程带你走通按目标选钩子、搭建本地环境、写出最小可加载插件、排查插件加载报错最后把插件发布到集市。 先定目标想做什么就挂哪个注册点写代码前先想清楚要给思源加什么能力对应到Plugin基类的哪个钩子就一目了然想实现的效果注册点基类属性最终出现位置提供快捷键操作commands命令面板顶栏加一个图标按钮topBarIcons编辑器顶栏独立配置页setting设置面板自定义内容块customBlockRenders与protyleSlash正文渲染与斜杠菜单这些属性都是基类里预声明好的容器onload()里往里塞条目即可前端会自动把它们挂到对应界面位置。基类定义在 app/src/plugin/index.ts读一遍它比查散落的文档更快建立整体感。 十分钟搭建本地开发环境需要 Node pnpm 工具链版本以 app/package.json 中packageManager字段为准pnpm11.12.0。三条命令搞定git clone https://gitcode.com/GitHub_Trending/si/siyuan cd siyuan/app pnpm install pnpm run dev pnpm run start第一条启动 webpack 开发模式第二条拉起 Electron 窗口。第一次跑通后先别急着写代码去界面上找两个入口设置面板里的插件列表以及命令面板——后面验证自己的插件就靠这两处。 写出能加载的最小插件一个插件就是工作区plugins/目录下的一个文件夹目录职责在 docs/WORKSPACE.zh-CN.md 有说明plugin.json是身份声明index.js是入口脚本index.css可选放样式。最小plugin.json只留三个字段{ name: hello-siyuan, version: 1.0.0, displayName: Hello SiYuan }入口脚本的三个要点类要继承Plugin、类必须default导出、初始化逻辑全部放进onload()。加载机制其实就是一条能一口气读完的链路文件夹 → 内核解析 plugin.json、读取 JS/CSS → 前端沙箱执行入口并实例化 → 调用onload()并把图标、命令、设置页挂上界面。前端加载器在 app/src/plugin/loader.ts它同时负责 CSS 注入与出错日志内核侧的启停接口在 kernel/api/petal.go进阶时再看。 插件加载报错怎么查加载器把每类失败都打成了明确的控制台日志。记住一个原则先看浏览器控制台而不是主进程日志基本能直接定位插件出现在列表却显示不可用这是最隐蔽的静默失败。多半是plugin.json里的minAppVersion高于当前版本或disabledInPublish在发布站模式把它禁用了。修法核对版本号把兼容性要求降到真实依赖的最低版本。日志出现has no export入口没有可用导出。确认export default导出的是插件类本身。日志出现does not extends Plugin导出的类没继承基类。给类声明补上extends Plugin。日志出现run error或onload error前者是入口 JS 执行阶段就抛异常多为语法错误或依赖没打进 bundle后者说明onload()内部报错。排查 onload 时在第一行打一条日志先确认执行进了函数再二分定位。把插件发布到社区集市两个自查字段功能验证通过后下一步是分发。集市的安装、更新、卸载逻辑集中在 kernel/bazaar/ 目录发布前建议通读一遍install.go和package.go确认包结构与字段解析规则。发布前重点自查两处version已递增且minAppVersion与插件实际依赖的最低版本一致displayName、description填写完整集市要求的字段没有缺失。接下来可以做的四件事打开 docs/API.zh-CN.md挑通过 Markdown 创建文档这一个接口在onload()里调通验证内核 API 链路给topBarIcons加一个图标、给commands加一条命令一次覆盖两个注册点在app/目录执行pnpm run lint保持代码风格与仓库一致想加斜杠命令时往protyleSlash推一条配置在编辑器里输入/查看效果。【免费下载链接】siyuanAn open-source, privacy-first, self-hosted knowledge workspace where humans and AI agents work together 开源、隐私优先、自托管的知识工作空间让人与智能体在此协作项目地址: https://gitcode.com/GitHub_Trending/si/siyuan创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

wandb 中的 OpenTelemetry-Go:从信号状态、版本兼容到 OTLP 导出实战

wandb 中的 OpenTelemetry-Go:从信号状态、版本兼容到 OTLP 导出实战

机器学习深度学习数据可视化可观测性 【免费下载链接】wandb The AI developer platform. Use Weights & Biases to train and fine-tune models, and manage models from experimentation to production. 项目地址: https://gitcode.com/gh_mirrors/wa/wandb 点…

2026/9/24 13:35:13 阅读更多 →
SAP PM 维护计划参数详解

SAP PM 维护计划参数详解

本文的主要目的是解释调度参数如何影响预防性维护中计划日期的计算——基于时 间的单周期计划。 调度参数: 我们直接在维护计划中维护单周期计划的调度参数,如下图 计划标识 是计算计划日期的依据: 时间: 月份的计算基础始终为 30 天;计算所有日历日。示例:周期 1 …

2026/9/24 13:35:13 阅读更多 →
algorithm-base 数组篇:LeetCode 66「加一」——一次倒序遍历 + 取余判断,优雅处理全 9 进位

algorithm-base 数组篇:LeetCode 66「加一」——一次倒序遍历 + 取余判断,优雅处理全 9 进位

文档教程知识库 【免费下载链接】algorithm-base 一位酷爱做饭的程序员,立志用动画将算法说的通俗易懂。我的面试网站 www.chengxuchu.com 项目地址: https://gitcode.com/gh_mirrors/al/algorithm-base 点击查看 免费下载 本篇是 algorithm-base 仓库 …

2026/9/24 13:35:12 阅读更多 →

最新新闻

Google API HTTP-JSON 错误模式解析:gax-go apierror 内部 proto 包与 protobuf 代码再生成指南

Google API HTTP-JSON 错误模式解析:gax-go apierror 内部 proto 包与 protobuf 代码再生成指南

人工智能AI AgentAgent 沙箱云原生容器运行时零信任 【免费下载链接】substrate Agent Substrate: the core system 项目地址: https://gitcode.com/GitHub_Trending/substrate7/substrate 点击查看 免费下载 导读 本文聚焦当前仓库 vendored 依赖 github.com/goo…

2026/9/24 22:59:52 阅读更多 →
信创云平台建设方案:一云多芯异构算力统一纳管实践指南

信创云平台建设方案:一云多芯异构算力统一纳管实践指南

简介:《信创云平台建设方案》是一份面向政企信息化规划、云平台架构设计及信创项目申报人员的完整方案范文/模板。方案聚焦国内信息技术自主创新云平台中核心技术受限、业务环境不可控、安全能力不足、缺乏适配环境等痛点,按入驻基地、搭建信创云、现场适…

2026/9/24 22:59:52 阅读更多 →
GitHub热榜深度解析:从趋势洞察到项目clone与部署实战

GitHub热榜深度解析:从趋势洞察到项目clone与部署实战

每天刷一遍 GitHub 热榜,已经成了我雷打不动的习惯。日榜看着只是“今天哪些仓库火了”的简单罗列,但盯久了你会发现,它其实是开源世界的晴雨表——哪个方向正在爆发、哪些工具解决了真痛点、哪些作者在闷声搞大事,几乎都能从榜单…

2026/9/24 22:59:52 阅读更多 →
SpringBoot+Vue语言考试报名系统全解析:从数据库到部署

SpringBoot+Vue语言考试报名系统全解析:从数据库到部署

SpringBootVue语言考试报名系统,我一直觉得这类题目是Java Web毕设里性价比最高的。为什么?因为它的业务链路足够完整——从用户注册、考试报名、后台审核、题库管理到在线考试和成绩发布,每个环节都能用上不同的技术点;同时业务逻…

2026/9/24 22:59:52 阅读更多 →
2026 IoT定制选型核心:存量改造、多站点复制与交付自主性

2026 IoT定制选型核心:存量改造、多站点复制与交付自主性

1. 为什么2026年选IoT定制公司,不能再只看“能做”和“报价低” 2026年站在IoT项目交付现场,我亲眼看着一家客户把刚上线三个月的智能仓储系统停机三天——不是设备坏了,也不是网络断了,而是原厂突然通知:下个季度起&a…

2026/9/24 22:59:51 阅读更多 →
单节点K8s部署Prometheus监控全家桶完整指南

单节点K8s部署Prometheus监控全家桶完整指南

从一台4核8G的云服务器上把一套微服务应用用kubeadm搭成单节点K8s跑起来之后,我最初是有点懒得再去碰监控这块的。觉得就一个节点,Pod大不了重启一下,能出多大事。结果有一次这台机器磁盘悄悄被容器日志打满,整个节点直接进入NotR…

2026/9/24 22:58:51 阅读更多 →

日新闻

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为…

2026/9/24 0:00:19 阅读更多 →
单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

简介:一份基于单细胞RNA测序数据的细胞类型注释算法研究Python毕业设计源码,针对计算机相关专业正在做毕设或需要项目实战的学习者,可用于课程设计与期末大作业。项目代码完整、经导师指导评审通过,可直接运行,覆盖数据…

2026/9/24 0:00:19 阅读更多 →
C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

第一次在项目里被反射卡住,是在一个老旧的WinForms模块里:几十个类依赖PropertyChanged通知,运行时反射读属性、发通知,每次启动慢半拍不说,一上.NET Native/AOT裁剪模式几乎全面崩盘。后来我把这段逻辑全部改成C#源生…

2026/9/24 0:00:19 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/24 14:34:13 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/24 9:10:42 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/24 14:33:56 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/24 12:50:34 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/24 14:33:48 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/24 12:49:17 阅读更多 →