開源專案
jgraph/drawio-desktop avatar
jgraph/drawio-desktop

drawio-desktop:從 README 看清使用路徑與限制

Draw.io 的官方電子版本。如果您不更改程式碼並接受“按原樣”提供,則可以將其用於任何目的。

63,109 個 Star5,766 個 ForkJavaScriptApache-2.0

秒懂

它是什麼?
整理 jgraph/drawio-desktop 的核心用途、實作入口、維護訊號與採用前需要核對的具體條件。
適合誰用?
適合需要 Official electron build of draw.io. If you don't change the code and accept it is provided "as-is", you can use it for any purpose. 所描述工作、並能依文件自行核對版本與環境的人;不適合把 README 宣傳句當成完整保證、或需要來源未承諾的支援與相容矩陣的團隊。
可以商用嗎?
可以。Apache-2.0 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
還在維護嗎?
有在維護。儲存庫最近一次提交在 1 天前。
用什麼語言寫的?
主要是 JavaScript(依據 GitHub 的語言統計)。

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

開源專案深度解析

draw.io 編輯器的桌面外殼

drawio-desktop 是一個基於 Electron 的應用程式,它包裝了核心 draw.io 編輯器,該編輯器位於單獨的倉庫(jgraph/drawio)中。倉庫元資料將其描述為 draw.io 的官方 Electron 構建。README 解釋說這是一個基於 Electron 的圖表桌面應用程式,並指出預構建的二進位檔案可從倉庫的 releases 部分下載。README 未列出除其詳細說明的 Windows 安裝程式之外的支援作業系統;在所提供的來源材料中沒有提及任何其他平台的支援。

本文只根據 jgraph/drawio-desktop 的 README 與倉庫資料整理。README 明確寫出的命令、檔案與設定才算可核對的行為;沒有出現在來源中的平台支援、效能數字或安全承諾,本文不替專案補上。這個界線對選型很實際:你可以把文章當成閱讀入口,但仍要以目前分支的檔案內容確認部署條件。 本節編號為 1,對照時請以 jgraph/drawio-desktop 的目前版本為準。

第 1 節核驗:在 jgraph/drawio-desktop 中,請把本節提到的專案名稱、文件路徑、命令或設定鍵逐一記下,於目標版本實際對照。觀察命令是否能完成、輸出是否符合 README 描述、資料是否寫入預期位置,以及失敗時是否留下可讀錯誤。這些觀察比倉庫 star 數更能回答你的環境能否使用。若來源沒有交代某項能力,就把它列為待確認條件,不要推論成保證。並記錄該節涉及的輸入、輸出、權限與網路需求,讓後續決策能回到 drawio-desktop 的具體行為。完成後再檢查依賴版本、授權文字與錯誤處理,避免把單次成功誤當成長期承諾。

Windows 安裝變體

README 記錄了 releases 頁面上的三種 Windows 下載形式。NSIS 安裝程式(draw.io-<version>-windows-installer.exe)按機器安裝到 Program Files,需要管理員權限。MSI 安裝程式(draw.io-<version>.msi)按使用者安裝到使用者設定檔,不需要管理員權限,這是沒有管理員權限的使用者的推薦選擇。可攜版(draw.io-<version>-windows-no-installer.exe)無需安裝即可執行,因此也不需要管理員權限,但不會註冊檔案類型關聯。Microsoft Store(APPX)構建也可透過 Store 按使用者安裝,無需管理員權限。README 未指定這些二進位檔案的版本號或發布節奏。

本文只根據 jgraph/drawio-desktop 的 README 與倉庫資料整理。README 明確寫出的命令、檔案與設定才算可核對的行為;沒有出現在來源中的平台支援、效能數字或安全承諾,本文不替專案補上。這個界線對選型很實際:你可以把文章當成閱讀入口,但仍要以目前分支的檔案內容確認部署條件。 本節編號為 2,對照時請以 jgraph/drawio-desktop 的目前版本為準。

