Skip to content

构建 VMark 要花多少钱?

太长不看版

VMark 拥有约 109,000 行生产代码和 206,000 行测试代码,涵盖 TypeScript、Rust、CSS 和 Vue。一个人工团队从零构建需要 4,239 个开发人日(约 17 人年)。按美国市场费率计算,这意味着 340 万至 420 万美元。而它实际上由一个人借助 AI 辅助,在 85 个日历日内完成,成本约为 2,000 美元——生产力提升约 50 倍,成本降低约 99.9%。

为什么有这个页面

一个问题反复出现:"VMark 到底花了多大力气?"

这不是营销页面。这是一份透明的、数据驱动的分析,使用真实的代码指标——不是凭感觉。这里的每个数字都来自 tokei(代码行统计)、git log(历史记录)和 vitest(测试计数)。你可以自行克隆仓库来复现这些数字。

原始指标

指标数值
生产代码(前端 TS/TSX)85,306 LOC
生产代码(Rust 后端)10,328 LOC
生产代码(MCP 服务器)4,627 LOC
生产 CSS8,779 LOC
i18n 语言数据10,130 LOC
网站(Vue + TS + 文档)4,421 LOC + 75,930 行文档
测试代码206,077 LOC(656 个文件)
测试数量17,255 个测试
文档75,930 行(320 页,10 种语言)
提交次数84 个活跃日内 1,993 次
日历时间85 天(2025 年 12 月 27 日至 2026 年 3 月 21 日)
贡献者2 人(1 人 + AI)
变动比率3.7 倍(123 万次插入 / 33 万最终行数)
测试与生产比2.06:1

这些数字意味着什么

  • 测试与生产比 2.06:1 非常卓越。大多数开源项目在 0.3:1 左右。VMark 的测试代码是生产代码的两倍。
  • 变动比率 3.7 倍意味着最终代码库中的每一行,总共写了 3.7 行(包括重写、重构和删除的代码)。这表明经历了大量迭代——不是"写一次就发布"。
  • 84 个活跃日内 1,993 次提交,平均每天约 24 次提交。AI 辅助开发会产生大量小型、聚焦的提交。

复杂度分层

并非所有代码都是一样的。一行配置解析代码和一行 ProseMirror 插件代码的工作量完全不同。我们将代码库分为四个复杂度层级:

层级包含内容LOC速率(LOC/天)
常规(1.0 倍)i18n JSON、CSS Token、页面布局、设置 UI23,000150
标准(1.5 倍)Store、Hook、组件、MCP 桥接、导出、Rust 命令、网站52,000100
复杂(2.5 倍)ProseMirror/Tiptap 插件(多光标、专注模式、代码预览、表格 UI、IME 防护)、CodeMirror 集成、Rust AI 服务商、MCP 服务器30,00050
研究(4.0 倍)CJK 排版引擎、组合输入防护系统、具备 IME 感知的自动配对4,00025

"LOC/天"速率假设一位高级开发者编写经过测试和审查的代码——不是未审查的原始输出。

为什么编辑器插件这么贵

VMark 中单项成本最高的部分是 ProseMirror/Tiptap 插件层——34,859 行代码,管理文本选择、文档事务、节点视图和 IME 组合输入。这被普遍认为是 Web 开发中最困难的领域:

  • 你操作的是文档模型,而不是组件树
  • 每次编辑都是一个必须保持文档完整性的事务
  • IME 组合输入(用于 CJK 输入)增加了一整套并行状态机
  • 多光标需要同时追踪 N 个独立选区
  • 撤销/重做必须在上述所有情况下正确工作

这就是为什么插件层被归类为"复杂"(2.5 倍乘数),而 CJK/IME 代码被归类为"研究"(4.0 倍)。

工作量估算

组件LOC开发人日
第 1 层生产代码(常规)23,000153
第 2 层生产代码(标准)52,000520
第 3 层生产代码(复杂)30,000600
第 4 层生产代码(研究)4,000160
测试代码206,0771,374
文档(10 种语言)75,930380
小计3,187
开销(设计 5% + CI 3% + 审查 10%)574
变动税(3.7 倍 → +15%)478
总计4,239 开发人日

这大约是 17 人年的全职高级工程工作量。

关于测试工作量的说明

