思源笔记 v2.8.10 版本全解析:Windows 7/8 最后支持版与插件生态发布前奏
2026/9/9 19:49:00 网站建设 项目流程

思源笔记 v2.8.10 版本全解析:Windows 7/8 最后支持版与插件生态发布前奏

【免费下载链接】siyuanAn open-source, privacy-first, self-hosted knowledge workspace where humans and AI agents work together 开源、隐私优先、自托管的知识工作空间,让人与智能体在此协作项目地址: https://gitcode.com/GitHub_Trending/si/siyuan

思源笔记 v2.8.10 是一个具有明确"承前启后"意义的版本:它既是最后一个支持 Windows 7、8 和 Server 2012 的发布,也是 v2.9.0 插件系统正式发布前,对集市包配置、事件总线与插件 API 进行大规模铺垫的"热身版本"。本文以仓库内 v2.8.10_zh_CN.md 官方变更记录为骨架,逐项解读该版本的编辑器改进、缺陷修复、性能优化与开发者 API 变更,并结合kernel/(Go 内核)与app/src/(前端)中的源码给出实现层面的印证,帮助读者完整把握该版本的价值与影响。

版本定位与升级前提:Windows 7/8 的最后支持版本

v2.8.10 的开篇声明是整个版本最重要的信息:这是最后一个支持 Windows 7、8 和 Server 2012 的版本。从 v2.9.0 开始,后续版本将要求 Windows 10 或更高版本操作系统。

这意味着仍在旧版 Windows 上使用思源笔记的用户,应以 v2.8.10 作为可长期驻留的稳定基线;而需要体验后续新功能(尤其是即将发布的插件系统)的用户,则需要提前规划系统升级。该决策同时解释了为何本版本的"开发者"变更清单中出现了大量与插件系统相关的配置项与 API——它们正是为 v2.9.0 的正式发布铺路。

服务与国际化进展:英文论坛上线与繁体中文支持

本版本在国际化与云端服务侧有三个值得关注的动向:

  1. 官方英文论坛上线:思源官方英文论坛于本版本正式上线,用于服务非中文用户交流。官方同时预告,后续会在「设置 - 账号」中支持使用英文论坛账号登录,并在账号登录支持开放后,为非中国大陆地区用户提供云端数据同步与备份服务。
  2. 变更记录支持繁体中文:从本版本起,各版本变更记录提供繁体中文版本。这一点在仓库中可以直观验证——v2.8.10 变更记录目录 下同时存在v2.8.10.md(英文)、v2.8.10_zh_CN.md(简体中文)与v2.8.10_zh_CHT.md(繁体中文)三个版本,后续各版本目录也沿用这一命名约定。
  3. 改进集市包繁体中文显示:配合繁体中文支持,集市(Marketplace)包在繁体中文环境下的显示效果也得到同步改进。

编辑器与排版能力增强

本版本对编辑器的日常编辑体验做了多项增强与修复,覆盖表格、字号调节、粘贴行为与公式渲染等高频场景:

  • 支持固定显示表格的表头:当表格内容较长、需要在文档内滚动阅读时,表头行保持固定可见,避免"滚到后面忘了列名"的尴尬,是表格类文档(如数据整理、清单对比)阅读体验的重要提升。
  • 添加编辑器字号快速缩放开关:此前的字号缩放需要通过设置面板修改字号,本版本引入了开关。前端设置项位于 appearanceTab.ts:其中editor.fontSize以 range 控件设置字号,新增的editor.fontSizeScrollZoom开关通过editorConfigApi.patch写入配置,开启后可配合滚动快速缩放编辑器字号(Ctrl/⌘ + 滚轮或手势),方便演示、投影场景下的即时调整。
  • 从 IDE 中粘贴代码不再转义<>:修复了从 IDE 复制代码粘贴进文档时尖括号被转义为实体的问题,保证粘贴即所得,代码块内容保持原样。
  • 导入 Markdown 时支持$后跟数字解析为公式:之前如$100这类以美元符号开头的数字串在导入时不会被识别为数学公式,本版本调整了解析规则,使$紧跟数字的场景也能按需识别为行级公式,更贴合 Markdown 书写习惯。
  • 行级公式不再显示<wbr>:修复了行内公式渲染时错误插入<wbr>软换行标签、导致公式排版出现异常折行的问题。
  • 修复在表格中按F5不生效:表格单元格内按F5的快捷行为恢复正常。
  • 修复Backspace删除 Markdown 转义符异常:此前在编辑含转义序列的文本时,退格删除可能产生不符合预期的结果,本版本修正了该编辑行为。
  • 修复在包含"的文本上粘贴引用或块超链接解析异常:当目标文本片段含双引号时,粘贴块引用与块超链接的解析结果不再错乱。
  • 改进多块"复制 - 重复"插入:多块复制后执行"重复"插入的操作流程得到优化,重复块的结构与顺序更为稳定。