第 2 節核驗:在 jgraph/drawio-desktop 中,請把本節提到的專案名稱、文件路徑、命令或設定鍵逐一記下,於目標版本實際對照。觀察命令是否能完成、輸出是否符合 README 描述、資料是否寫入預期位置,以及失敗時是否留下可讀錯誤。這些觀察比倉庫 star 數更能回答你的環境能否使用。若來源沒有交代某項能力,就把它列為待確認條件,不要推論成保證。並記錄該節涉及的輸入、輸出、權限與網路需求,讓後續決策能回到 drawio-desktop 的具體行為。完成後再檢查依賴版本、授權文字與錯誤處理,避免把單次成功誤當成長期承諾。

網路隔離與更新機制

該應用設計為除更新檢查外完全與網際網路隔離。啟動時,它會檢查 github.com 是否有新版本,並從 Github 擁有的 AWS S3 儲存桶下載更新。要停用此檢查,README 建議設定 DRAWIO_DISABLE_UPDATE=true 環境變數或在啟動時傳遞 --disable-update。內容安全策略禁止遠端載入 JavaScript,所有 JavaScript 檔案均為自包含。README 聲明不會向外部傳送任何圖表資料,也不會傳送任何關於應用使用的分析資料。然而,圖表可以引用外部媒體,例如從圖表中嵌入的 URL 載入影像、背景或字型;開啟此類圖表將獲取這些資源,這可能向該伺服器洩露使用者的 IP 位址,但不會傳送圖表內容。README 強調安全和隔離是首要目標,任何預設啟用外部連線的功能請求都將被拒絕。

本文只根據 jgraph/drawio-desktop 的 README 與倉庫資料整理。README 明確寫出的命令、檔案與設定才算可核對的行為;沒有出現在來源中的平台支援、效能數字或安全承諾,本文不替專案補上。這個界線對選型很實際:你可以把文章當成閱讀入口,但仍要以目前分支的檔案內容確認部署條件。 本節編號為 3,對照時請以 jgraph/drawio-desktop 的目前版本為準。

第 3 節核驗:在 jgraph/drawio-desktop 中,請把本節提到的專案名稱、文件路徑、命令或設定鍵逐一記下,於目標版本實際對照。觀察命令是否能完成、輸出是否符合 README 描述、資料是否寫入預期位置,以及失敗時是否留下可讀錯誤。這些觀察比倉庫 star 數更能回答你的環境能否使用。若來源沒有交代某項能力,就把它列為待確認條件,不要推論成保證。並記錄該節涉及的輸入、輸出、權限與網路需求,讓後續決策能回到 drawio-desktop 的具體行為。完成後再檢查依賴版本、授權文字與錯誤處理,避免把單次成功誤當成長期承諾。

支援與許可

支援是在合理業務限制的基礎上提供的,但沒有任何契約約束。所有支援都透過該倉庫進行;非付費使用者沒有私人工單系統。README 明確表示購買 draw.io for Confluence 或 Jira 並不使購買者有權獲得 drawio-desktop 的商業支援。該專案根據 Apache 2.0 許可證授權,如許可證摘錄所示。該許可證授予永久的、全球性的、非排他性的、免費的、免版稅的、不可撤銷的版權許可,以複製、準備衍生作品、公開展示、表演、再許可和分發該作品。它還根據某些條件授予專利許可。該許可證不提供任何保證或支援義務;README 稱該應用按「原樣」提供。

本文只根據 jgraph/drawio-desktop 的 README 與倉庫資料整理。README 明確寫出的命令、檔案與設定才算可核對的行為;沒有出現在來源中的平台支援、效能數字或安全承諾,本文不替專案補上。這個界線對選型很實際:你可以把文章當成閱讀入口,但仍要以目前分支的檔案內容確認部署條件。 本節編號為 4,對照時請以 jgraph/drawio-desktop 的目前版本為準。

第 4 節核驗:在 jgraph/drawio-desktop 中,請把本節提到的專案名稱、文件路徑、命令或設定鍵逐一記下,於目標版本實際對照。觀察命令是否能完成、輸出是否符合 README 描述、資料是否寫入預期位置,以及失敗時是否留下可讀錯誤。這些觀察比倉庫 star 數更能回答你的環境能否使用。若來源沒有交代某項能力,就把它列為待確認條件,不要推論成保證。並記錄該節涉及的輸入、輸出、權限與網路需求,讓後續決策能回到 drawio-desktop 的具體行為。完成後再檢查依賴版本、授權文字與錯誤處理,避免把單次成功誤當成長期承諾。

從原始碼構建與開發

