news 2026/9/10 20:00:16

思源筆記 v2.10.7 版本深度解析:缺陷修復、資料庫公測與編輯體驗打磨

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
思源筆記 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

導讀

本篇基於思源筆記(SiYuan)開源倉庫中的 v2.10.7 版本更新記錄,系統梳理該版本在編輯器、匯出、搜尋、同步與開發者能力等方面的全部變更,並結合倉庫源碼(如 CORS 中間件、匯出預覽介面、資源類型定義等)還原各項改進的底層實現原理。讀完本文,你將完整掌握 v2.10.7 的升級收益、每個修復項的具體影響範圍,以及「資料庫(屬性視圖)公測」「匯出預覽自動刷新」等特性的實現脈絡。

一、版本概覽:一次值得升級的穩定性迭代

v2.10.7 是思源筆記 v2.10.x 系列中的一次例行修復版本。官方對該版本的定位非常明確:修復了一些缺陷,建議升級。這意味著該版本沒有引入破壞性變更,而是以「提升既有功能的穩定性與細節體驗」為核心目標,適合所有使用者平滑升級。

同時,該版本承載了一個重要的產品節點:從此版本開始,付費用戶可以優先參與「資料庫」特性的公測。資料庫(屬性視圖)是思源筆記基於區塊屬性建構的結構化資料管理能力,公測的開啟標誌著該特性從內部開發階段走向真實使用者驗證階段。

補充說明:官方公告中同步提及「功能特性」正處於早鳥價階段,且「年付訂閱」已包含「功能特性」,訂閱會員無需單獨購買。此為產品商業資訊,僅供參考,不影響本版本的技術內容。

二、改進功能:編輯、匯出、搜尋與同步的細節打磨

v2.10.7 共包含 13 項功能改進,主要集中在編輯器行為、匯出流程、搜尋體驗與資料同步四個面向。

2.1 編輯器體驗

改進項影響場景
建立筆記本後自動刷新排序解決新建筆記本後側邊欄排序不即時更新的問題,無需手動重整
改進清單項目下包含多塊時的傳統縮排表現優化傳統縮排模式下,清單項包含多個區塊時的縮排層級呈現
改進表格中包含\|時行級公式的處理修復表格單元格內含豎線字元時行級公式解析異常
改進表格中包含\|時行級程式碼的處理與上行對應,豎線字元不再干擾行級程式碼的渲染
改進分隔線編輯提升分隔線區塊的編輯操作體驗
使用固定標題時改進表格行插入在表格啟用固定標題列時,插入行的行為更符合預期

這些改進集中在區塊編輯器的細節行為上。從倉庫結構看,思源的編輯器核心位於 app/src/protyle 目錄,表格、公式、程式碼等行級元素的渲染與互動邏輯均在該目錄下實現,而縮排與清單的處理則涉及 kernel/treenode 目錄中的區塊樹操作。

2.2 匯出與預覽流程

改進項影響場景
改進匯出 PDF 長度表格的分頁策略長表格跨頁時的分頁位置更合理,避免表格被生硬切斷
支援「匯出預覽」模式下使用 F5 刷新預覽視窗可直接用 F5 重新載入最新內容
為預覽模式新增載入動畫和自動刷新匯出預覽不再是靜態快照,內容變更後可自動刷新並提供載入回饋

「匯出預覽」是思源匯出工作流的重要一環。在前端,匯出預覽透過 app/src/protyle/export/index.ts 與 app/src/protyle/export/util.ts 中的fetchPost("/api/export/exportPreviewHTML", ...)請求觸發;在後端,對應介面由 kernel/api/export.go 中的exportPreviewHTML函式處理,該函式解析id(文件 ID,必填)、keepFold(是否保留摺疊狀態)、merge(是否合併為單文件)、image(是否包含圖片)四個參數,呼叫model.ExportHTML生成預覽 HTML 後返回。值得注意的細節是,程式碼中有一段針對「匯出 PDF 預覽時點擊塊引轉換後的腳註跳轉不正確」問題的處理——將預覽 HTML 中的本地位址替換為錨點形式,這正是該版本前後持續打磨的匯出品質問題之一。

