用 Markdown 和 Mermaid 甘特图管理项目

用 Mermaid 甘特图管理项目

项目管理工具虽然方便,但要按月付费,数据被封闭在服务之中,而且谁也说不准几年后这项服务是否还在。

而文本文件 30 年后依然能打开。本文介绍如何只用 Markdown 和 Mermaid 管理项目进度。

为什么用文本管理

  • 任何编辑器都能打开。不受特定应用的束缚
  • 差异一目了然。用 Git 管理,就能留下谁在什么时候改了什么的记录
  • 可以搜索。无论是访达还是 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,一个应用就能搞定
  • Orviss 的项目概览模板一开始就包含甘特图。只需添加几行,就能开始管理进度

让 AI 智能体来读取

用文本管理的优势,在这里体现得最为明显。

Claude Code、Codex、Cursor 等 AI 智能体可以读写文件夹中的文件。如果项目资料是本地磁盘上的纯 Markdown,只要让智能体打开那个文件夹,

  • “用 5 行概括这个项目的现状”
  • “从上周的会议记录中找出未完成的任务,添加到清单里”
  • “工作延误了 3 天,请重新排一下甘特图的日期”

这样的指令就能直接生效。不需要特别的集成设置,也不需要 API 密钥。项目文件夹本身就成了 AI 的外部大脑。

Orviss 正是以这种用法为前提打造的应用。在项目或日期文件夹中,不仅可以放 Markdown 笔记,还能把普通文件、网页和邮件放在一起。所有内容都是本地的普通文件,因此智能体修改的内容会立即反映在界面上。目前已推出 Mac 版,iPhone 和 iPad 版也即将推出。

→ 了解 Orviss 详情

总结

  • Mermaid 的 gantt 语法很简单,要记的东西不到 10 个
  • 一篇概览笔记加上每周一次更新,就能让进度管理运转起来
  • 以文本形式保存,就能直接作为上下文交给 AI 智能体