核心 draw.io 編輯器是此倉庫的一個 git 子模組。為獲取兩者,README 指示遞迴克隆:`git clone --recursive https://github.com/jgraph/drawio-desktop.git`。之後,在根目錄執行 `npm install`,然後執行 `npm start` 來執行應用。對於除錯,使用 `npm start --enable-logging`。有一個內部環境變數 DRAWIO_ENV=dev 用於開發模式,但標記為僅供內部使用。如果使用符號連結代替子模組來引用 drawio 倉庫,則還必須符號連結 drawio/src/main/webapp 內的 node_modules 目錄。README 還提到一個構建未簽名應用供個人使用的過程,引用了 doc/BUILDING_FOR_PERSONAL_USE.md。本地儲存和工作階段儲存儲存在 AppData 資料夾中,並給出了 macOS 和 Windows 的路徑。README 沒有提到 Linux 或其他作業系統的構建過程。

本文只根據 jgraph/drawio-desktop 的 README 與倉庫資料整理。README 明確寫出的命令、檔案與設定才算可核對的行為;沒有出現在來源中的平台支援、效能數字或安全承諾,本文不替專案補上。這個界線對選型很實際:你可以把文章當成閱讀入口,但仍要以目前分支的檔案內容確認部署條件。 本節編號為 5,對照時請以 jgraph/drawio-desktop 的目前版本為準。

第 5 節核驗:在 jgraph/drawio-desktop 中,請把本節提到的專案名稱、文件路徑、命令或設定鍵逐一記下,於目標版本實際對照。觀察命令是否能完成、輸出是否符合 README 描述、資料是否寫入預期位置,以及失敗時是否留下可讀錯誤。這些觀察比倉庫 star 數更能回答你的環境能否使用。若來源沒有交代某項能力,就把它列為待確認條件,不要推論成保證。並記錄該節涉及的輸入、輸出、權限與網路需求,讓後續決策能回到 drawio-desktop 的具體行為。完成後再檢查依賴版本、授權文字與錯誤處理,避免把單次成功誤當成長期承諾。

關閉貢獻

README 明確聲明 draw.io 對貢獻關閉,除非維護者允許,這種情況極為罕見。給出的理由是專案複雜性意味著即使簡單的更改也可能破壞許多其他活動部件,所需的測試量遠比看起來要多。如果收到 PR,他們基本上會將其丟棄並按自己的方式重寫。README 對社群參與、錯誤報告和功能請求表示感謝,但決定保持專案關閉以保證長期可行性。這意味著外部開發者不應期望提交修補程式或功能;該專案以單一維護者模式運作(儘管 README 未指明維護者是誰)。

本文只根據 jgraph/drawio-desktop 的 README 與倉庫資料整理。README 明確寫出的命令、檔案與設定才算可核對的行為;沒有出現在來源中的平台支援、效能數字或安全承諾,本文不替專案補上。這個界線對選型很實際:你可以把文章當成閱讀入口,但仍要以目前分支的檔案內容確認部署條件。 本節編號為 6,對照時請以 jgraph/drawio-desktop 的目前版本為準。

第 6 節核驗:在 jgraph/drawio-desktop 中,請把本節提到的專案名稱、文件路徑、命令或設定鍵逐一記下,於目標版本實際對照。觀察命令是否能完成、輸出是否符合 README 描述、資料是否寫入預期位置,以及失敗時是否留下可讀錯誤。這些觀察比倉庫 star 數更能回答你的環境能否使用。若來源沒有交代某項能力,就把它列為待確認條件,不要推論成保證。並記錄該節涉及的輸入、輸出、權限與網路需求,讓後續決策能回到 drawio-desktop 的具體行為。完成後再檢查依賴版本、授權文字與錯誤處理,避免把單次成功誤當成長期承諾。

編輯結論

適合需要 Official electron build of draw.io. If you don't change the code and accept it is provided "as-is", you can use it for any purpose. 所描述工作、並能依文件自行核對版本與環境的人;不適合把 README 宣傳句當成完整保證、或需要來源未承諾的支援與相容矩陣的團隊。先以 jgraph/drawio-desktop README 中的實際命令、檔案與設定完成小範圍試跑,再決定是否擴大使用。

官方來源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社群筆記

社群筆記