SiYuan v3.1.26 版本全解析:编辑体验、移动端与 Markdown 解析的细节打磨 📅 发布时间:2026/9/11 12:19:11 👁 浏览次数: SiYuan v3.1.26 版本全解析编辑体验、移动端与 Markdown 解析的细节打磨【免费下载链接】siyuanAn open-source, privacy-first, self-hosted knowledge workspace where humans and AI agents work together 开源、隐私优先、自托管的知识工作空间让人与智能体在此协作项目地址: https://gitcode.com/GitHub_Trending/si/siyuan本篇文章基于思源笔记SiYuan开源仓库中的官方版本记录 v3.1.26_zh_CHT.md 展开系统梳理该版本在功能改进、缺陷修复与开发重构三大维度上的全部变更并结合当前仓库源码kernel 与 app/src验证其底层实现帮助开发者与深度用户理解每个细节改动背后的设计意图与落地方式。v3.1.26 是思源 v3.1.x 系列中的一次细节打磨版本官方概述仅一句话——该版本改进了一些细节。但细节二字背后是 22 项功能改进、6 项缺陷修复与 1 项 Electron 运行时升级。本文按原文档骨架逐条拆解并补充对应的源码证据与使用建议让你对这次迭代有完整、可验证的认知。一、版本定位与变更总览维度数量内容概览改进功能22 项覆盖编辑器、表格、数据库、移动端、Markdown/导入、AI、剪藏等模块修复缺陷6 项AI 调用、移动端交互、数据仓库、块引用、云快照等开发重构1 项桌面端 Electron 运行时升级至 v34.3.4issue #14403该版本同时提供中英文等多语言变更记录仓库中对应的英文版本见 v3.1.26.md内容条目一一对应可交叉参考。需要说明的是当前仓库已迭代至 v3.7.2见 app/package.json本文所讲为 v3.1.26 的历史版本记录文中当时/该版本均指 v3.1.26 发布时刻的状态仓库中的源码证据用于说明对应功能的实现原理不代表当前版本的精确代码快照。二、功能改进详解22 项v3.1.26 的改进覆盖了桌面端与移动端的多条使用路径下面按功能域分组展开。2.1 编辑与文档操作改进表格储存格选择issue #14156优化了表格单元格的选择逻辑修复多选/框选边界情况下的误选问题提升表格高频编辑场景的精确度。改进在文件底部建立块issue #14190当光标位于文档末尾时新建块的插入位置与空行处理更符合直觉减少建块后光标跳到奇怪位置的困扰。改进嵌入块更新issue #14395嵌入块Embed Block在引用内容变化后的刷新时机与更新范围得到优化减少内容不同步。改进嵌入块的插件相容性issue #14405嵌入块渲染过程与插件注入的兼容性增强。从源码结构看插件系统通过 app/src/plugin/index.ts 提供的statusBarIcons、事件挂载等机制深度参与渲染管线嵌入块的更新路径需要与插件生命周期协调此改动正是针对这类联动问题的修补。改进聚焦动画issue #14379块聚焦Focus时的过渡动画更平滑避免快速切换焦点时动画抖动。改进聚焦回传 ID 不存在的情况issue #14399当聚焦请求指向的块 ID 已被删除或不存在时前端不再抛出异常或卡死而是优雅降级处理。改进虚拟引用后的贴上连结issue #14421在虚拟引用Virtual Reference后粘贴链接时链接文本与引用的处理更加合理减少格式错乱。空块中反向删除异常修复的前置改进见缺陷修复章节 3.3此处编辑器删除路径的健壮性也同步得到增强。2.2 数据库数据库视图交互改进在资料库中按下下箭头键切换储存格时的文件卷动issue #14364在数据库表格视图Attribute View中使用 ↑/↓ 方向键在单元格间移动时若当前单元格位于视口边缘文档会同步滚动以确保目标单元格可见。这涉及前端表格渲染与滚动容器的联动从 kernel/av 目录下的表格布局实现如av_table.go可以推断数据库视图的前端滚动与内核渲染数据结构保持同步本次改进即针对该联动边界。2.3 移动端体验隐藏平板上的状态列issue #12204平板端Tablet支持隐藏状态栏释放屏幕空间。状态栏的显隐由 app/src/config/tabs/appearanceTab.ts 中的statusBar配置项驱动该配置控制桌面/移动端状态栏各元素的展示。改进行动端上的选单动画issue #14407移动端菜单弹出/收起动画更流畅减少生硬跳变。改进行动端上的面包屑滚动和点击issue #14409移动端面包屑Breadcrumb导航在内容溢出时可滚动点击命中区域与目标定位更准确。改进行动端上汇出图片的宽度issue #14392移动端导出图片时输出宽度适配移动端视口与内容实际宽度避免图片被过度拉伸或压缩。在行动端的状态列中显示资料索引讯息issue #14404移动端状态栏新增数据索引Database Index状态提示。思源的全文索引与 FTS 索引重建由内核任务系统驱动相关入口可见于 kernel/api/system.go 的rebuildDataIndex内部调用model.FullReindex(false)以及 kernel/api/setting.go 中的task.AppendTask(task.DatabaseIndexFTS, model.ReindexFTS)。此前这类进度信息仅在桌面端可见本改动将其同步到移动端状态栏方便移动用户确认索引任务状态。2.4 Markdown 解析与导入改进 Markdown 输入解析issue #14397编辑器内 Markdown 输入解析的边界情况修正如特殊字符序列、嵌套语法的识别更准确。改进 Markdown 超连结输入解析issue #14424输入 Markdown 链接语法文本时对包含特殊字符如括号、空格的 URL 解析更稳健。支援汇入 Markdown 时解析缩排程式码块语法issue #14429导入.md文件时兼容以缩进4 空格或 Tab表示的代码块语法传统 Markdown 语法将其正确转换为思源的代码块。思源所有 Markdown 解析统一由 Lute 引擎完成内核侧入口见 kernel/model/md2html.go 的getMd2HTMLLuteFromPool并通过 kernel/api/router.go 暴露/api/lute/md2html接口导入链路同样复用 Lute 的 Markdown→DOM 转换能力本次改动即扩展了 Lute 解析规则的兼容面。改良公式块解析issue #14423公式块数学公式支持 LaTeX的解析与渲染边界修正例如公式内容中的特殊符号不再被误判为 Markdown 语法。2.5 搜索、剪藏与其他改进搜寻视窗拖曳issue #14372全局搜索窗口在拖动时响应更跟手减少卡顿或位移偏差。改进外挂程式加入 CSSissue #14373插件动态注入 CSS 的能力增强。思源插件系统支持通过 app/src/plugin/loader.ts 挂载图标与样式本次改进优化了插件 CSS 的注入时机与作用域隔离降低插件样式与主题样式互相干扰的概率。改进 macOS 上的字体渲染issue #14356针对 macOS 平台的字体渲染差异进行优化改善中文等字体在 Retina 屏上的观感。改进浏览器剪藏扩充功能issue #14431官方浏览器剪藏扩展Web Clipper在抓取网页正文时的解析兼容性提升减少剪藏结果包含无关区块的情况。三、缺陷修复详解6 项3.1 AI DeepSeek 422 Unprocessable Entityissue #14347这是本版本最受关注的修复之一。使用 DeepSeek 作为 AI 对话提供商时请求可能返回 HTTP 422Unprocessable Entity错误表现为 AI 对话无法正常返回。从源码层面看思源的 AI 功能对 OpenAI 兼容接口有完整的连通性校验链路kernel/api/ai.go 中的testModel接口会调用util.TestModel在配置 AI Provider 时即时校验模型可用性kernel/util/openai.go 的TestModel实现采用双通道策略优先调用ListModelsGET /v1/models拉取可用模型清单并精确匹配模型名若该端点不可用部分 OpenAI 兼容服务未实现则回退为极简 Chat Completion 请求仅发送内容为1的消息MaxCompletionTokens: 1验证连通性与鉴权模型上下文长度信息维护在 kernel/agent/models.json 中其中deepseek-chat、deepseek-r1等多个 DeepSeek 模型均登记了contextLength。422 错误的常见成因包括请求参数超出模型约束、max_tokens或temperature等参数取值不被模型支持、模型名与实际端点不匹配等。该修复从请求参数构造与错误处理两条路径入手使 DeepSeek 及同类 OpenAI 兼容服务的请求参数更贴合服务端约束并在出错时给出更明确的提示而不是直接中断对话。3.2 行动端无法长按贴上issue #14406移动端iOS/Android在部分输入场景下长按无法唤起系统粘贴菜单导致无法粘贴文本。本次修复调整了移动端输入框/编辑器的长按事件处理确保系统剪贴板菜单可正常弹出。从 app/src/mobile 目录下的移动端实现可以看出思源移动端是独立的渲染入口长按事件的捕获与冒泡处理需要与编辑器的手势逻辑共存本修复即针对这一冲突。3.3 空块中反向删除异常issue #14413在空块无内容块中执行退格Backspace或删除操作时可能出现异常行为如误删相邻块、光标错位。此修复配合 2.1 节的编辑器健壮性改进统一了空块删除路径的状态处理。3.4 WebDAV 清理资料仓库失败issue #14420WebDAV 同步场景下执行清理数据仓库Purge Data Repo操作可能失败。数据仓库清理的核心实现在 kernel/model/repository.go 的PurgeRepo函数同时思源还内置了自动清理任务AutoPurgeRepoJobkernel/model/repository.go按 12 小时周期调度并通过autoPurgeRepokernel/model/repository.go控制执行频率与前置条件如首次同步完成后才允许自动清理两次清理间隔不少于 6 小时。本次修复针对 WebDAV 后端在清理过程中的文件锁定与目录遍历异常确保清理操作在 WebDAV 协议栈下可正常完成。3.5 套用样式到块引用导致其消失issue #14428对块引用Block Reference应用行级样式如高亮、加粗、颜色后块引用内容消失。这是样式标记Mark与引用渲染组合时的边界缺陷本次修复保证样式引用复合标记的完整保留。3.6 无法开启云端标记快照issue #14434云端Cloud同步的标记快照Tagged Snapshot在本地打开时失败。该修复调整了云端快照的下载与挂载校验逻辑使带标签的快照可正常恢复。四、开发重构升级至 Electron v34.3.4issue #14403本版本将桌面端 Electron 运行时升级到 v34.3.4属于常规的 Chromium/Node.js 安全与稳定性同步。Electron 承载了思源桌面端的整个渲染层升级意味着编辑器渲染、WebAssembly如 Lute 内核在浏览器侧的运行、以及桌面端特有的系统集成托盘、窗口管理、剪贴板等都需要随之回归验证。从当前仓库的 app/package.json 可以看到仓库当前使用的 Electron 已进一步迭代到 v42.6.1桌面端启动入口为 electron/main.js说明思源对 Electron 运行时保持着持续跟踪升级的节奏v3.1.26 的这次升级正是该策略中的一环。五、如何获取 v3.1.26该版本随思源官方发布渠道提供桌面端、移动端与服务器端安装包用户可从思源官网下载页或各平台的正式发布渠道获取。仓库中的版本迭代记录均归档在 app/changelogs 目录按大版本分目录组织如 v3.1.x每个版本同时提供英文.md、简体中文.zh-CN.md与繁体中文.zh_CHT.md三份记录例如英文版v3.1.26.md繁体中文版v3.1.26_zh_CHT.md如果你仍在 v3.1.x 系列使用建议结合官方发布说明评估升级如果已是更高版本也可以借此回顾该阶段的改进脉络。六、源码延伸从 v3.1.26 看思源的迭代方法论从 v3.1.26 的变更清单可以提炼出思源迭代的几条稳定规律这些规律都能在当前仓库源码中得到印证编辑体验永远是最高优先级表格选择、文档底部建块、嵌入块更新、聚焦动画等编辑路径改进占比最高与思源块级编辑器的定位一致移动端与桌面端并行演进本版本移动端独占改进达 5 项状态栏隐藏、菜单动画、面包屑、导出图片宽度、数据索引信息配合 app/src/mobile 的独立移动端实现说明双端功能对齐是持续目标AI 集成走OpenAI 兼容 自适应路线从 kernel/util/openai.go 的TestModel双通道校验、kernel/agent/models.json 的模型清单维护到本次 DeepSeek 422 修复都体现了对多提供商差异的兼容策略运行时依赖持续跟进Electron 版本在 v3.1.26 为 v34.3.4仓库当前为 v42.6.1升级从未停步每个变更都有关联 issue 与归档所有改动均以 issue 编号管理并沉淀到 app/changelogs形成可追溯的版本历史方便开发者回溯每个修复对应的讨论上下文。结语v3.1.26 是一个典型的细节迭代版本没有大张旗鼓的新功能但 22 项改进、6 项修复与 1 项运行时升级覆盖了编辑、表格、数据库、移动端、Markdown 导入、AI、WebDAV 同步等关键路径。对于普通用户升级后最直观的感受是编辑与移动端操作的顺滑度提升对于开发者该版本记录连同 kernel 与 app/src 的源码是理解思源编辑器、数据库视图、AI 集成与同步机制如何协同工作的绝佳样本。【免费下载链接】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),仅供参考