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
相關
- 專案
- 專案
- 專案
- 專案
- 專案