模型 / 資料集
fynnfluegge/rocketnotes avatar
fynnfluegge/rocketnotes

Rocketnotes:把 LLM 接進 Markdown 筆記的取捨與代價

✨ AI-powered markdown editor - leverage LLMs with your documents - 100% local or in the cloud

1,495 個 Star79 個 ForkTypeScriptApache-2.0
GitHub

秒懂

它是什麼?
Rocketnotes 是一套網頁版 Markdown 筆記工具,把聊天、續寫、語音轉錄與 agentic 歸檔直接做進編輯器,並提供 Ollama 全本機與 AWS 雲端兩條路。它的價值在於把檢索與歸檔自動化,代價是你要接受一套三語後端與兩種向量儲存的分裂部署。
適合誰用?
如果你已經有一批 Markdown 筆記,想在不搬離純文字格式的前提下加上語意檢索與自動歸檔,而且願意自己跑 Docker 與 Ollama,Rocketnotes 值得進沙盒試一輪。若你只需要關鍵字搜尋與語法高亮,或無法接受 Go、Python、Angular 三套執行環境同時存在,它會是過重的選擇。
可以商用嗎?
可以。Apache-2.0 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
還在維護嗎?
有在維護。儲存庫最近一次提交在 146 天前。
用什麼語言寫的?
主要是 TypeScript(依據 GitHub 的語言統計)。

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

開源專案深度解析

它解決的是筆記「找不到」而不是筆記「寫不出」

多數 Markdown 編輯器的問題不在輸入,而在輸出之後。你寫了幾百篇筆記,關鍵字搜尋只能命中你剛好記得的字。Rocketnotes 針對的是這個斷點:README 把 Semantic Search 描述為「Goes beyond keyword search to understand the meaning behind your query」,並提供 Chat with Your Documents,讓你用自然語言問問題,答案從你自己的文件中合成。

目標使用者寫得很明白:需要把程式碼片段與數學公式放進同一份筆記的開發者。README 列出 Code Syntax Highlighting、Katex 與 Mermaid 三項,這組合不是一般筆記軟體的預設路線。另一個線索是 Neovim Plugin 與 MCP Server Integration,代表作者假設使用者已經活在編輯器與 LLM 工具鏈裡,而不是想拉攏 Notion 那一類使用者。

所以它不是「更好的 Markdown 編輯器」。它是一層檢索與歸檔,附帶一個編輯器。

檢索層分裂成兩套:S3 Vectors 與 ChromaDB

README 的 Tech Stack 段落把 AI 這一欄寫成「Langchain, Langgraph, S3 Vectors (cloud) / ChromaDB (local)」。這一行是整個專案最需要停下來看的地方。向量儲存不是可替換的實作細節,它決定了檢索品質、索引更新時機與資料落地位置。雲端走 AWS 的 S3 Vectors,本機走 ChromaDB,兩者的相似度計算與索引結構不同,同一批筆記在兩邊檢索出的結果不保證一致。

嵌入模型同樣分岔。本機模式用 sentence-transformers 搭配 Ollama,雲端模式沒有在 README 中說明嵌入由誰產生。這意味著如果你先在雲端建立索引、之後想搬到本機,你不能只是複製檔案,必須重新嵌入整批文件。

Zettelkasten 的 agentic archiving 建立在同一層之上:README 說 AI agent「analyzes snippets from your inbox and intelligently files them into the most relevant existing document」。歸檔品質直接等於檢索品質。檢索挑錯文件,snippet 就被歸錯位置,而這一步是自動的,你未必會立刻發現。

後端有 Go 也有 Python,部署前先認清這件事

Tech Stack 寫的是 Frontend: Angular、TypeScript、Electron;Backend: Go、Python。這種組合在開源專案裡不常見,通常代表某部分功能(例如即時搜尋或檔案處理)用 Go 寫,AI 相關流程留在 Python 的 LangChain 生態。

對使用者的實際影響在維運。你不是在跑一個 Node 服務,而是在跑一組跨語言的服務,加上 DynamoDB 與 S3 這兩項 AWS 依賴。README 的 Infrastructure 一欄直接寫 AWS、Docker。

本機模式把這一切收進容器裡,但容器內仍然是同一套多服務架構。升級時你要面對的是多個映像的版本對齊,而不是單一 binary 替換。這是選擇 Rocketnotes 時最容易被低估的成本。

三種啟動方式,只有一種不碰雲端帳號

README 的 How to use 給了三個入口。第一是註冊託管服務,連結指向 takeniftynotes.auth.eu-central-1.amazoncognito.com,登入後可用網頁版或 Electron 版。第二是「Run it 100% locally with Docker」,細節在 INSTALLATION.md 的 run-with-docker 章節。第三是照 CONTRIBUTING.md 的 Contribution Guide 建立本機開發環境。

只有第二條路符合 README 標題所說的 100% local。第一條路的 AI 處理發生在作者的 AWS 上,文件與查詢都會離開你的機器。第三條路是給要改程式的人用的,不是給要用筆記的人用的。

README 沒有列出 Docker 指令、映像名稱或環境變數,這些都在 INSTALLATION.md 裡,而該檔案不在本次可見的材料中。所以這裡無法給你可複製的指令。要評估本機模式,第一步就是去讀 INSTALLATION.md 的 run-with-docker 章節,確認它需要哪些連接埠、哪些 volume,以及 Ollama 是隨容器啟動還是要你另外安裝。