文档管理、大纲与信息组织优化

针对长文档管理场景,本版本在文档树排序、大纲同步与阅读状态上做了细化:

  • 文档树、反链、标签和模板按字母排序时忽略大小写:此前字母序排列会区分大小写(大写排前或小写排前),导致Bb打头的条目被人为割裂;本版本改为忽略大小写后再按字母排序,更符合自然阅读习惯。从源码结构看,思源前端在多个列表/菜单排序场景中已采用基于本地化规则、忽略大小写的localeCompare排序,例如 workspace.ts(localeCompare(..., {numeric: true}))与 assets.ts 中的写法,与本版本"忽略大小写排序"的方向一致。
  • 标题创建或删除后更新大纲面板:此前在文档中新建或删除标题时,大纲面板可能不会即时刷新;本版本保证大纲随标题的增删实时同步。
  • 修复只读模式下大纲定位不正确:文档处于只读模式时,从大纲点击定位正文的位置计算恢复正常。
  • 修复在新页签中打开间隔重复报错:通过"在新页签打开"操作进入间隔重复(闪卡复习)界面时不再抛错。
  • 修复搜索输入框中无法选中文本:搜索框内已输入的文本可以正常通过鼠标/键盘选中复制,便于调整检索词。

外观、窗口与移动端交互

在桌面端与移动端的使用体验上,本版本处理了若干窗口管理与触控细节:

  • 始终显示窗口控制按钮:桌面端窗口在特定主题/布局下可能隐藏最小化、最大化、关闭按钮的问题被修复,现在这些窗口控制按钮始终可见,避免用户找不到关闭入口。
  • 更新「最近使用的外观」样式:设置中外观面板的"最近使用"列表样式经过重新设计,视觉呈现更清晰。
  • 移动端过拽看板时不再拉出侧栏面板:在移动端看板(Kanban)视图上横向拖拽卡片时,此前可能误触发从屏幕边缘拉出侧栏面板的手势;本版本限制了该手势冲突,让看板拖拽操作更跟手。
  • 添加集市介绍页:集市内新增介绍页,用于向用户展示集市包的分类与使用指引,帮助用户在 v2.9.0 插件生态爆发前熟悉包管理入口。
  • 用户指南中的文档不再支持一键分享到社区:出于内容管理考虑,移除了指南文档的社区一键分享入口。

性能与系统集成优化

本版本在性能与底层集成上有多处"看不见但影响大"的优化:

  • 修复 Linux 端version GLIBC_x.xx not found:部分 Linux 发行版因系统 glibc 版本过旧,启动内核时会出现GLIBC_xx not found错误导致无法运行;本版本对构建与运行方式进行了兼容性处理,降低了该报错的出现概率。
  • 自定义 Pandoc 路径后工作空间不再重复初始化内置 Pandoc:思源内核在检测到用户已在设置中指定了自定义 Pandoc 可执行文件时,不再重复解压/初始化自带的 Pandoc 运行时,缩短了启动路径、避免资源浪费。仓库 app/pandoc 目录中维护了各平台的 Pandoc 内置包(pandoc-linux-amd64.zippandoc-windows-amd64.zip等),相关初始化与调用逻辑位于 kernel/model/pandoc.go。
  • 优化获取云端快照性能:拉取云端历史快照列表的接口与数据结构得到优化,大快照量下加载更快。
  • 改进插件加载性能:为迎接插件系统正式发布,插件扫描与加载路径做了性能优化,降低插件数量增多时的启动开销。
  • 粘贴 PDF 标注引用时移除非法字符:从 PDF 标注复制引用粘贴到文档时,会自动清理其中的非法字符,避免脏数据进入文档与数据库。

文档完善:订阅过期说明与架构设计章节

本版本还包含两处面向阅读者的文档工作:

  • 用户指南中补充订阅过期后云端存储删除的详细说明:向用户明确订阅过期后云端数据被删除的规则与时间线,避免数据预期不符带来的损失。思源的内置用户指南存放于 app/guide 目录(以.sy文档树组织)。
  • 在项目自述文件中添加架构设计章节:仓库根目录 README.md(以及 README.zh-CN.md 等语言版本)新增架构设计说明,从整体上介绍内核(kernel)、前端(app)、数据存储等模块的关系,为后续阅读源码与参与开发提供地图。

插件系统发布前奏:面向开发者的变更全景

v2.8.10 的"开发者"分类是整个变更记录中技术含量最高的部分,几乎全部指向 v2.9.0 插件系统的正式发布。理解这些变更,等于提前掌握了思源插件开发的骨架。

集市包配置项调整:minAppVersion、移除i18n、新增backends/frontends

