Virtual Path:让任务沉淀成知识和文档
我见过太多任务在"Done"的那一刻死掉。卡片一归档,里面的东西就再也没人看了——当时为什么这么设计、踩了什么坑、最后怎么验证的,全埋在里面。过两个月有人问起,只能凭记忆再讲一遍。
做 UnDercontrol 的时候我一直有个执念:任务不该是一次性的。它的正文本来就是一份 Markdown 文档,Notes 记着它怎么一步步演进,评论里留着当时的争论。这些东西做完就扔,太浪费了。
所以有了 Virtual Path。

Guides and tutorials
查看所有标签我见过太多任务在"Done"的那一刻死掉。卡片一归档,里面的东西就再也没人看了——当时为什么这么设计、踩了什么坑、最后怎么验证的,全埋在里面。过两个月有人问起,只能凭记忆再讲一遍。
做 UnDercontrol 的时候我一直有个执念:任务不该是一次性的。它的正文本来就是一份 Markdown 文档,Notes 记着它怎么一步步演进,评论里留着当时的争论。这些东西做完就扔,太浪费了。
所以有了 Virtual Path。

想把一篇网页文章丢给 AI 总结、翻译、提问,你现在是怎么做的?
全选复制?粘过去的是一堆导航栏、广告、推荐位和乱掉的排版。发链接?很多 AI 工具抓不了页面,抓到的也常常是残缺的。
UnDercontrol 的 Web Clipper Chrome 扩展给了一个更干净的答案:点一下 Copy Markdown,当前页面的正文被提取成整洁的 Markdown 进入剪贴板——无需登录、无需账号、无需任何配置,装上就能在任何页面用。粘给 Claude、ChatGPT 或任何 AI,它拿到的是纯正文,没有一点噪音。

大多数工具会替你决定任务「长什么样」:几个固定的下拉框、一套写死的字段、一种别人设计好的分类法。可现实里,每个人、每个团队、每种工作流想追踪的维度都不一样 —— 有人要「优先级」,有人要「客户」「预估工时」「所属部门」,有人只想随手贴个标签晚点再筛。
UnDercontrol 不强加结构。它给你三层可自由组合的工具:自由标签、带类型的自定义字段、以及任意键值对。三者都能被查询语法直接筛选,让你按自己的维度切分同一批任务,而不是迁就工具的分类法。
这背后是 UnDercontrol 的一个核心理念:任务不只是待办,它是承载信息的统一容器。同一个 Markdown 编辑器贯穿任务、备注、账目、账户等所有文本界面 —— 而标签和自定义字段,就是让你在这个容器上叠加「你自己的结构」的方式。

Unix 有一句著名的设计哲学:一切皆文件。目录、设备、管道、socket——统统用同一套接口去读写,简单、统一、可组合。
UnDercontrol 借用了同样的思路,只不过换了个基本单位:一切皆任务(Everything is a Task)。

大多数工具把"任务"理解成一行带勾选框的待办。UnDercontrol 从一开始就不这么想。在这里,任务(Task)是通用的信息容器——它可以是一条待办、一份文档、一个提醒、一篇博客草稿、一次会议记录、一份决策记录,甚至一个 wiki 页面。一份数据源,按你喜欢的方式组织,所有信息都在一处。
一句话:
ud pull把云端的任务、笔记、附件拉成本地的 Markdown 文件,ud push把你在本地的修改推回去。像git clone和git push一样自然。多个仓库,一个 server,随时随地查看编辑。

我们已经习惯了 "X as Code":基础设施即代码、配置即代码、文档即代码。原因很简单——纯文本可以 diff、可以 review、可以版本控制、可以被脚本和 AI 直接读写。
那为什么你的任务、笔记、待办,还锁在某个 SaaS 的数据库里,只能通过它的 UI 一个个点?
UnDercontrol 的答案是:Everything as Code。在这里,一个任务就是一段带 YAML frontmatter 的 Markdown。仅此而已。
