跳到主要内容

一切皆任务:待办、文档、笔记、知识网络共用一个容器

· 阅读需 8 分钟
Creator of UnderControl

Unix 有一句著名的设计哲学:一切皆文件。目录、设备、管道、socket——统统用同一套接口去读写,简单、统一、可组合。

UnDercontrol 借用了同样的思路,只不过换了个基本单位:一切皆任务(Everything is a Task)

一切皆任务

大多数工具把"任务"理解成一行带勾选框的待办。UnDercontrol 从一开始就不这么想。在这里,任务(Task)是通用的信息容器——它可以是一条待办、一份文档、一个提醒、一篇博客草稿、一次会议记录、一份决策记录,甚至一个 wiki 页面。一份数据源,按你喜欢的方式组织,所有信息都在一处。

你不用在多个 App 之间来回切换;AI Agent 也只需要一个工具,就能访问你的全部信息。

三层内容结构

每个任务由三层内容组成,各有设计意图,但你可以按自己的习惯自由使用:

层级格式设计意图
任务正文(Body)Markdown会持续演进的权威文档——单一事实来源(Single Source of Truth)
笔记(Notes)Markdown只追加的时间线——记录这个信息单元是如何一步步演变的
评论(Comments)纯文本轻量的线程化讨论——简短、聚焦

正文是活文档,你在这里维护完整、连贯的叙述;笔记记录进展的时间线(会话开始、每次提交、遇到的阻塞);评论则是围绕内容展开的即时对话。三层分工清晰,又都是纯文本,人和 AI 都能直接读懂,不需要任何转换。

任务详情页:Markdown 正文、标签、状态、截止日期、笔记时间线与关系图一览

一个任务详情页就说明了问题:它不是一行待办,而是一份带 Markdown 正文、标签、状态、截止日期、笔记时间线、子任务与关系图的活文档。

一份内容,多种视图

正因为底层只有"任务"这一个基本单位,UnDercontrol 才能提供多种视图来观察和操作同一批数据,你随时切换:

  • 列表视图:线性、可筛选,适合快速浏览与批量处理
  • 看板视图:拖拽卡片改状态,直观管理进行中的工作流
  • 日历视图:按截止日期铺开,一眼看清时间安排
  • 树状视图:沿父子关系展开,梳理任务的层级结构
  • 关系图视图:把任务之间的链接、父子、子任务当作图来遍历,看清知识的关联

同一份数据,四种视角:看板、列表、日历、关系图

看板不是"另一个容器"——它本质上是一个保存下来的查询。同一个任务可以同时出现在多个看板里,没有任何重复。你换的是视角,不是数据。

六种状态,覆盖真实工作流

任务支持六种状态,贴合真实工作的推进节奏:todo(待办)、in-progress(进行中)、pending(待确认/待评审)、done(完成)、archived(归档)、stale(搁置)。看板拖拽会自动更新状态,状态本身就是信息——一眼看清每件事此刻的位置。

用标签和元数据区分,而不是用文件夹

既然一切皆任务,那"文档"和"待办"在数据结构上其实是同一种东西。让它们彼此区别的,从来不是结构,而是标签、元数据和视图。UnDercontrol 不强制你遵守某种打标签的规范,也不逼你建一层层的文件夹:

  • 标签(Tags):你自己定义的自由标签(docmeetingreminder……随你)
  • 一等元数据:标题、状态、标签、截止日期、负责人、链接——用 20% 的字段覆盖 80% 的需求
  • 自定义元数据:无限的键值对(doc_type: rfcclient: acme),同样可以被查询

需要更精确的检索时,UnDercontrol 还提供类 SQL 的查询语法与自然语言查询,把常用条件保存成看板列,复杂筛选一步到位。

虚拟文件夹 + AI:像整理文件一样整理信息

如果你更习惯"文件夹"式的组织,UnDercontrol 也有——虚拟文件夹。每个任务都带一个 path 字段(虚拟路径,是 schema 里的一等公民,如 /Work/Alpha/),在应用里就汇成一棵熟悉的文件树,拖拽即可归类。路径为空表示"未归档",/ 是根,/Work/Alpha/ 是具体目录——不止任务,资源(附件)、技能等实体也共用这套虚拟路径,摆进同一棵树里。

