项目管理工具虽然方便,但要按月付费,数据被封闭在服务之中,而且谁也说不准几年后这项服务是否还在。
而文本文件 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 点就足够了。
- 每个项目建一篇概览笔记。写上目标、相关人员、当前状况、接下来要做的事,以及甘特图
- 每周只更新一次。把
:active改成:done,修正延误任务的日期。5 分钟就能完成 - 细小的任务用清单来写。像
- [ ] 发送稿件这样写好,未完成的事项就一目了然
甘特图用来把握“整体轮廓”,日常的任务管理则交给清单。两者可以放在同一个文件中,正是这种方法的好处。
可以显示图表的地方
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 版也即将推出。
总结
- Mermaid 的
gantt语法很简单,要记的东西不到 10 个 - 一篇概览笔记加上每周一次更新,就能让进度管理运转起来
- 以文本形式保存,就能直接作为上下文交给 AI 智能体