集市包(插件、主题、模板等)的plugin.json/theme.json元数据 schema 在本版本发生三处关键变化:

  1. 新增配置项minAppVersion:声明该包可运行所需的最低思源版本。内核在 installed.go 中通过isBelowRequiredAppVersion校验——当包未声明minAppVersion时视为允许安装(返回false);当声明的版本号大于当前内核版本(util.Ver)时返回true表示不允许安装。判定使用语义化版本比较semver.Compare("v"+pkg.MinAppVersion, "v"+util.Ver),避免简单的字符串比较导致v2.9.0被误判小于v2.8.10这类问题。该校验在 installed.go 与 bazaar.go 等多个安装/升级路径中被调用,用于给包标记disallowInstall(禁止安装)与updateRequiredMinAppVer(升级目标要求的最低应用版本)等状态。
  2. 删除配置项i18n:包元数据中旧的i18n字段被移除,多语言文案统一收敛到displayNamedescriptionreadme这类LocaleStrings结构中(见 package.go 的注释说明),从包元数据结构上完成了多语言能力的规范化。
  3. 新增配置项backendsfrontends:用于声明插件支持的运行环境。内核在 plugin.go 的IsIncompatiblePlugin中进行兼容性判断:先检查backends是否包含当前后端(桌面端为runtime.GOOS,如windows/darwin/linux,移动端等容器环境下为容器标识,见 plugin.go 的GetCurrentBackend),再检查frontends是否包含当前前端标识。字段缺失时IsTargetSupported直接视为兼容(等价于"all",见 plugin.go)。该机制使得"仅支持桌面端"或"仅支持移动端"的插件可以被正确识别并标记为不兼容。

同时,package.go 中Package结构的 JSON 序列化字段(AuthorURLVersionMinAppVersionDisabledInPublishKernelsBackendsFrontendsDisplayNameDescriptionReadmeFundingKeywords等)反映了集市包描述的全部元数据面,开发者编写包描述文件时可直接对照。

事件总线:click-editortitleiconopen-noneditableblock

前端事件总线eventBus新增了两个标准事件,插件可借此感知编辑器状态变化:

  • click-editortitleicon:点击编辑器"文档标题图标"区域时触发。该事件在前端 openTitleMenu.ts 中作为标题菜单弹出的前置事件被派发(type: "click-editortitleicon"),插件监听后可注入自己的标题级操作。
  • open-noneditableblock:打开不可编辑块(非编辑态内容)时触发,前端在 toolbar/index.ts 通过item.eventBus.emit("open-noneditableblock", ...)派发。需要说明的是,事件名在后续 v3.x 中还经历过字段扩充(见 v3.1.11 变更记录 中关于renderElementblockElement的补充),本版本属于该事件的首次引入。

两个事件均登记在前端事件类型定义 index.d.ts 中,与click-blockiconclick-editorcontentopen-noneditableblock等既有事件并列,插件开发者可以像使用内置事件一样通过eventBus.on订阅。

插件 API 增强:addTabaddDockMenu与交互修复

面向界面扩展的插件 API 在本版本集中打磨:

  • addTab增加Tab上下文addTab回调中可获得当前页签上下文,便于插件根据激活的文档/页签做差异化渲染;同时修复了当页签不激活时不调用addTab.init的问题——此前插件在后台页签中可能无法完成初始化,本版本保证页签被创建(即使未立即激活)时初始化逻辑也会执行。
  • 修复若干插件 APIaddDock的缺陷,并让addDock支持序号与显示选项:插件可以控制停靠栏(Dock)入口的排列顺序与显隐行为,实现更可控的侧栏布局。
  • Menu.addItem支持直接传入 DOM 元素:此前菜单项只能接受字符串或预设类型,本版本允许插件把任意 DOM 元素作为菜单项内容,为富文本菜单项(图标 + 描述、自定义控件等)提供了可能。
  • 自定义块标菜单移到二级菜单中:为给插件菜单腾出主菜单空间,原生"自定义块标"类操作被收纳进二级菜单,整体菜单层级更清爽。
  • 改进插件系统设置交互:设置中插件管理界面的启用/停用、配置入口等交互细节得到完善,为 v2.9.0 面向普通用户的插件管理体验做铺垫。

小结:该版本对三类用户的含义

综合来看,v2.8.10 的价值可以按受众划分为三层:

  • 对 Windows 7/8 用户:这是可安全停留的最终版本,升级 Windows 前请以此为基线备份数据;
  • 对普通用户:享受了表格固定表头、字号快速缩放、忽略大小写排序、更流畅的云端快照与粘贴体验等一批"日常高频"改进;
  • 对插件开发者minAppVersionbackends/frontendseventBus新事件与addTab/addDock/Menu等 API 变更共同勾勒出 v2.9.0 插件系统的正式形态——包配置 schema 更规范、兼容性判定更严谨、界面扩展能力更完整。结合 kernel/bazaar 目录下的包解析、兼容性与安装校验实现,开发者可以在 v2.9.0 到来前提前适配插件描述文件与 API 用法,为思源笔记的第一批插件生态做好准备。

【免费下载链接】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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询