思源笔记插件开发入门一文走通环境搭建、本地联调与上架发布【免费下载链接】siyuanAn open-source, privacy-first, self-hosted knowledge workspace where humans and AI agents work together 开源、隐私优先、自托管的知识工作空间让人与智能体在此协作项目地址: https://gitcode.com/GitHub_Trending/si/siyuan思源笔记SiYuan是一款开源、隐私优先、自托管的知识工作空间人与 AI 智能体在同一份数据上协作。它面向第三方的扩展机制官方就叫「插件」内核代号 petal。本文按最小形态、本地跑通、能力菜单、故障速查、走向社区五节展开——照着做完你能独立搭好开发环境跑通并上架自己的第一个插件。 最小插件长什么样清单加入口两件套一个能被加载的插件最少就是当前工作区plugins/目录目录结构见 docs/WORKSPACE.zh-CN.md下的一个文件夹里面放两个文件plugin.json声明它是谁入口 JS 声明它做什么。{ name: hello, version: 0.0.1, displayName: Hello }class Hello extends Plugin { async onload() { this.addCommand({langKey: hi, name: Hi, hotkey: , callback: () this.app.toast(hi)}); } } module.exports Hello;规则只有三条入口必须能被取到默认导出module.exports 你的类即可这个类必须继承前端基类 Plugin加载器实例化后会调用onload()。至于入口 JS 具体怎么被执行、CSS 怎么注入都写在 加载器 里初学阶段知道有人替你跑就够了。 三条命令搭好本地开发环境这一节把仓库完整跑起来你的插件会随启动一起被扫描加载。命令共三条git clone https://gitcode.com/GitHub_Trending/si/siyuan cd siyuan/app pnpm install pnpm run dev pnpm run startNode 建议 18 以上pnpm 版本以 package.json 的packageManager字段为准用corepack enable可以一键对齐。pnpm run dev起 webpack 开发构建pnpm run start拉起 Electron 桌面窗口。怎样算加载成功看两处其一设置面板里的插件管理列表出现 Hello开关可以打开其二命令面板里能找到你注册的 Hi 命令。再按 F12 打开 DevTools确认 Console 没有run error之类的红字即通过。加载成功了接下来能挂哪些东西 插件能注册哪些东西三组入口速查这一节把宿主开放给插件的入口按界面挂载、数据读写、事件联动分好组你只需按需求挑每条形码链接可直接点开。界面挂载——插件长什么样、出现在哪topBarIcons往顶栏放图标声明在 index.tscommands命令面板条目可绑全局快捷键addCommand()负责注册docks在左右下停靠区开一个自定义面板页签挂载逻辑在 loader.tscustomBlockRenders自定义块的渲染器见 customBlockRender.ts数据读写——插件能拿什么数据siyuanAPI 对象创建文档、插入块、执行 SQL 的现成封装在 API.ts接口全集见 API.zh-CN.mdkernel插件自有配置的存取跨重启保留实现见 kernel.ts这些封装背后都是对内核 HTTP 端点的调用例如await siyuan.createDocumentByMarkdown(/, 测试, # Hello);事件联动——什么时候该反应eventBus.on()监听全局或跨插件事件见 EventBus.tsonload/onunload/onLayoutReady加载、禁用、布局就绪三个生命周期钩子定义在 index.ts 四条加载报错对出哪条修哪条加载器把最常见的坑都打成了固定文案的控制台日志出处 loader.ts这四条基本覆盖了我见过的大多数加载失败。症状根因修复Console 出现run error入口 JS 执行时抛异常多为语法错或依赖没打进 bundle单独在控制台执行入口代码按报错行修has no export入口没有导出任何内容文件末尾补module.exports 你的类does not extends Plugin导出类没继承基类改成class X extends Plugin再导出onload error初始化逻辑内部异常常因调用了不存在的 API按堆栈行号定位逐个注释onload里的调用做二分插件显示不可用plugin.json的minAppVersion高于当前版本把minAppVersion调到不高于你实际支持的版本日志去哪里看桌面端按 F12 打开 DevTools看渲染进程的 Console 面板。插件相关的红字都从这里出不用去翻主进程日志。 打包自检与集市上架要点这一节能让你对照源码完成一次打包自检。本地跑通了凭什么敢上架答案是集市解析规则完全公开字段逐项可查。集市的安装、更新、卸载逻辑都在kernel/bazaar/目录包结构定义在 package.go。打包产物自检字段name与入口一致version用三段式语义化版本minAppVersion写清兼容下限高于它的应用会直接标记不可用displayName、description支持多语言映射disabledInPublish决定是否在发布站模式禁用提交集市前确认四件事plugin.json能被解析正常字段名别拼错安装流程install.go对包结构的假设没被破坏readme 与图标齐备在app/目录跑一遍pnpm run lint保持代码风格与仓库一致。✅ 上架前逐项打勾你能从零写出一份两文件插件并说清plugin.json与入口各管什么。你能在本地把思源跑起来并从插件列表确认它已挂载。你能说出界面挂载、数据读写、事件联动三组入口分别对应哪些字段。你能凭四条控制台文案定位加载失败的具体环节。你能对照包结构字段完成一次上架前自检。【免费下载链接】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),仅供参考
企业数字化 ERP 产品动态
相关推荐
如何快速完整下载电子课本PDF:tchMaterial-parser 如何快速完整下载电子课本PDF:tchMaterial-parser 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课本内容。 项目地址: ht… · 2026/9/24 16:19:35
Buzz 本地转录教程:3 步在电脑上离线完成音频转文字 Buzz 本地转录教程:3 步在电脑上离线完成音频转文字 【免费下载链接】buzz Buzz transcribes and translates audio offline on your personal computer. Powered by OpenAIs Whisper. 项目地址: https://gitcode.com/GitHub_Trending/buz/buzz
Buzz 是一款开… · 2026/9/24 16:19:35
轻量级原型工具如何支持Web应用的完整设计到开发链路 从需求被提出开始, 一直到页面上线为止, Web应用从设计再到开发的链路可以被压缩到短短几天时间之内, 不过, 前提条件是原型工具必须要覆盖这条链路的每一个具体环节, 而绝非仅仅只是停留在所谓的“画图”阶段。轻量级原型工具所具备的真正价值, 在于它能够让需求文字转变成为可… · 2026/9/24 17:01:03
Python数据分析库到底有多强?这份宝藏清单你必须收藏! 可视化与洞察,让数据自己“说话”数据整好了, 怎样呈现方可让人一眼就看懂呢? 它身为绘图的“老祖宗”, 功能极为强大且灵活。从简单的折线图、柱状图一直到复杂的3D图形, 它差不多都能够实现。然而它的API有时稍微显得繁琐 , 所以 , 在其基础之上衍生出了更优雅的… · 2026/9/24 17:01:03
OpenAI官方CLI上线,跟复杂的SDK说拜拜 机器之心编辑部大家总说新科技会淘汰老技术。但大模型要想深度落地,必须拥抱老技术,拥抱兼容性。在往昔相当漫长的一段时期之内, 开发者若要测试那模型的能力, 一般存在两种途径: 其一为在某处展开手动调试, 其二是撰写一段某某或Node.js脚本用以调用SDK… · 2026/9/24 17:01:03
Yii 2 向后兼容性(BC)政策全解:接口、类变更对照表与版本升级实践 后端Web框架 【免费下载链接】yii2 Yii 2: The Fast, Secure and Professional PHP Framework 项目地址: https://gitcode.com/gh_mirrors/yi/yii2 点击查看 免费下载 Yii 2 作为拥有十余年维护历史的 PHP 框架,其核心工程纪律之一是一套严格的向后兼容… · 2026/9/24 17:00:57
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程 简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13
1D-CNN时间序列建模实战:从Conv1d原理到工业落地 简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26
柔软的L:汉语语流中被忽视的舌肌张力控制 1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44