它还能像 Git 一样在本地和云端之间同步:ud pull /Work/Alpha/ 把某个虚拟目录检出到本地文件夹(会生成一个 .ud/ 保存同步状态,就像 .git/),本地随便用编辑器改,ud push 再推回云端。想换目录,本地把文件夹挪个位置,ud push 就更新云端路径。

虚拟文件夹 + AI:用文件树组织,让 AI 帮你重排

真正让组织"超方便"的,是配上 AI。因为整个结构就是纯文本 + 路径,AI Agent 能直接读懂你的信息全貌,替你动手整理:

  • "把这些散落的会议记录都归到 /Meetings/2026-Q3/ 下" —— AI 批量改路径,一句话搞定
  • "帮我把这个项目相关的任务整理成清晰的目录结构" —— AI 读内容、判断归属、重新组织
  • "这些任务应该拆成子任务并归档旧的" —— AI 一并完成拆分、归类、状态流转

Claude Code、Codex、OpenCode 或任何终端型 Agent 都能通过统一的 CLI 做这些事。你负责思考,AI 负责把信息摆到该在的位置。

双向链接:把任务连成知识网络

任务之间可以建立多种连接:对等链接(peer link)把两件相关的事关联起来;父子/子任务关系把大目标拆成可执行的小步骤。配合关系图视图,你的任务库就成了一张可遍历的知识网络,而不是一堆孤立的条目。

在正文、笔记、评论里,你还能用 Markdown 链接直接引用其他实体——引用另一个任务 [标题](task://...)、引用某条笔记 [## 小标题](note://...)、@提到某个成员 [@name](mention://member/...),甚至内嵌上传的图片 ![截图](resource://...)。整个信息库因此是互相打通的。

不只是任务:同一个编辑器,贯穿所有文本界面

"一切皆任务"还有一层延伸:UnDercontrol 的 Markdown 编辑器并非任务专属——它被复用在应用里所有需要写文字的地方:任务正文、笔记、甚至财务记录(支出、账户)的备注。你在任务里熟悉的编辑体验、Markdown 语法、内嵌链接与图片能力,在其他界面完全一致。学一次,处处适用。

附件与协作

任务可以直接拖拽上传文件、从剪贴板粘贴图片附件——截图、设计稿、文档就近保存在它归属的任务上。存储可以是本地,也可以是 S3 兼容对象存储,数据始终在你掌控之中。

协作方面,任务通过**群组(Group)**共享,支持基于角色的读写权限。同一个任务可以出现在共享看板上,团队成员围绕它讨论、更新进展——共享的是这份信息,而不是你的整个账户。

典型场景

  • 个人知识库:把会议记录、决策记录、读书笔记都当作带标签的任务,用查询和看板随时检索——一个 App 收纳所有。
  • AI Agent 协作:Claude Code、Codex、OpenCode 或任何终端型 Agent,都能通过一个统一的 CLI 读写任务、追加笔记、记录进度——人和 AI 共用同一份事实来源。
  • 产品/工程流水线:需求写在任务正文里,进展记在笔记里,评审意见留在评论里,用看板跟踪状态流转,用关系图看清任务依赖。
  • 内容创作:一篇博客的中文稿、英文稿、社交文案各存为一条笔记,任务本身就是"单一事实来源",对外发布的文件都是从它派生出来的。

关系图:任务连成一张可遍历的知识网络

小结

一切皆任务——这不只是一句口号,而是 UnDercontrol 的底层设计:一个 Markdown 原生、AI 就绪的通用容器,配上多视图、六种状态、双向链接、灵活的标签与元数据,以及贯穿全应用的同一个编辑器。你不再需要在待办工具、笔记工具、文档工具之间反复搬运——所有东西,本就该在一处。

从这里开始

一个通用的信息容器,一处收纳你的全部工作——现在就 npm install -g @oatnil/ud 试试。