模型 / 資料集
deta/surf avatar
deta/surf

Deta Surf:把檔案、網頁與筆記放進同一個思考流的開源 AI 筆記本

Personal AI Notebooks. Organize files & webpages and generate notes from them. Open source, local & open data, open model choice (incl. local).

3,568 個 Star251 個 ForkTypeScriptApache-2.0

秒懂

它是什麼?
Deta Surf 是一款以 Svelte、TypeScript 與 Rust 打造的桌面 AI 筆記本,強調本地優先、開放資料格式與可自選模型。本文拆解它的資料流、安裝方式、限制與替代方案。
適合誰用?
適合需要同時處理 PDF、網頁、影片與筆記的研究者、學生或知識工作者,尤其是重視資料所有權與模型選擇權的人。不適合只想快速同步到雲端、不願處理 Electron 資源耗用或需要成熟協作功能的使用者。
可以商用嗎?
可以。Apache-2.0 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
還在維護嗎?
有在維護。儲存庫最近一次提交在 22 天前。
用什麼語言寫的?
主要是 TypeScript(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。

開源專案深度解析

它解決什麼問題:切換視窗的碎屑勞動

多數筆記工具只處理一種媒體:文字、PDF 或網頁。但真正的思考往往需要同時對照一份 PDF、一段 YouTube 影片與幾個網頁。Deta Surf 的定位就是消除這種切換成本。它的 README 說得很直接:減少手動搜尋、開視窗、捲動、複製貼上到文件編輯器的瑣碎工作。這不是另一個雲端筆記,而是把「研究」與「思考」放在同一個介面。目標使用者是那些需要反覆交叉比對來源的人,例如寫論文的研究生、做市場分析的產品經理,或是整理技術文件的工程師。它把檔案、網頁與筆記放進同一個資料流,而不是要你在多個應用程式之間搬運內容。

SFFS:以開放格式為核心的本地儲存引擎

Surf 的資料層不是一個黑箱資料庫。它採用名為 SFFS(Surf Flat File System)的本地儲存引擎,宣稱以開放且透明的格式存放資料。這代表你的筆記、媒體與索引都以一般檔案存在電腦上,理論上你可以直接用其他工具讀取或備份。對重視長期資料所有權的人來說,這是關鍵設計。文件提到「Local first data, open data formats」,這與多數雲端筆記服務形成對比。不過 README 沒有揭露 SFFS 的具體檔案結構或格式細節,例如是否為 JSON、Markdown 或 SQLite。想深入的人需要查閱 docs/LIBRARY.md。這個抽象層的好處是未來遷移成本較低,但壞處是你無法預先確認它是否真的「開放」到你能輕鬆解析。

Smart Notes 的引用機制:時間戳與頁碼的深度連結

Smart Notes 是 Surf 的核心互動模式。你可以在筆記中用 @-mention 引用任何分頁、網站或圖書館資源,然後自動產生內容。特別的是引用系統:文件說引用會深層連結到原始來源,網頁的某個區塊、影片的某個時間戳,或 PDF 的某一頁。這意味著當你問 YouTube 影片一個問題時,產生的筆記能直接跳到影片的對應秒數。PDF 引用則跳到指定頁碼。這個機制把 AI 產生的內容與原始證據綁在一起,降低了幻覺風險,因為你可以一鍵回去核對。但這依賴於 Surf 能否正確解析各媒體的結構,例如 YouTube 的字幕時間軸或 PDF 的文字位置。對於掃描型 PDF 或沒有字幕的影片,引用可能失效。

Surflets 與 Web Search:把對話變成可執行工具

Surf 不只有問答。它的 Surflets 功能讓 AI 直接產生互動式小應用,例如視覺化圖表或概念探索工具,而且不需要寫程式。README 建議你試試「app generation」工具,直接要求一個 app。另一個內建工具是 web search,你可以在筆記中要求搜尋,結果會直接帶回筆記裡。這兩個功能把 AI 從聊天機器人變成研究助理。Surflets 的底層是讓模型寫程式碼,然後在 Electron 環境中執行,這帶來安全考量:模型產生的程式碼有可能存取你的本機檔案。README 沒有提到沙箱或權限控管,這對處理敏感資料的使用者是一個需要自行評估的風險點。

安裝與執行:從原始碼建置到本地模型

Surf 提供安裝指南,路徑是 docs/INSTALL.md,而從原始碼建置則看 CONTRIBUTING.md。由於 README 沒有列出具體指令,實際步驟需要查閱那些文件。不過可以確定的是它是一個跨平台桌面應用,支援 macOS、Windows 與 Linux,主要語言是 Svelte、TypeScript 與 Rust,並以 Electron 包裝。AI 功能方面,你可以帶自己的 API 金鑰給雲端模型,也可以新增雲端模型,或使用本地語言模型。Topics 列出 ollama,代表本地推論可能透過 Ollama 整合。對隱私敏感的人,本地模型是主要賣點,因為你的檔案不需要離開電腦。但本地模型的品質與速度取決於你的硬體,這是一個實際取捨。

真正的限制:離線範圍、協作缺席與 Electron 代價

Surf 有幾個明確的界線。第一,它主打本地優先,但 README 也說「Open and use much of your library offline」,這個「much」暗示並非全部媒體都能離線使用。例如串流影片或動態網頁可能無法完整離線。第二,它沒有提到任何團隊協作功能。這是一個個人工具,沒有多人編輯、分享或同步。如果你需要與同事共同維護知識庫,Surf 不是答案。第三,它基於 Electron,代表記憶體佔用與啟動速度會比原生應用高。最後,AI 功能需要模型,而模型選擇的開放性也意味著你需要自己處理 API 金鑰、成本或本地模型的設定。這些都是採用前要接受的現實。

與其他工具的差異:Obsidian 的連結 vs Surf 的媒體整合

談替代方案,最接近的是 Obsidian。Obsidian 也是本地優先、以 Markdown 檔案儲存,且支援眾多外掛與 AI 整合。但兩者的核心方法不同。Obsidian 以「雙向連結」與「筆記間的網路」為中心,你的內容主要是你自己寫的文字,外部媒體需要手動嵌入或連結。Surf 則是以「媒體來源」為中心,它主動抓取 YouTube、PDF 與網頁,讓 AI 直接從這些來源產生筆記,並提供深度引用。換句話說,Obsidian 是讓你把想法組織成網狀,Surf 是讓你把外部資料直接捲入思考流。如果你需要的是對大量影片與 PDF 進行提問,Surf 的整合度更高;如果你需要的是建立長期連結的個人知識庫,Obsidian 的成熟生態系可能更穩。

授權與維護成本:Apache 2.0 但名稱除外

Surf 的原始碼以 Apache 2.0 授權,但有一個例外:Deta 名稱與標誌不在此授權範圍內。另外,它對 @ghostery/adblocker-electron 套件的修補遵循 MPL-2.0,因為要與上游一致。這代表你可以在 Apache 2.0 條款下使用、修改與散佈程式碼,但不能使用 Deta 的品牌。專案目前沒有封存,最後一次 push 是 2026 年 8 月,且持續釋出 1.4.7-beta 版本,顯示開發仍活躍。但版本號帶有 beta 後綴,代表功能可能還不穩定。升級成本方面,你需要追蹤 beta 版本的變動,並確認你的本地模型設定與筆記格式不會因升級而損壞。由於資料以開放格式儲存,理論上你可以自行備份與遷移,但實際工具鏈仍需等待文件補齊。

編輯結論

適合需要同時處理 PDF、網頁、影片與筆記的研究者、學生或知識工作者,尤其是重視資料所有權與模型選擇權的人。不適合只想快速同步到雲端、不願處理 Electron 資源耗用或需要成熟協作功能的使用者。採用前應先確認你偏好的本地模型能透過 Ollama 正常運作,並實際測試 YouTube 時間戳引用與 PDF 頁碼引用是否符合你的工作流程。若你接受這些限制,Deta Surf 的開放格式與本地優先設計,讓它成為少數能把多媒體來源整合進單一筆記流的開源選項。

官方來源

  1. deta/surf on GitHub
  2. License: Apache-2.0
  3. Project website
  4. README
  5. Releases
社群筆記

社群筆記