用 Markdown 和 Mermaid 甘特圖管理專案

用 Mermaid 甘特圖管理專案

專案管理工具雖然方便,但要按月付費,資料被封閉在服務之中,而且誰也說不準幾年後這項服務是否還在。

而文字檔 30 年後依然打得開。本文介紹如何只用 Markdown 和 Mermaid 管理專案進度。

為什麼用文字來管理

  • 任何編輯器都能打開。不受特定 App 的束縛
  • 差異一目了然。用 Git 管理,就能留下誰在什麼時候改了什麼的記錄
  • 可以搜尋。無論是 Finder 還是 grep,都能把它當作一般檔案處理
  • 方便交給 AI。這是近來最大的優點(詳見後文)

Mermaid 甘特圖的寫法

Mermaid 是一種用文字繪製圖表的語法。在 Markdown 程式碼區塊中指定 mermaid 即可撰寫。

```mermaid
gantt
title 網站改版
dateFormat YYYY-MM-DD
axisFormat %m/%d
excludes weekends

section 準備
整理需求 :done, req, 2026-09-01, 5d
確定設計方向 :done, des, after req, 4d

section 製作
製作首頁 :active, top, 2026-09-12, 7d
製作子頁面 : sub, after top, 10d

section 上線
內部審查 :crit, rev, after sub, 3d
正式上線 :milestone, m1, after rev, 0d
```

需要記住的東西並不多。

寫法意義
dateFormat YYYY-MM-DD日期格式(最先宣告)
section 名稱為工序分組
:done,已完成的任務(灰色)
:active,進行中的任務(深色)
:crit,重要任務(紅色系)
:milestone,表示期限的菱形標記
after req在另一個任務(ID 為 req)結束後開始
5d / 2w工期(天、週)
excludes weekends計算天數時排除週六和週日

容易出錯的地方

  • 忘記寫 dateFormat 時,日期將無法解析
  • 任務名稱中含有 : 會導致錯誤
  • after 參照的是 ID,而不是任務名稱(如上例中的 req、top)

進度管理的日常做法

太講究的做法難以持續。只要做到下面 3 點就夠了。

  1. 每個專案建立一篇概覽筆記。寫上目標、相關人員、目前進度、接下來要做的事,以及甘特圖
  2. 每週只更新一次。把 :active 改成 :done,修正延誤任務的日期。5 分鐘就能完成
  3. 細小的任務用檢查清單來寫。像 - [ ] 寄出稿件 這樣寫好,未完成的項目就一目了然

甘特圖用來掌握「整體輪廓」,日常的任務管理則交給檢查清單。兩者能放在同一個檔案中,正是這個方法的好處。

可以顯示圖表的地方

Mermaid 在 GitHub 和 GitLab 的 Markdown 中可以直接繪製。如果想在自己的 Mac 上邊寫邊看,就需要支援 Mermaid 的編輯器。

  • Markdocx 內建 Mermaid,繪製完全在 Mac 本機完成。從撰寫到把完成的文件輸出為 Word 或 PDF,一個 App 就能搞定
  • Orviss 的專案概覽範本一開始就包含甘特圖。只要加上幾行,就能開始管理進度

讓 AI 代理來讀取

用文字管理的優勢,在這裡最能發揮。

Claude Code、Codex、Cursor 等 AI 代理可以讀寫資料夾中的檔案。如果專案資料是本機磁碟上的純 Markdown,只要讓代理打開那個資料夾,

  • 「用 5 行摘要這個專案的現況」
  • 「從上週的會議記錄中找出未完成的任務,加到檢查清單裡」
  • 「作業延誤了 3 天,請重新排一下甘特圖的日期」

這樣的指令就能直接生效。不需要特別的整合設定,也不需要 API 金鑰。專案資料夾本身就成了 AI 的外部大腦。

Orviss 正是以這種用法為前提打造的 App。在專案或日期資料夾中,不只可以放 Markdown 筆記,還能把一般檔案、網頁和郵件放在一起。所有內容都是本機的一般檔案,因此代理修改的內容會立即反映在畫面上。目前已推出 Mac 版,iPhone 和 iPad 版也即將推出。

→ 查看 Orviss 詳細介紹

總結

  • Mermaid 的 gantt 語法很簡單,要記的東西不到 10 個
  • 一篇概覽筆記加上每週一次更新,就能讓進度管理運作起來
  • 以文字形式保存,就能直接當作上下文交給 AI 代理