2.3 搜尋

  • 搜尋替換時不再剔除關鍵字首尾空格:此前搜尋替換會自動剝離關鍵字兩端的空格,導致帶空格片段的精確替換失效;此版本改為保留原始空格,使替換行為更符合直覺。搜尋的底層實作可參考 kernel/search/find.go 與前端 app/src/search 目錄。

2.4 資料同步與平台適配

改進項影響場景
改進資料同步網路連結性檢查同步前的網路探測更準確,避免誤報離線
Pad 端正常退出應用程式時儲存版面配置平板端退出時不再丟失視窗/面板佈局
改進瀏覽器端使用非127.0.0.1存取時鑑權失敗提示透過 IP 遠端存取 Web 端時,登入失敗的提示資訊更清晰

網路連通性檢查在倉庫中的通用實作位於 kernel/util/net.go 的IsOnline函式:它會先解析目標 URL,對file://協議做本地檔案探測,否則執行實際的網路請求並設定超時;失敗時記錄network is offline警告日誌。該函式同時服務於集市線上狀態檢查(見 kernel/bazaar/stage.go 的isBazaarOnline),是思源多個依賴外網能力模組的共用基礎設施。

三、修復缺陷:九個高頻問題的根因與影響

v2.10.7 修復了 9 個缺陷,涵蓋行動端穩定性、鍵盤操作、外掛體系、剪貼簿與渲染等多個維度:

缺陷影響範圍
Android 14 上閃退行動端穩定性關鍵修復,直接影響 Android 14 裝置使用者
列表項目 Shift+Tab 異常列表項降級/升級縮排的鍵盤操作失效
禁用所有插件後其他集市區不工作外掛全禁用時,集市(外掛、主題、模板、圖示等)其他分區被誤鎖定
任務清單中嵌套清單後貼上資料不完整任務清單與嵌套清單組合場景下的剪貼簿資料丟失
搜尋介面連續快速點選分頁按鈕後出現負數搜尋結果分頁的競態問題,頁碼被快速點擊減為負數
閃卡頁籤無法拖曳閃卡標籤頁失去拖拽排序能力
從嵌入塊中開啟文件後不應該顯示「退出聚焦」由嵌入塊進入文檔時,聚焦狀態誤判導致錯誤的功能表項出現
Ctrl+滾輪調整字號後程式碼塊行號錯位快捷縮放字號後,程式碼區塊的行號列與內容錯位
調整「外觀 - 字號」後程式碼塊行號錯位設定面板調整全域字號後,同樣出現行號錯位

其中「程式碼塊行號錯位」出現兩次(快捷鍵與設定面板兩條觸發路徑),說明該版本對程式碼塊渲染進行了集中修復。程式碼塊的渲染與行號邏輯位於 app/src/protyle 的程式碼區塊相關模組,字號變化時需要重新計算行高,錯位問題通常源於字號變更後未觸發行號容器的尺寸重算。

四、開發者更新:資料庫公測與 CORS 能力補強

4.1 屬性視圖新增資源類型欄位

屬性視圖(Attribute View,即資料庫)新增了「資源」類型的欄位,用於在資料庫中存放並展示文件資源。資源類型在 kernel/av/value.go 中定義為兩種枚舉值:

  • AssetTypeFile = "file"—— 普通文件類型(連結也歸入文件類型)
  • AssetTypeImage = "image"—— 圖片類型

欄位結構Asset包含Type欄位標識資源類型。該類型在 kernel/av/filter.go、kernel/model/export.go 等多處被分支判斷,分別處理圖片與文件在過濾、匯出等場景下的差異化行為,例如匯出時圖片資源與文件資源走不同的處理路徑。前端對應的屬性視圖實作位於 app/src/av 目錄。

4.2 資料庫公測啟動

此版本正式開啟「資料庫公測」,付費用戶可優先參與。從倉庫現狀看,屬性視圖(資料庫)的完整實現分佈在 kernel/av(過濾、排序、分組、關聯、各類佈局如表格/看板/畫廊)、kernel/sql/av*.go(資料庫 SQL 層)與 app/src/av(前端渲染)等模組,是思源在區塊筆記之上構建的結構化資料能力,其底層依賴每個區塊的屬性(Attribute)系統。

