Ledge.sh 可執行 Markdown 記事本 – 功能、使用情境與社群反饋

Ledge.sh 讓你直接在 Markdown 記事中執行程式碼,將純文字文件轉換為互動式筆記本

Ledge.sh 是一個免費、採用 Apache‑2.0 許可的筆記本,可在圍欄程式碼區塊中執行 shell 命令、Python、SQL 與 AI 提示。在程式碼區塊中按下 ⌘↩,其輸出會流式顯示於區塊下方,讓筆記同時具備文件與即時執行環境的功能。


每筆記事的持久化 shell

  • 每筆記事擁有自己的 shell 會話,因此 cd、匯出變數或啟用虛擬環境的設定會在多次執行間持續保留。
  • ⌘↩ 在游標所在區塊執行;⇧⌘↩ 則將區塊送至可分離的終端抽屜中,供互動使用。
  • 前置欄位鍵 cwd: 與 env: 定義記事 shell 的起始目錄與環境變數。
  • 在圍欄中加入 norun 可停用「執行」按鈕,讓你引用命令卻不執行它。

"在純 Markdown 中執行筆記是一種很棒的個人工具組合——單人開發時,減少在文件與終端間複製貼上的步驟。" – michaelastreiko (Hacker News)


遠端主機執行與伺服器支援的筆記

  • 可將 Ledge 指向任何可透過 SSH 存取的機器;伺服器負責儲存 Markdown 檔案並執行 shell。
  • 無需額外帳號或雲端服務,僅需 SSH 驗證即可。
  • 多個用戶端(桌面、iPhone、iPad、另一台筆電)可同時連接至同一伺服器,共用標籤與窗格。
  • ledge backup 每小時將筆記加密至 S3 相容的儲存桶,提供自動化的離線備份。

移動端支援

  • iOS 與 Android 客戶端僅作為遠端伺服器的輕量視窗;從不將筆記儲存在本機。
  • ledge pair 印出的配對碼會建立一個受安全區(Secure Enclave)保護的金鑰,讓手機能驗證身份,卻不暴露私鑰。
  • 所有常見編輯功能——搜尋、標籤、反向連結、每日筆記、wikilinks——在移動端皆可使用,當你返回應用程式時,命令輸出也會出現。

在任意主機上執行區塊

  • 在前置欄位加入 host: 行,可將所有區塊執行透過 SSH 路由至指定主機。
  • 第一次執行時,Ledge 會提示選擇主機,並記住上次的選擇。
  • confirm 圍欄在執行前會顯示程式碼與目標主機,防止意外執行。
  • 記事的 cwd 與 env 會隨執行傳遞,確保機密資訊不會出現在筆記檔案中。

窗格式 UI 與工作區佈局

  • ⌘D 垂直分割檢視;⇧⌘D 水平分割。每個窗格可獨立持有標籤與筆記。
  • 窗格保留各自的 shell 會話,因此可同時處理兩個專案。
  • 工作區佈局會在啟動時儲存與還原;⌘1–⌘9 可切換已儲存的工作區。

安全的使用者設定檔與加密筆記

  • 設定檔是儲存在筆記資料夾外的純 .env 檔案(例如 ~/.config/ledge/profiles/deploy.env)。若筆記宣告 profile: deploy,就會載入這些變數至其 shell 中。
  • 加密筆記會以密碼將內容加密儲存在磁碟上;標題、標籤與前置欄位仍可見,方便導航。
  • 搜尋與反向連結會跳過加密內容,並報告有多少筆記被略過。

代理整合

  • Ledge 內建 MCP 伺服器;像 Claude 這樣的 AI 代理可透過 claude mcp add ledge 讀取、搜尋、建立與編輯筆記。
  • 代理可執行 prompt 區塊,並接收 AI 回應,以串流方式顯示於區塊下方。
  • 由於筆記以標題命名(即使重命名也保持不變),代理能維持穩定的參考。

"我開發 Ledge 是因為我每天花很多時間將筆記中的命令複製貼上到終端……我認為它對探索自己的工作流程可能很有用,但我建議不要用於任何重要的專案管理。" – Piraty (Hacker News)


基於 Git 的同步與協作

  • 筆記是普通的 Markdown 檔案;任何資料夾同步方案(iCloud、Dropbox、Syncthing、Git)皆可直接使用。
  • Ledge 會監控資料夾的外部變更,並即時更新開啟的筆記。
  • 專用的 Sync 筆記只需按下 ⌘↩,即可執行 git add -A && git commit -m "notes $(date +%F)" && git pull --rebase && git push。
  • 合併衝突會以正常的 Git 合併衝突形式出現;Ledge 會保留開啟的檔案,並將另一版本移至工作區垃圾桶。

六種內建筆記類型

類型 常見用途 範例區塊
資料探索 快速執行 SQL 或 Python 查詢 sql / python 區塊
專案操作手冊 啟動服務、執行遷移 包含 docker compose up -d db 的 sh 區塊
事件回應 查詢日誌、檢查 Redis redis 區塊
學習程式設計 小型語言片段 ruby 區塊
家用實驗室管理 在遠端主機執行命令 host: homelab + sh 區塊
每日日誌 由提示驅動的任務清單 prompt 區塊

社群反應

  • 正面評價 – 使用者讚揚文件與執行的無縫整合,指出大幅減少複製貼上的摩擦,對單人開發者與小型團隊尤其有吸引力。
  • 比較 – 多位評論者將 Ledge 比作 Org‑Babel、Jupyter 筆記本與 Observable Framework,但強調其原生 Markdown 格式與跨平台 GUI 為差異化特色。
  • 批評與建議 – 要求更緊密的 shell 自動補全整合、筆記本風格的區塊執行控制,以及可能的 Obsidian 插件包裝。
  • 效能注意 – 有使用者報告在高階 Linux 機器上出現 UI 卡頓,建議未來需進行優化。

何時採用 Ledge.sh

  • DevOps 操作手冊 – 將 API 金鑰儲存在設定檔中,執行部署腳本,並將日誌保留在同一筆記中。
  • 資料分析 – 在筆記本中混合使用 SQL、Python 與 shell 管道,無需離開環境。
  • AI 增強工作流程 – 嵌入 prompt 區塊,將查詢傳送至 Claude 或其他代理,並內嵌捕捉回應。
  • 以遠端為首的團隊 – 使用 SSH 支援的伺服器模型,確保筆記在筆電、手機與 CI 執行器之間保持單一來源。

開始使用

# 在任何你想主機筆記的機器上安裝伺服器元件
curl -fsSL https://ledge.sh/server.sh | sh

# 安裝桌面客戶端(macOS、Linux、Windows 透過 WSL)——詳見 https://ledge.sh/docs/installation

安裝完成後,建立一個 Markdown 檔案,加入圍欄區塊,將游標置於區塊內,按下 ⌘↩。輸出將顯示於區塊下方,筆記也會自動同步至設定的伺服器。


結語

Ledge.sh 將純文字 Markdown 轉化為跨桌面、行動裝置與遠端主機的即時、可重現筆記本,同時保持筆記為簡單檔案,可透過 Git 版本控制。其設計選擇——每筆記事的持久化 shell、安全設定檔與代理整合——解決了現有筆記本與操作手冊工具的許多痛點,使其成為開發者、DevOps 工程師與 AI 增強工作流程的有力選擇。

Sources

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案