模型切換方面,README 寫 Multi-LLM Support 目前涵蓋 OpenAI、Anthropic 與 Together AI。本機模式則走 Ollama。哪個模型負責哪個功能,README 沒有交代。

語音輸入與自動歸檔是同一條流程的兩端

Voice-to-Text Note Taking 與 Zettelkasten inbox 在 README 裡是相鄰的兩節,實際上是一條動線:你口述一段想法進 inbox,agent 再把它歸進最相關的文件。

這條動線的風險在於它把兩件不確定的事串在一起。語音轉錄會出錯,尤其在專有名詞與程式碼識別字上;歸檔 agent 拿到一段有錯字、沒有上下文的 snippet,仍然要判斷它屬於哪份文件。README 沒有描述任何人工確認步驟,只說 agent 會把 snippet「insert into most relevant documents」。

如果歸檔是直接寫入目標文件,那麼一次誤判就會在你原本整理好的筆記裡留下不該存在的段落,而且不會有通知。這是我在 README 中找不到答案、但會直接影響使用意願的問題:歸檔前是否有預覽或 undo。要採用之前,這點必須自己在程式碼或實際操作中確認,不能靠 README 推測。

替代方案:Obsidian 加外掛,差別在誰持有檢索層

同樣面對「Markdown 筆記加 AI」這個需求,Obsidian 走的是另一條路:核心只負責檔案與外掛 API,AI 功能由社群外掛各自實作,向量索引通常存在本機外掛資料夾,嵌入模型由使用者自選。

真正的差別不在功能清單,而在檢索層由誰定義。Rocketnotes 把 LangChain、LangGraph 與向量儲存寫進自己的後端,檢索行為由專案決定,你在 S3 Vectors 與 ChromaDB 之間選一個,但改不動檢索邏輯。Obsidian 把這一層交給外掛,代價是你得自己挑、自己承擔外掛維護狀況,好處是換外掛不必換筆記。

另一個維度是介面。Rocketnotes 是網頁應用,另附 Electron 與 Neovim 前端;Obsidian 是桌面應用優先。如果你的筆記已經是一個本機資料夾,Rocketnotes 的 Docker 模式要處理的是「這個資料夾怎麼進容器」,而不是「筆記放哪裡」。

兩者都不是錯的選擇,但選 Rocketnotes 等於接受檢索層由上游決定,選 Obsidian 等於接受自己維護那一層。

授權與版本節奏

專案採 Apache-2.0,README 的 badge 與 repository 標示一致。這個授權允許商業使用與修改,並附帶專利授權條款,對企業內部部署相對友善。實際條文仍應自行閱讀,這裡不構成法律意見。

版本節奏上,可見的釋出為 v1.0.5(2025-02-25)、v1.0.6(2025-07-20)、v1.0.7(2025-07-26)。v1.0.5 到 v1.0.6 之間隔了將近五個月,之後兩週內連出兩版,而 repository 的 last push 標示為 2026-04-23,晚於最後一次釋出。這代表主線仍在動,但釋出不是穩定節奏。

對維運的意義是:你不能假設每季有固定更新,也不能假設升級路徑被測試過。若你要在團隊內部署,得先決定鎖定哪個版本、以及由誰負責追蹤 main 分支的變動。

誰該用,誰該等

該用的是這一群人:已經在用 Markdown 累積技術筆記,需要語意檢索與自動歸檔,而且有能力自己跑 Docker 與 Ollama 的人。對他們來說,100% local 這條路是這個專案最實在的部分,因為筆記與查詢都不必離開自己的機器。

不該用的是兩種人。第一種是只需要關鍵字搜尋、語法高亮與資料夾樹的人,這些用更輕的工具就能滿足,不需要背一組 Go 加 Python 加 Angular 的執行環境。第二種是不能接受自動寫入的人,因為 agentic archiving 在 README 中沒有描述確認步驟,而誤歸檔是寫進既有文件,不是寫進一個隔離的收件匣。

動手前的驗證順序建議是這樣:先讀 INSTALLATION.md 的 run-with-docker 章節,確認映像、連接埠與 Ollama 的啟動方式;再確認歸檔 agent 是否提供預覽或復原;最後拿一批真實筆記分別在 ChromaDB 與 S3 Vectors 上跑同一組查詢,看結果差多少。第三項沒做,你不會知道自己的筆記在這兩條路上是不是同一套系統。

編輯結論

如果你已經有一批 Markdown 筆記,想在不搬離純文字格式的前提下加上語意檢索與自動歸檔,而且願意自己跑 Docker 與 Ollama,Rocketnotes 值得進沙盒試一輪。若你只需要關鍵字搜尋與語法高亮,或無法接受 Go、Python、Angular 三套執行環境同時存在,它會是過重的選擇。動手前先確認兩件事:INSTALLATION.md 的 Docker 章節所列的映像與連接埠是否與你的環境相符,以及 S3 Vectors 與 ChromaDB 兩條路徑在檢索行為上是否一致。

官方來源

  1. fynnfluegge/rocketnotes on GitHub
  2. Issues
  3. License: Apache-2.0
  4. README
  5. Releases
社群筆記

社群筆記