思源笔记 v2.10.7 版本深度解析:数据库公测开启,编辑器、鉴权与导出能力全面打磨

发布时间:2026/9/10 3:36:59
思源笔记 v2.10.7 版本深度解析:数据库公测开启,编辑器、鉴权与导出能力全面打磨 思源笔记 v2.10.7 版本深度解析数据库公测开启编辑器、鉴权与导出能力全面打磨【免费下载链接】siyuanAn open-source, privacy-first, self-hosted knowledge workspace where humans and AI agents work together 开源、隐私优先、自托管的知识工作空间让人与智能体在此协作项目地址: https://gitcode.com/GitHub_Trending/si/siyuan本篇文章以思源笔记SiYuanv2.10.7 官方变更记录为主线逐项解析该版本在编辑体验、搜索替换、导出预览、数据同步、移动端与 Web 鉴权等方面的 13 项改进、9 项缺陷修复与 5 项开发者变更并结合仓库源码kernel/server/serve.go、kernel/model/session.go、kernel/model/search.go等说明其底层实现逻辑。读完本文你将完整掌握 v2.10.7 的功能变化脉络、关键修复背后的技术原因以及数据库公测在此版本中的开启方式与后续演进方向。版本概述与升级建议v2.10.7 是一个缺陷修复版本官方建议用户升级。该版本的核心意义有两点修复了一批影响日常使用的问题包括 Android 14 上的闪退、列表项 ShiftTab 异常、禁用全部插件后集市区失效、代码块行号错位等正式开启数据库特性公测从此版本开始付费用户可以优先参与数据库特性的公测对应 GitHub issue #9242。这是思源笔记后续属性视图 / 数据库体系大规模落地前的一个重要里程碑。补充说明官方在该版本同时宣传了功能特性PRO Features的早鸟价阶段并注明年付订阅会员已包含功能特性无需单独购买。该信息属于当时的商业运营内容与功能演进本身无直接关系。改进功能详解v2.10.7 共包含 13 项改进可归纳为文档树与编辑体验表格与公式搜索替换导出预览Pad 与同步Web 鉴权六类。1. 文档树与编辑体验改进项说明创建笔记本后自动刷新排序#9213新建笔记本后文档树立即按当前排序规则刷新无需手动操作即可看到笔记本出现在正确位置改进列表项下包含多块时的传统缩进表现#9226修复列表项包含多个块如引用块、代码块时传统缩进样式下的层级展示问题改进分隔线编辑#9259优化分隔线---在编辑器中的选中与编辑交互2. 表格内|与行级公式 / 行级代码表格单元格在 Markdown 中使用|作为列分隔符因此当单元格内出现行级公式行内数学或行级代码且其内容本身包含|时容易导致解析与渲染错位。v2.10.7 分别针对两种场景做了专项改进表格中包含|时行级公式的处理#9227表格中包含|时行级代码的处理#9252。这类问题通常发生在编辑器底层基于 AST抽象语法树的 Protyle 渲染层需要区分作为表格分隔符的|与公式/代码内联内容中的|本版本对这两类内联节点在表格上下文中的解析进行了修正。3. 搜索替换不再剔除关键字首尾空格此前的搜索替换逻辑会先对关键字keyword做首尾空格剔除trim导致用户输入带空格的精确短语时无法命中或替换结果与预期不一致。v2.10.7 起不再剔除关键字首尾空格#9229允许关键字包含前导/尾部空格进行精确匹配。从当前仓库源码看搜索替换的替换环节位于 kernel/model/search.go其NodeLinkDest等节点的替换调用replaceNodeTokens(n, method, keyword, strings.TrimSpace(replacement), r)即关键字按用户输入原样参与匹配而替换文本仍做规范化处理后续 kernel/sql/block.go 中还有专门针对搜索替换与空格的进一步改进注释#10231说明该方向在后续版本仍在持续演进。4. 导出 PDF 长表格分页策略当文档中包含非常长的表格时导出 PDF 的跨页分页容易出现表头错位、行被拦腰切断等问题。v2.10.7 通过 PR #9234 改进了长表格的分页策略使长表格在跨页时保持更合理的行切分与表头重复展示提升导出文档的可读性。5. 导出预览F5 刷新 载入动画 自动刷新围绕导出预览模式v2.10.7 提供了三项体验改进导出预览模式下支持F5快捷键刷新#9235在预览页直接按F5即可重新载入预览内容为预览模式添加载入动画#9247预览内容加载期间显示加载动画避免空白等待预览模式自动刷新#9247相关内容变更后预览自动刷新无需手动操作。这三项改进让导出预览成为接近所见即所得的实时预览环境配合导出前的快速校对非常实用。6. Pad 端退出应用时保存布局修复了 Pad平板端通过正常路径退出应用时工作区布局打开的页签、面板位置等未保存的问题#9244。此前 Pad 端退出可能导致下次启动时布局回退本版本确保退出前将布局持久化与桌面端行为保持一致。7. 数据同步网络连通性检查改进数据同步前的网络连通性检查#9251。从 kernel/model/sync.go 的formatRepoErrorMsg可以看出同步失败会被细分为多种可识别错误类型例如cloud.ErrCloudAuthFailed云同步鉴权失败cloud.ErrCloudObjectNotFound云端对象不存在dejavu.ErrCloudLocked云端锁冲突cloud.ErrSystemTimeIncorrect系统时间不正确cloud.ErrCloudServiceUnavailable/cloud.ErrCloudTooManyRequests服务不可用 / 限流v2.10.7 改进的是同步开始前对网络连通性的检测在网络不通或服务不可达时尽早给出明确提示而不是在超时后才报错从而减少用户在同步卡住状态下的困惑。8. 浏览器端非127.0.0.1访问时的鉴权失败提示思源笔记默认只允许本机访问当通过浏览器以非127.0.0.1地址如局域网 IP、自定义域名访问且未设置锁屏密码时会因安全策略拒绝请求。此前这类场景的报错提示不够直观v2.10.7 将其改为明确的鉴权失败提示#9224引导用户先设置锁屏密码。该逻辑的源码位于 kernel/model/session.go当Conf.AccessAuthCode锁屏密码为空时中间件会综合校验clientIP、Host、Origin、X-Forwarded-Host是否为本地地址只要任一来源指向非本机就返回 HTTP 401 并携带中文/英文双语提示Auth failed: for security reasons, please set [Lock screen password] when using non-127.0.0.1 access/为安全起见使用非 127.0.0.1 访问时请设置 [锁屏密码]前端侧app/src/util/fetch.ts 中也有对应的处理收到鉴权失败响应后直接刷新页面避免用户在未授权状态下继续操作。缺陷修复详解v2.10.7 共修复 9 个缺陷覆盖移动端稳定性、列表编辑、插件体系、搜索分页、闪卡、嵌入块与代码块渲染。缺陷影响场景Android 14 上闪退#9212修复了 Android 14 系统下的应用崩溃问题属于移动端兼容性关键修复列表项 ShiftTab 异常#9237列表项中按ShiftTab进行取消缩进/提升层级时行为异常禁用所有插件后其他集市区不工作#9238插件市场中所有插件被禁用后主题、图标等其他集市区无法正常加载使用任务列表中嵌套列表后粘贴数据不完整#9239在任务列表- [ ]内嵌套列表再粘贴内容时粘贴结果缺失部分块搜索界面连续快速点击分页按钮后出现负数#9243快速连点分页按钮导致页码计数器溢出为负数的边界问题闪卡页签无法拖拽#9250闪卡页签在页签栏中无法被拖拽调整位置从嵌入块打开文档后不应显示退出聚焦#9254从嵌入块Embed Block跳转打开文档后错误地出现退出聚焦入口Ctrl滚轮调整字号后代码块行号错位#9260使用Ctrl滚轮缩放字号后代码块行号与代码行错位调整外观-字号后代码块行号错位#9267通过设置 - 外观 - 字号调整全局字号后代码块行号同样错位其中两个代码块行号错位问题#9260、#9267都与动态调整字号后代码块行号容器未同步重排相关一个来自快捷键缩放路径一个来自外观设置路径本版本对两条路径下的行号重排逻辑做了统一修复。开发者相关变更v2.10.7 同时包含 5 项面向开发者 / 插件作者的功能变更属性视图添加资源类型列#8895属性视图Attribute View即数据库的前身新增asset资源类型列可在表格/看板等视图中展示文档内的资源图片、附件等。数据库插入块时增加动画#9092向数据库插入块时增加过渡动画提升交互反馈。改进文档块标菜单中的插件菜单项位置#9225PR调整文档标题图标菜单中插件菜单项的排列顺序使其更符合使用习惯。数据库公测#9242v2.10.7 起数据库特性进入公测付费用户优先参与。为 OPTIONS 请求添加Access-Control-Max-Age标头#9257PR优化跨域预检CORS preflight的性能。CORS 预检缓存Access-Control-Max-Age的实现第 5 项变更值得展开说明。思源内核基于 Gin 框架实现了统一的 CORS 中间件位于 kernel/server/serve.go 的corsMiddleware()统一设置Access-Control-Allow-Origin: *、Access-Control-Allow-Credentials: true、Access-Control-Allow-Headers等基础标头对/webdav、/caldav、/carddav分别使用各自的方法集合其他路径使用通用方法集合并在收到OPTIONS预检请求时新增Access-Control-Max-Age: 600标头后以204 No Content直接结束请求。Access-Control-Max-Age: 600意味着浏览器对相同跨域预检请求的结果可缓存 600 秒10 分钟在这段时间内再次发起跨域请求时将跳过 OPTIONS 预检直接发送实际请求。对于频繁调用内核 API 的浏览器端插件或自定义前端应用可显著减少无效的网络往返降低请求延迟。数据库公测与属性视图演进数据库是思源笔记基于属性视图演进的核心数据管理能力。从仓库源码结构看数据库 / 属性视图的内核实现集中在 kernel/av 目录包含av.go基础类型与操作、calc.go/calc_template.go计算与模板、filter.go/group.go/sort.go筛选、分组、排序、layout.go及layout_table.go、layout_kanban.go、layout_gallery.go表格、看板、画廊等视图布局等文件SQL 层面的查询实现在 kernel/sql/av.go 以及av_table.go、av_kanban.go、av_gallery.go等文件中。v2.10.7 的资源类型列#8895与插入块动画#9092即是在该体系之上新增的能力为其后续成长为完整的数据库功能奠定基础。升级与验证建议升级路径v2.10.7 为缺陷修复版本官方建议直接升级。升级后建议重点验证Android 14 设备启动是否正常、代码块行号在缩放/改字号后是否对齐、列表嵌套粘贴是否完整、搜索替换带空格的短语是否按预期命中。数据库公测付费用户可在该版本起参与数据库特性公测体验属性视图 / 数据库能力非付费用户可关注后续版本的公测开放节奏。浏览器远程访问如需通过非127.0.0.1地址访问思源笔记务必先在设置中配置锁屏密码否则将按 kernel/model/session.go 中的安全策略被拒绝访问。插件 / 自定义前端若你的插件或自定义前端与内核 API 存在跨域调用本版本新增的Access-Control-Max-Age会加快预检流程若在/webdav、/caldav、/carddav路径下使用注意这些路径走的是各自独立的方法集合。总结v2.10.7 是思源笔记在缺陷修复 数据库公测双线推进下的一个重要版本一方面通过 13 项改进与 9 项修复提升了编辑器表格、列表、分隔线、代码块行号、搜索替换、导出预览、Pad 布局与数据同步的稳定性与体验另一方面正式开启数据库公测并通过属性视图资源列、插入动画、CORS 预检缓存等变更为后续的数据库能力爆发做好了铺垫。对于关注思源笔记演进或需要排查上述问题的用户本版本的变更记录具有直接的参考价值。【免费下载链接】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),仅供参考