测试套件(206K LOC,17,255 个测试)占 1,374 开发人日——超过总工作量的三分之一。这是项目测试优先纪律的代价。没有它,项目构建成本会便宜约 40%,但维护难度会显著增加。

成本估算

使用美国市场费率(全部成本——工资 + 福利 + 间接费用):

场景团队时长成本
单人高级开发($800/天)1 人17.7 年$3.39M
小型团队(平均 $900/天)3 人2.3 年$3.82M
完整团队(平均 $1,000/天)5 人10.6 个月$4.24M

团队规模不是线性增长的。一个 5 人团队的生产力大约是 1 个人的 4 倍(不是 5 倍),因为沟通开销——这就是布鲁克斯法则的体现。

AI 的真实情况

指标数值
实际日历时间85 天(12 周)
人工等价4,239 开发人日(约 17 人年)
生产力倍数约 50 倍
估计实际成本约 $2,000(Claude Max 订阅)
人工等价成本(单人)$3.39M
成本降低约 99.9%

50 倍乘数意味着什么

意味着"AI 比人类聪明 50 倍"。它意味着:

  1. AI 不需要上下文切换。 它能将整个代码库保持在记忆中,同时对 10 个文件进行修改。
  2. AI 以生产速度编写测试。 对人类来说,编写 17,255 个测试是令人崩溃的苦差事。对 AI 来说,只是更多的代码。
  3. AI 瞬间处理样板代码。 10 种语言的翻译层(10,130 LOC 的 JSON + 320 页文档)会让人工团队花费数周。AI 只需几分钟。
  4. AI 不会感到无聊。 那 656 个覆盖边界情况、IME 组合输入和 CJK 排版的测试文件,恰恰是人类会跳过的工作。

人类的角色是判断——构建什么何时停止、选择哪种方案。AI 的角色是劳动——编写、测试、调试、翻译。

市场对比

维度VMarkTyporaZettlrMark Text
核心功能Markdown 所见即所得 + 源码模式Markdown 所见即所得学术 MarkdownMarkdown 所见即所得
LOC(估计)约 109K 生产代码约 200K(闭源)约 80K约 120K
贡献者2 人(1 人 + AI)1-2 人(闭源)约 50 人约 100 人
年龄3 个月8 年以上6 年以上6 年以上
价格免费(测试版)$15 授权免费 / 开源免费 / 开源
核心差异Tauri 原生、MCP AI、CJK 原生、多光标打磨度高、PDF 导出Zettelkasten、引用管理Electron、成熟稳定

这个对比说明了什么

VMark 在 85 天内达到了其他项目用 6 至 8 年、50 至 100 位贡献者才达到的同等代码规模和功能集。测试纪律(17K 测试,2:1 比率)超过了本次对比中的所有开源 Markdown 编辑器。

这并不是因为 VMark "更好"——它更年轻,经受的实战检验更少。但它证明了 AI 辅助开发的可能性:一个人可以产出以前需要一个资助团队才能完成的成果。

是什么让 VMark 构建成本高昂

三个因素驱动了成本:

  1. 编辑器插件复杂度——34,859 行 ProseMirror 插件代码,涉及选区、事务、节点视图和 IME 组合输入。这是第 3/4 层代码,一位资深编辑器框架专家的编写速度约为每天 50 LOC。

  2. 极端的测试纪律——2.06:1 的测试与生产比意味着仅测试代码(206K LOC)就比生产代码需要更多的工作量。这是一项有意为之的投资——它让 AI 辅助开发可持续。

  3. 10 种语言的完整国际化——320 页文档、80 个语言 JSON 文件和一个完整的本地化网站。这是通常只在资助的商业产品中才能看到的运营规模,而非个人项目。

复现这些数字

所有指标都可以从公共仓库复现:

bash
# 克隆并安装
git clone https://github.com/xiaolai/vmark.git
cd vmark && pnpm install

# LOC 指标(需要 tokei:brew install tokei)
tokei --exclude node_modules --exclude dist .

# Git 历史
git log --oneline | wc -l
git log --format='%ai' | awk '{print $1}' | sort -u | wc -l

# 测试数量
pnpm vitest run src/ 2>&1 | tail -5

方法论

本分析中使用的生产力基线(LOC/天速率)是针对高级开发者编写经过测试和审查的代码的行业标准估算。这些数据来自软件估算文献(McConnell、Capers Jones),并针对生产级质量的输出进行了校准——而非原型或概念验证代码。