4.3 CORS 預檢快取與插件菜單位置

  • 為 OPTIONS 請求新增Access-Control-Max-Age標頭:該改進服務於瀏覽器端與外掛的跨源請求場景。在 kernel/server/serve.go 的corsMiddleware中,當請求方法為OPTIONS(CORS 預檢請求)時,除原有的Access-Control-Allow-OriginAccess-Control-Allow-CredentialsAccess-Control-Allow-HeadersAccess-Control-Allow-Methods等標頭外,新增了Access-Control-Max-Age: 600並以204狀態碼直接終止請求。這意味著瀏覽器可將預檢結果緩存 600 秒,減少後續請求的額外往返,對外掛或第三方工具頻繁呼叫思源 API 的場景有實際的效能收益。該中間件同時對/webdav/caldav/carddav路徑分別下發對應的允許方法集合。
  • 改進文件塊標菜單中的插件菜單項目位置:調整文件區塊標菜單中插件擴展項的排序位置,使外掛注入的菜單項與內建菜單項的層級關係更合理。

4.4 資料庫插入塊動畫

資料庫(屬性視圖)中插入區塊時增加了動畫回饋,提升結構化資料編輯的視覺連貫性。此類互動動畫的實作可參考前端 app/src/av 目錄下各佈局元件的渲染邏輯。

五、從更新記錄到源碼:如何驗證與複現

如果你希望在自己的環境中驗證本版本的改進,可以沿著以下路徑深入:

  1. 匯出預覽流程:前端入口 app/src/protyle/export/util.ts → API 請求POST /api/export/exportPreviewHTML→ 後端 kernel/api/export.go;路由註冊見 kernel/api/router.go。
  2. CORS 行為:直接閱讀 kernel/server/serve.go 的corsMiddleware,可見各方法集合與標頭的下發邏輯。
  3. 網路連通性檢查:閱讀 kernel/util/net.go 的IsOnline,理解同步/集市等模組的離線判定標準。
  4. 屬性視圖資源類型:從 kernel/av/value.go 的類型定義出發,追蹤AssetTypeFile/AssetTypeImage在 kernel/av/filter.go 與 kernel/model/export.go 中的分支處理。

六、小結

v2.10.7 是思源筆記在 v2.10.x 穩定期的一次高品質修復版本:13 項改進聚焦編輯、匯出、搜尋與同步的使用細節;9 項缺陷修復覆蓋 Android 14 閃退、程式碼塊行號錯位、搜尋分頁競態等高頻痛點;開發者面向則以「屬性視圖資源類型欄位」與「資料庫公測」為轉捩點,預示著資料庫特性即將走向成熟。對於使用者而言,直接升級即可獲得上述全部收益;對於開發者而言,該版本同時是理解思源匯出管線、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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 19:59:12

现在口碑好的AI论文写作工具有哪些品牌?学生党亲测反馈

每到期末、毕业答辩、课题申报阶段,很多学生都会陷入论文写作的困境:选题毫无头绪、大纲搭建逻辑混乱、正文撰写耗时长、参考文献格式出错、查重重复率偏高、AIGC检测告警、本校论文排版标准复杂。依靠纯人工从零开始撰写,反复修改格式和降重…

作者头像 李华
网站建设 2026/9/10 19:59:09

三款AI写作辅助网站亲测:从构思到提交怎么选才不踩坑?

写论文这事,最怕的不是写不出来,而是写得心里没底。 题目改了七八版还怕选重了,文献下载了两百篇越读越乱,参考文献格式调到崩溃,交稿前还得担心重复率和AIGC检测。今年开学季一到,又有一波人在搜“AI论文工…

作者头像 李华
网站建设 2026/9/10 19:56:38

NPP-OLS夜间灯光数据处理与应用全解析

1. 项目背景与数据价值 夜间灯光数据作为一种独特的地理空间信息源,近年来在社会科学、经济学和环境研究中展现出不可替代的价值。NPP-OLS系列作为全球覆盖最完整的夜间灯光遥感产品,其时间跨度从2000年持续至2023年,为研究者提供了观察人类活…

作者头像 李华
网站建设 2026/9/10 19:45:27

PyTorch推理加速:torch.compile编译缓存机制与实战优化指南

做PyTorch推理性能优化的朋友应该都有同感:模型部署上线,最难受的往往不是训练阶段那些事,而是“训练时跑得飞快,一上推理环境就原形毕露”。算子冗余、频繁的Python调度、kernel启动开销,每一项都在拖后腿。很多团队会…

作者头像 李华