资讯动态

思源笔记 v3.1.26 版本详解:编辑器、移动端与 AI 细节改进全解析

发布时间:2026/9/11 19:31:43 来源:尧图企业网站定制
思源笔记 v3.1.26 版本详解编辑器、移动端与 AI 细节改进全解析【免费下载链接】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 版本变更记录 撰写。v3.1.26 是一个典型的细节打磨版本包含 22 项改进功能、6 项缺陷修复和 1 项开发重构重点覆盖桌面编辑器交互、移动端体验、Markdown 解析、嵌入块与插件兼容性以及 AIDeepSeek集成稳定性。阅读本文后你将全面掌握该版本的所有变更点、这些改进背后的源码实现逻辑以及它们在思源笔记日常使用与二次开发中的实际意义。版本定位一次系统性的细节打磨v3.1.26 是思源笔记 v3.1.x 系列的一个稳定性与体验优化版本。与引入重大新功能的版本不同本次更新的核心目标是改进一些细节原文 Overview 即如此概括涉及面横跨桌面端编辑器表格单元格选择、文档底部建块、聚焦动画、字体渲染等移动端与平板状态栏隐藏、长按粘贴、菜单动画、面包屑导航、导出图片宽度等核心解析能力Markdown 输入解析、公式块解析、超链接解析、缩进代码块导入数据与同步嵌入块更新、WebDAV 数据仓库清理、云端标记快照AI 集成DeepSeek 422 错误修复、AI 对话中的消息处理底层重构Electron 升级至 v34.3.4。从工程视角看这类版本通常承载两类职责一是修正此前版本暴露的回归与边界问题二是为后续功能铺平底层兼容性道路。下文将按改进功能 → 缺陷修复 → 开发重构的顺序逐一展开并在关键条目上结合仓库源码说明其实现位置与原理。改进功能详解Enhancement本版本共 22 项改进可归纳为桌面编辑体验、解析与导入、嵌入与插件、移动端体验四大类。桌面端编辑体验改进隐藏平板上的状态栏issue #12204平板设备屏幕空间有限隐藏状态栏可以为编辑区让出更多可视区域。从源码结构看思源的状态栏相关逻辑位于 app/src/layout 目录下桌面端与移动端分别维护各自的布局组件。此项改动属于布局层的响应式调整不影响桌面端的正常显示。改进表格单元格选择issue #14156表格是思源笔记块级元素中使用频率最高的组件之一。此前在跨单元格选择时可能出现选区错位或无法连续选中的问题。本次改进优化了单元格选区的计算逻辑使得框选、连续选择与复制操作的命中范围更准确。表格编辑相关实现可在 app/src/protyle/table 目录中查看。改进在文档底部创建块issue #14190当光标位于文档末尾时快速创建新块是高频操作。此前在特定场景如末尾是列表项或引用块下新建块可能插入位置不理想。本次改进优化了文档底部新建块时的块定位逻辑确保新块能正确落在文档末尾。块创建的核心逻辑位于 kernel/treenode 目录如 node.go。改进 macOS 上的字体渲染issue #14356思源笔记内置了 JetBrainsMono-2.304、LxgwWenKai-Lite-1.501 与 Noto-COLRv1-2.047 三套字体分别覆盖等宽代码、中文手写与彩色表情符号场景。本项改进针对 macOS 上部分字体尤其是中文字体与等宽字体混排时笔画渲染发虚的问题进行了调整改善编辑区的文字观感。字体相关工具逻辑见 kernel/util/font.go。改进在数据库中按上下箭头键切换单元格时的文档滚动issue #14364思源笔记的数据库属性视图允许用户用方向键在单元格间移动但当数据库嵌入在长文档中时切换单元格可能导致视口跳动或目标行被滚出屏幕。本次改进让数据库单元格切换与文档滚动协同工作保证当前单元格始终处于可视区域内。数据库的前端渲染逻辑位于 app/src/protyle/av 目录后端实现见 kernel/av。改进搜索窗口拖动issue #14372全局搜索弹窗CtrlP支持拖动定位此前在拖动过程中可能出现窗口位移异常或闪烁。本次改进优化了拖动事件的处理时序。搜索功能的前端入口位于 app/src/search后端检索实现在 kernel/search/find.go。改进聚焦动画issue #14379思源在块聚焦点击块左侧圆点图标时会播放高亮动画以指示当前聚焦块。本次改进对动画的触发时机与视觉平滑度进行了调优避免在连续聚焦时动画卡顿或闪烁。改进聚焦返回 ID 不存在的情况issue #14399聚焦返回从子文档返回聚焦文档依赖文档/块 ID 定位目标。当目标 ID 已被删除或不存在时此前可能无响应或报错。本次改进增加了对失效 ID 的容错处理聚焦返回不再因 ID 失效而中断。文档树相关逻辑可参见 kernel/model/tree.go。改进虚拟引用后的粘贴链接issue #14421虚拟引用是思源基于文本匹配生成的伪引用[[ 文本 ]]。此前在虚拟引用文本后直接粘贴链接时粘贴内容可能被误并入虚拟引用的解析范围。本次改进修正了粘贴锚点的定位逻辑确保虚拟引用后的粘贴内容作为独立文本插入。虚拟引用相关实现见 kernel/model/virutalref.go。Markdown 解析、公式与导入改进改进 Markdown 输入解析issue #14397思源笔记采用所见即所得WYSIWYG与 Markdown 混合编辑模式输入解析器负责将用户的键盘输入即时转换为块结构。本次改进覆盖了若干输入歧义场景的解析优先级例如行内标记与块级标记的边界判定。前端解析逻辑位于 app/src/protyle 目录下的编辑核心模块。改进 Markdown 超链接输入解析issue #14424Markdown 超链接语法文本的即时解析此前存在边界问题例如在输入过程中 URL 含空格、括号嵌套或链接文本本身含]时可能解析失败。本次改进完善了超链接语法的边界识别提升粘贴与手写链接的识别成功率。改进公式块解析issue #14423公式块块级 LaTeX$$...$$在跨行输入、包含特殊字符或紧邻其他块时可能解析异常。本次改进增强了公式块的解析健壮性减少将公式内容误判为普通文本或代码的情况。公式渲染基于思源内置的 MathJax 相关机制相关渲染资源位于 app/stage/protyle 目录。支持导入 Markdown 时解析缩进代码块语法issue #14429这是一项对 Markdown 生态兼容性的重要补充。传统 Markdown 规范如 CommonMark中缩进 4 个空格或 1 个 Tab 即可定义代码块此前思源导入 Markdown 时仅识别围栏代码块。本次改进使导入流程同样支持缩进代码块语法保证从 GitHub、Obsidian 等工具导出的文档能被完整还原。Markdown 导入管线见 kernel/model/import.go。改进浏览器剪藏扩展issue #14431浏览器剪藏扩展Clipper在抓取网页正文时可能残留多余标签或抓取不全本次改进优化了剪藏内容的清洗与映射规则。剪藏生成的 HTML 转换为思源块的流程由内核的 HTML 转换逻辑见 kernel/model/md2html.go 相关链路承接。嵌入块与插件兼容性改进改进嵌入块更新issue #14395嵌入块Embed Block引用另一文档/块的内容并实时同步。此前在源文档内容变化后嵌入块可能更新不及时或更新后滚动位置丢失。本次改进优化了嵌入块的刷新时机与内容 diff 逻辑降低重复内容闪烁。嵌入块相关实现见 kernel/model/embedding.go。改进嵌入块的插件兼容性issue #14405嵌入块与插件 API 的交互此前存在类型不匹配问题部分插件操作嵌入块内容时可能失效。本次改进统一了嵌入块在插件 API 层的数据结构提升插件生态的兼容性。插件 API 定义见 kernel/plugin 目录。改进插件添加 CSSissue #14373思源允许插件通过 API 向页面注入自定义 CSS 以定制主题样式。此前插件注入的样式可能因加载顺序问题被主题覆盖或无法动态更新。本次改进优化了插件样式注入的优先级与刷新机制保证插件定制样式能稳定生效。主题与样式管理相关逻辑见 kernel/model/theme.go 与 app/src/config 目录。移动端与平板体验改进改进移动端上导出图片的宽度issue #14392移动端导出文档为图片时此前导出宽度可能与屏幕宽度不一致导致图片内容被裁切或留白过多。本次改进使导出图片宽度与移动端视口正确对齐。在移动端的状态栏中显示数据索引消息issue #14404数据索引Index是思源维护块/文档数据库的后台任务。此前索引状态仅在桌面端状态栏可见移动端用户无法感知正在重建索引等进度信息。本次改进将索引消息同步到移动端状态栏便于用户判断搜索可用性。索引队列实现在 kernel/sql/index_queue.go。改进移动端上的菜单动画issue #14407移动端弹出菜单长按唤起的上下文菜单此前动画生硬或出现位移抖动本次改进优化了菜单的过渡动画效果。改进移动端上的面包屑滚动和点击issue #14409面包屑Breadcrumb用于展示当前文档的层级路径。此前移动端面包屑过长时无法顺畅滚动点击跳转命中率也偏低。本次改进扩大了移动端面包屑的点击热区并支持横向滚动。布局相关组件见 app/src/mobile 与 app/src/layout 目录。改进闪卡导入issue #14402闪卡Flashcard支持从外部间隔重复SRS格式导入。此前导入时卡片的正反面字段映射可能错乱本次改进修正了闪卡导入的字段解析与去重逻辑。闪卡管理相关实现见 kernel/model/flashcard.go。缺陷修复详解BugfixAI DeepSeek 422 Unprocessable Entityissue #14347这是本版本最受关注的缺陷修复之一。422 Unprocessable Entity是 HTTP 语义错误码表示请求体格式正确但内容语义无法被服务端处理。在使用 DeepSeek 系列模型时思源的 AI 对话可能因请求参数不符合 DeepSeek API 规范而触发 422。从仓库源码看思源的 AI 通道支持大量模型其中 DeepSeek 系列在 kernel/agent/models.json 中有完整登记包括模型标识上下文长度tokendeepseek-chat131072deepseek-chat-v3-0324163840deepseek-chat-v3.1163840deepseek-r1163840deepseek-r1-0528163840deepseek-r1-distill-llama-70b128000deepseek-v3.1-terminus163840deepseek-v3.2131072deepseek-v3.2-exp163840deepseek-v4-flash1048576deepseek-v4-pro1048576值得注意的是deepseek-r1等推理模型会在回复中携带推理内容reasoning content。在 kernel/agent/tokens.go 的注释中明确写着助手消息的推理内容deepseek-reasoner 等也计入对话消息——这正是 422 的常见诱因之一将推理模型输出的推理字段回传给不支持该字段的接口或把推理 token 计入发送上限都会导致请求被服务端拒绝。本次修复对 AI 请求的组装参数进行了规范化处理确保与 DeepSeek API 的兼容。AI 配置与请求构建逻辑参见 kernel/conf/ai.go 与 kernel/agent/session.go。排查建议如果你在自定义接入 DeepSeek 时仍遇到 422可从三方面检查——请求中的messages是否包含推理模型特有的字段、max_tokens是否超出模型上限、上下文总长度是否超过 models.json 中登记的contextLength。移动端无法长按粘贴issue #14406移动端文本输入依赖系统级长按唤起剪贴板菜单。此前部分 Android/iOS 版本下长按粘贴无响应本次改进修复了移动端剪贴板事件与编辑器的绑定问题。剪贴板相关实现见 kernel/util/clipboard.go 及对应的平台适配文件 clipboard_darwin.go、clipboard_windows.go。空块中反向删除异常issue #14413反向删除指按退格键Backspace删除光标左侧内容。当光标位于空块无任何内容的块内时退格应合并该块到上一块此前在嵌套列表、引用块等复杂结构下该操作可能异常如合并后结构错乱。本次修复修正了空块反向删除时的块合并逻辑相关块操作代码见 kernel/model/block.go 与 kernel/treenode 目录。WebDAV 清理数据仓库失败issue #14420思源支持通过 WebDAV 同步数据仓库Data Repo。此前清理purgeWebDAV 上的数据仓库时可能因文件句柄占用或锁冲突而失败本次修复完善了 WebDAV 清理流程的资源释放逻辑。数据仓库与同步相关实现见 kernel/model/repository.go、kernel/model/cloud_service.go 及 kernel/api/network.go。应用样式到块引用导致其消失issue #14428块引用Block Ref支持通过行内样式如高亮、加粗美化。此前对块引用应用样式后引用可能渲染消失或内容被清空本次修复了样式应用与引用解析的冲突。块引用的前端解析位于 app/src/protyle 目录下的引用相关模块。无法打开云端标记快照issue #14434云端快照Snapshot用于恢复历史版本。此前带标记Tag的云端快照可能无法打开本次修复了标记快照的加载与恢复流程。快照管理相关实现见 kernel/model/history.go 与 kernel/api/history.go。开发重构升级至 Electron v34.3.4issue #14403本版本将桌面端底层运行时从 Electron 升级到v34.3.4。这是一项影响面较大的基础设施重构主要收益包括Chromium 内核升级获得更现代的网络栈与渲染引擎改善 Web 组件如编辑器、对话框的渲染一致性安全修复跟随 Electron 与 Chromium 的漏洞修复节奏降低桌面端安全风险API 兼容性为后续功能开发提供更新的桌面 API 支持。从仓库构建配置看思源桌面端通过 app/electron-builder.yml 及各平台配置如 app/electron-builder-linux.yml、app/electron-builder-darwin.yml进行打包Electron 主进程入口为 app/electron/main.js。升级 Electron 版本属于桌面端重构不影响浏览器端Web与移动端App的使用方式但用户升级桌面端后应留意编辑器渲染与系统集成如通知、拖放的行为变化。值得注意的是当前仓库 app/package.json 的devDependencies中 Electron 版本已演进至42.6.1说明 v3.1.26 之后项目仍在持续推进 Electron 版本迭代v34.3.4 是当时版本链条中的一个稳定节点。版本对比与升级建议结合思源笔记 changelog 目录app/changelogs中 v3.1.x 系列的演进节奏可以看到v3.1.26 之前的多个版本如 v3.1.23v3.1.25持续在进行细节修复而 v3.1.26 在修复的同时引入了若干新能力缩进代码块导入、移动端状态栏索引提示属于小幅增强 稳定输出的版本特征。升级建议如果你在桌面端频繁使用表格、嵌入块或依赖插件注入自定义 CSS建议升级以获取相关改进与兼容性修复如果你使用 DeepSeek 作为 AI 写作助手且曾遇到 422 错误本版本必须升级如果你经常从其他 Markdown 工具导入文档缩进代码块支持能显著提升导入还原度移动端用户可重点关注长按粘贴、菜单动画与状态栏索引提示三项改进。下载方式与官方渠道一致可通过思源官网下载页或 GitHub Releases 获取对应平台的安装包详见 v3.1.26.md 的 Download 一节。小结v3.1.26 是思源笔记于细微处见真章的一个典型版本它没有宏大叙事却通过 22 项改进、6 项修复与 1 项底层升级逐一解决了编辑器交互、移动端体验、解析健壮性、插件生态与 AI 集成中的真实痛点。其中缩进代码块导入补全了 Markdown 兼容性拼图DeepSeek 422 修复扫清了热门 AI 模型的使用障碍Electron v34.3.4 升级则为桌面端奠定了更稳的底座。对于开发者而言本版本的源码改动也提供了很好的学习样本从 kernel/agent/tokens.go 中可以看到推理模型 token 统计的细节处理从 kernel/model/import.go 可以追踪导入管线的演进从 kernel/sql/index_queue.go 可以理解移动端索引消息的底层来源。如果你正在研究思源的编辑器与数据层架构v3.1.26 的变更清单是一份不错的索引式阅读地图。【免费下载链接】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),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价