← All posts / Tools

畫歪沒關係,Agent 幫你排好:Drawgent 把 Claude Code 搬上 Excalidraw 白板

開源 Rust 工具 Drawgent把你自己的 Claude Code、Codex 或 opencode 接上即時 Excalidraw 畫布,讓 agent 跟你一起讀圖、改架構圖,還能直接在圖上標注任務。

畫歪沒關係,Agent 幫你排好:Drawgent 把 Claude Code 搬上 Excalidraw 白板

最有趣的開發者工具,幾乎從來不是伴隨新聞稿出現的。2026 年 9 月 27 日,一個叫 Drawgent 的小型開源專案衝上 Hacker News 首頁,拿到 153 點與 41 則留言——它用一個執行檔,回答了整個產業還在摸索的問題:人類與 coding agent 之間的「共同工作區」到底長什麼樣子?

Drawgent 由開發者 Yann Degat 用 Rust 撰寫,把你自己的 coding agent——Claude Code、Codex 或 opencode——接上一塊即時 Excalidraw 白板。這不是那種「幫我生一張圖」的一次性輸出,而是一塊持續存在的畫布:你畫出架構草圖,在某個形狀旁邊寫一行字,然後看著 agent 把圖重畫整齊、自我檢查,並把那行字標成綠色的 DONE。

它實際上怎麼運作

機制本身相當直接,而且對自身限制異常誠實。Drawgent 在本機跑一個伺服器(預設埠 7300),內嵌一個 Excalidraw 編輯器,並透過 ACP(Agent Client Protocol) 驅動你的 agent。Agent 會拿到一組 MCP(Model Context Protocol)畫布工具:get_scene、get_screenshot(支援視覺辨識與針對特定元素縮放)、add_elements、支援自動排版的 add_mermaid、update_elements、delete_elements,以及幾個解析指令用的輔助工具。箭號以元素 ID 綁定、沿邊緣自動走線;形狀移動時標籤會跟著走。

互動迴圈是最聰明的部分。你可以透過畫布右側的聊天面板跟 agent 對話——回覆與工具呼叫會串流進來,權限提示也在面板內直接核准。或者你可以完全跳過聊天:在想要修改的圖形旁邊寫一個以 AGENT: 開頭的文字元素,停止輸入約 2.5 秒後,agent 就會收到你的注記,連同它的位置、它指向的東西、以及周圍有什麼。它會把請求解析成一個綠色的 DONE: 注記;把注記改回 AGENT: 就能再送一次。

甚至還有簡報筆手勢:用 Excalidraw 的雷射筆在圖的某個區域畫圈,軌跡會變成紅色外框的「區域」,聊天面板隨即打開,並附上一個列出區域內元素的晶片標籤(「雷射區域 · API、Redis」),你的下一句指示會連同區域範圍一起送給 agent。Agent 完成後,軌跡自動消失。

你的 agent、你的登入、你的 repo

一個刻意的設計決策值得注意:Drawgent 從不捆綁 agent。它用的是你安裝的 CLI、你的登入、你的設定、你的 repository。Docker 模式跑的是畫布伺服器加 Chromium 渲染器,但明確排除 agent。在每家廠商都想把你導向自家託管服務的年份,一個甘於當「薄橋接層」、只連接你已付費軟體的工具,本身就是一種低調的表態。

對已經深度使用 agent 工作流的人來說,--attach 模式最實用。Claude Code 的 attach 是分叉(fork)一個執行中的 session——分叉帶著完整對話歷史,由 Drawgent 透過 ACP 驅動,你的終端機 session 原封不動(因為 Claude Code 沒有公開方法能注入執行中的終端機)。opencode 的 attach 則是真正即時的:訊息直接流入你執行中的 TUI session,Drawgent 在執行期把 MCP 工具注入伺服器。Codex 則是對既有執行緒下排隊指令、從 rollout 檔案鏡射回覆——已實作,但 README 坦承還沒對登入狀態的 Codex 測試過。

較新的功能 --diagram docs/architecture.excalidraw 則把圖直接存進你的 repository,是一個標準 .excalidraw 檔案——漂亮排版、鍵值排序、不含每次編輯的同步雜訊——因此 diff 乾淨,可以像任何原始碼一樣 commit。如果檔案在底下變了(git pull、checkout、手動編輯),以檔案為準,畫布即時更新,刪除也一樣。順帶一提,這些 commit 的共同作者是 Claude Opus 5.5——你大概猜得到這工具是怎麼寫出來的。

團隊協作方面,--room 讓 Drawgent 以協作者身分加入 excalidraw.com 房間,名叫「Agent」,游標會跟著它的編輯移動。其他人留在 excalidraw.com 上:他們的 AGENT: 注記會到達你本機的 agent,而它的編輯也即時出現在所有人面前。流量以房間金鑰做端對端加密。

為什麼白板重要

HN 留言區掀起了真正的辯論。一派認為圖的價值來自畫圖的思考過程——畫圖這個動作會暴露你團隊知識的薄弱處;把這件事外包給 agent,等於丟掉了重點。另一位留言者說,模型寫的數學論文讀起來平淡,因為模型不知道哪些部分該強調、哪些該帶過;圖表可能有一樣的毛病。

作者在討論串裡的回應很說明一切:「因為我手畫圖真的很醜,在這裡我可以快速畫個又快又亂的草稿,然後立刻拿到排好的版本,不斷迭代。」這才是站得住腳的定位——Drawgent 是給「想得出結構、但畫不好圖」的人的平等化工具,而不是要取代畫圖本該逼出來的思考。

與此同時,討論串儼然成了一場 agent 白板生態系普查:Excalidraw 官方的第一方 MCP 端點(留言者指出已六個月沒動)、基於 Mermaid 的 Obsidian relay 外掛、TLDraw、whiteboard-mcp.com,還有一個在幾小時內開源出來的對手 whiteboard-agents。有人回報 Opus 5.5 透過 Claude Code 不需要任何額外軟體、純靠對話就能生成 Excalidraw 場景。這個空間正快速擁擠,而這通常意味著底層需求是真實的。

還沒補上的洞

README 對限制罕見地坦白:渲染器需要 Chrome(原生渲染器在規劃中)、Claude attach 是分叉而非真正注入、圖片與檔案不同步、每個工作區只有一個場景。macOS 版是從 Linux 用 zig 交叉編譯的,而且截至撰文時「尚未在真實 Mac 上測試過」。

但作為 agent UX 方向的宣言,Drawgent 的代表性遠超過它的星星數。「聊天面板 + 共享成品」的模式——一個持續存在、可檢視、可共同編輯的人機介面——比終端機捲軸回溯的現狀更貼近開發者實際協作的方式。終端機是 agent 跑程式的地方;白板是人類思考的地方。這兩者之間的橋,早就該有人搭了。

Drawgent 已在 tangled.org 上提供,有 Linux 靜態建置、macOS 通用二元檔,以及供共享畫布使用的 Docker 映像檔。