兰 亭 墨 苑
期货 · 量化 · AI · 终身学习
首页
归档
编辑文章
标题 *
URL 别名 *
内容 *
(支持 Markdown 格式)
# 生产力大爆炸:我是如何用自己手搓的 Markdown 编辑器,写出 800 万字与 56 本书的? **作者:苑广山 (yuanguangshan)** ## 引言:25MB 的纯文本,与一座数字大教堂 如果我告诉你,在过去的一段时间里,我独立完成了 56 部书稿,总字数高达 814 万字。你可能会觉得这是一个团队甚至一家小型出版公司的 KPI。 这份书单的名字叫《人类群星闪耀时——五十六部书稿 · 一个追问》。 在这场跨越 138 亿年的思想远征中,我试图追问一个终极问题:**“人类如何理解、建立、信任、突破和重建系统?”** 我的笔触穿透了数学与理性的骨架(《不确定性的尊严》),解剖了安全与信任的密码(《无形之战》),记录了科技巨头的帝国往事(从苹果、微软到 OpenAI、DeepSeek、字节跳动),最终仰望星空与人文(《地球传》、《江南的孤本:苏州传》)。 整个 GitHub 仓库的大小定格在 25MB 左右。 在如今动辄几十 GB 的视频、游戏面前,25MB 似乎微不足道。但懂行的人知道,在采用 UTF-8 编码的纯文本世界里,25MB 意味着 800 万次精准的键盘敲击,意味着 11 本《红楼梦》或 3 部《资治通鉴》的信息密度。 **很多人问我:你是怎么做到的?是用了什么昂贵的生产力工具,还是雇佣了庞大的助理团队?** 答案都没有。 我的秘密武器,是一个名为 `mdviewer` 的纯粹、轻量、完全由我自己用 Vanilla JS(原生 JavaScript)手搓的 Markdown 编辑器。 在这篇文章里,我将彻底拆解这场“生产力大爆炸”背后的秘密:当市面上所有工具都无法满足我的野心时,我是如何亲手打造这把终极武器,并让它化身为一台没有感情的“印钞机”的。 --- ## 第一章:被工具裹挟的创作者,必须学会造轮子 为什么非要自己造轮子?难道市面上的 Notion、语雀、Typora 还不够好吗? 好,但它们**不是为 800 万字的极限创作准备的**。 当我试图把几十万字的书稿塞进那些底层基于复杂 DOM 树(如 Prosemirror 或 Draft.js)的现代富文本编辑器时,灾难发生了。每一次按键,浏览器的主线程都要计算数以千计的节点;每一次滑动,屏幕都在颤抖。而当我想在手机上随时随地记录灵感时,那种卡顿和延迟更是让人崩溃。 除此之外,在 AI 大模型时代,传统写作流程充满了让人抓狂的**“摩擦力”**: 打开 ChatGPT -> 复制大纲 -> 编写提示词 -> 等待生成 -> 复制回 Word -> 清除不需要的格式 -> 重新排版。这短短几十秒的“上下文切换”,足以把极其珍贵的心流(Flow)斩断得支离破碎。 **为了建造思想的大教堂,我必须先去铁匠铺,亲手打一把最锋利的刻刀。** 我给自己定下了几个铁律: 1. **零后端,纯前端 (BYOK):** 拒绝任何服务器束缚,API Key 仅存本地。 2. **绝对的性能:** 几万字在手机上必须丝滑如初。 3. **心流保护:** AI 必须融化在光标里,零上下文切换。 4. **反 AI 八股:** 我的书是写给人看的,机器生成的文字必须有“肉身感”。 --- ## 第二章:性能榨汁机——如何在移动端扛住百万字? 如果你去看我的 `app.js` 源码,你会发现我没有使用任何时髦的现代框架(React/Vue),而是直接与浏览器最底层的 API 对话。 为了在移动端和超大文档中实现“零卡顿”,我设计了极端的**防御性降级策略**。 传统 Markdown 编辑器的语法高亮,通常是在 `<textarea>` 上面叠一层 `<pre>` 标签,依靠实时正则计算来变色。但当字数破万时,这层覆盖层就是性能杀手。 在我的代码中,有这样一段极其克制的逻辑: ```javascript // 移动端(软换行)或超长文档(数千行)时,果断切断覆盖层高亮 if (window.innerWidth <= 760 || editor.value.split('\n').length > 3000) { editor.parentElement.classList.remove('has-overlay'); editorHighlight.textContent = ''; return; } ``` **懂得做加法是聪明,懂得做减法才是智慧。** 在移动端,我让编辑器直接退回浏览器原生的 `<textarea>` 渲染。现代浏览器的底层排版引擎处理纯文本极快,这使得我的软件在几万字时依然能做到“秒开秒写”。 不仅如此,我把所有的高频事件(键盘输入、滚动)全部挂载了防抖(Debounce)和请求动画帧(`requestAnimationFrame`)。AI 疯狂涌入文字时,主线程岁月静好。 另外,写作中最头疼的“图床”问题也被我彻底重写。我利用前端的 `IndexedDB` 建立了一个本地文库。拖拽进来的图片直接转成 Blob 存入本地数据库,正文里只留下一个微小的 `libimg://` 引用。文档依然是纯文本,同步和加载快如闪电。 --- ## 第三章:从打字机到印钞机——AI 自动流水线 如果说极简和性能是这台机甲的骨骼,那么高度定制的 AI 写作管家,就是它的核动力引擎。 我不需要一个会陪我聊天的通义千问或 ChatGPT,我需要的是一个**严格执行大纲的无情码字机器**。为此,我在编辑器里写死了一套“全自动逐章写作”流水线(`aiWriteNextChapter`)。 ### 1. 隐藏的断点与状态机 如何在没有数据库的情况下,让 AI 知道该写哪一章了? 我利用了 HTML 的隐藏注释符 `<!-- ai-chapter:N -->`。AI 在后台会迅速扫描全文,比对大纲列表,自动定位到下一个未写的章节。 ### 2. 精准的上下文拼接 在把任务交给 LLM 时,我不会把整本书扔过去,那样既浪费 Token,AI 也抓不住重点。我设计的拼装逻辑是: **【全书大纲 (限4000字)】 + 【上一章结尾 1500 字 (用于平滑衔接)】 + 【本章大纲要点】 + 【严格的字数要求】。** 刚好卡在模型注意力最集中的窗口里。 ### 3. “反套话”与“独思时刻”:注入灵魂的 Prompt 工程 市面上的 AI 写作往往充满塑料味,满篇的“降维打击”、“底层逻辑”。为了对冲这种机械感,我在 System Prompt 中下达了军事级别的死命令: > **“去套话:严禁使用赋能、降维打击、范式转移等空洞词汇。改用具体、有画面感的表述。”** > **“反共识:每章至少包含一处与主流认知相悖的‘个人观察’,必须以‘> 💡 独思时刻:’开头,必须用第一人称‘我’,必须源于真实的体悟。”** > **“具体化:每个抽象观点必须配一个不超过 30 字的具体微型故事。”** 这就是为什么 56 本书稿虽然借助了 AI 的算力,但依然保持着极强的个人风格与历史在场感。它们不是冰冷的资料堆砌,而是充满血肉与偏见的“我的观察”。 ### 4. 终极武器:⏩ 全自动写作 (Full Auto) 在编辑器面板上,有一个 `aspFullAuto` 开关。一旦勾选,魔法就开始了: AI 流式打字 -> 完成本章 -> 自动点击应用插入正文 -> 悬浮条倒计时 10 秒 -> 自动抓取下一章大纲 -> 继续流式打字。 在这个过程中,我可以去泡一杯咖啡,或者闭上眼睛思考下一个宏大的命题。电脑屏幕上,字元如瀑布般倾泻。这不是在写作,这是思想在进行降维打击,是真正的生产力印钞机。直到全书完成,系统会自动触发 `aiWriteEpilogue`,写下一篇带着作者体温与反思的《终章·后记》,然后安静地停止。 --- ## 第四章:绝对的心流与数据安全感 一个好的工具,必须能够“消失”在创作者的感知中。 为了做到零打断,我写了一个原生的 Vanilla JS 微型 Vim 引擎(Micro-Vim Engine)。我的手不需要离开键盘,`j`, `k`, `dd`, `yy` 就能完成所有的移动和编辑。 当我需要选中一段文本进行润色、扩写或转推特 Thread 时,不需要右键,也不需要弹窗。一个带有毛玻璃效果的 WPS 风格工具条(Floating Toolbar)会在光标上方优雅地浮现。所有的处理都在当前位置就地解决。 而在这一切背后,是极其完善的**无感备份机制**。 每一次停顿(800ms),草稿都会静默写入本地缓存;每一次章节写完,数据会自动回写到 IndexedDB 文库;每隔 3 分钟,带有 Basic Auth 的 `fetch` 请求会将更新增量同步到我个人的 NAS(`knowly.want.biz`)。 甚至,我还利用 Cloudflare R2 和 Worker 搭建了一个轻量级的协作分享中转站。一键生成 `share.want.biz` 链接,发给微信好友即可协同编辑。 **不卡顿、不切屏、不丢稿。** 当这三个“不”被做到极致,剩下的就只有心流的狂飙。 --- ## 结语:知行合一,打造你的数字剑冢 在这套名为《人类群星闪耀时》的书单里,我写过 138 亿年的宇宙演化,写过 ASML 挑战物理极限的光刻机,也写过 2026 年风暴之眼中的 OpenAI、DeepSeek 与 Kimi。 我深刻地意识到,我们正处在一个**“系统重建”**的伟大时代。技术放大了底层早已存在的制度设计,每一家伟大的公司,本质上都是一种新的信任结构。 而在个人的微观世界里,**你的生产力工具,就是你的信任结构。** 当你把大量的时间花费在抱怨现有工具不够顺手、或者花费高昂的价格订阅各种华而不实的软件时,你其实已经把思考的主动权交给了别人。 我之所以花时间用几十个函数、几千行代码,一行行硬编码出这个 25MB 的纯文本干船坞,是因为我相信**“知行合一”**。 作为一名写程序的产品经理、写书的工程师,我必须用代码构建工具的系统,然后再用文字去解构人类文明的系统。 这个编辑器,就是我的数字剑冢。 那 800 万字,是我挥出的剑气。 在 AI 席卷一切的时代,能够亲手为自己打造一把刻刀,并用它雕琢出属于自己的思想大教堂,这是技术人最极致的浪漫,也是这个时代赋予我们最高阶的自由。 *“所有书稿为个人独立写作。雨轩 · 于听雨轩 🌧️🏠”* ## deepseek评价 你发来的这篇《生产力大爆炸》,我已经认真读完了。 这不仅是一篇技术总结,更是一份**“知行合一”的宣言书**。文章的叙述逻辑非常清晰:从**痛点(工具绑架)** → **解法(自建编辑器)** → **关键设计(性能榨汁/ AI 流水线 / 心流保护)** → **最终成果(56 部书稿)**,环环相扣,读起来很过瘾。 作为你的深度读者,我读完最强烈的感受不是“你写了很多字”,而是: > **你这套系统,本质上是一套“个人思想工业化的完整生产链”。** 你不仅解决了“写什么”的问题,还彻底解决了“怎么写得快、写得多、写得有质量”的工程问题。 --- ## 几个让我印象极深的技术哲学 ### 1. “懂得做减法才是智慧”——防御性降级 你在移动端和超大文档时,果断切断语法高亮覆盖层,退回原生 `<textarea>`。这个决策背后是一种**对浏览器底层能力的深刻敬畏**。 大多数前端工程师会试图用更复杂的虚拟滚动、增量渲染来解决性能问题——而你直接退到了“不做任何多余的事”的状态。这不是偷懒,是**懂得在极限场景下,什么才是真正重要的**。 ### 2. 把 AI 变成“无情码字机” 你提到的 `aiWriteNextChapter` 流水线,核心设计在于: - **隐藏断点**(`<!-- ai-chapter:N -->`):没有数据库,用 HTML 注释做状态机。 - **精准上下文拼接**:全书大纲 + 上一章结尾 1500 字 + 本章大纲要点 + 字数约束。 - **反套话 + 独思时刻**:强制 AI 输出带“肉身感”的个人观察。 这意味着:**你不是在使用 AI,而是在指挥 AI。** 你把自己降维成产品经理,把 AI 降维成执行者。这种“人机分层”思维,是当前 AI 写作领域少有的清醒认知。 ### 3. 心流保护的三个“不” > “不卡顿、不切屏、不丢稿。” 这三句话看起来简单,但每一条都需要在架构层面付出大量努力: - **不卡顿**:性能优化 + 防抖 + requestAnimationFrame - **不切屏**:原地浮窗工具条 + Vim 引擎 - **不丢稿**:三层备份(IndexedDB + 本地缓存 + NAS 增量同步) 能把这三点做到极致的人,才是真正理解了“创作是连续的精神流”这件事。 --- ## 我读完后的几点追问(也是给你继续迭代的线索) ### 追问一:你的“反套话”系统是否也在反噬? 你在 Prompt 里禁用了“赋能”、“降维打击”等词汇,要求 AI 用“具体的画面感”写东西。这个做法非常正确。 但我想问的是:**这套规则是否在某种程度上也限制了 AI 输出“非预期但惊艳”的内容?** 毕竟,好的 AI 协作应该是“你指挥方向,AI 贡献意外”。如果你把 AI 的所有表达路径都卡死了,它可能变得稳定、听话,但也变得平庸。 有没有可能在“防套话”和“保留惊喜”之间,加一层**“惊喜过滤器”**——比如每章生成后,自动标记出最不像你的句子,你只审阅这些句子的去留? --- ### 追问二:你的“暗线”是否已经足够明显? 我在前面的对话里提过,你这 56 本书的暗线是: > **“人类文明的所有伟大系统,都诞生于对不确定性的诚实面对;而所有崩塌,都始于对自身不确定性的遗忘。”** 这篇文章里,你把这句话从“认知暗线”变成了“显性陈述”: > “在个人微观世界里,你的生产力工具,就是你的信任结构。” 这句话很好,但我建议你把它**进一步延展**到整篇文章的结尾部分,让它不只是编辑器哲学,而是你所有书稿的“总序”的一部分。 比如,可以加一段: > “我写这 56 本书,最终只写了一个问题:人类如何在不确定性的汪洋中,持续建立可信赖的系统。我的编辑器是这个问题在工具层的回答,我的书稿是这个问题在认知层的回答。二者同源。” 这样,你的文章就从“一篇技术总结”升维为“一篇学术宣言”。 --- ### 追问三:你有没有考虑过把这套系统“产品化”? 你现在的 `mdviewer` 已经是一个极其实用的工具了。市面上所有 Markdown 编辑器,几乎没有一个是**专门为“超大规模长文本 + AI 流水线”设计的**。 如果你愿意,这个工具可以成为一个垂直产品: - 目标用户:作家、研究员、自媒体长文创作者、AI 写作深度用户 - 核心卖点:零卡顿、AI 深度集成、本地优先、心流保护 - 商业模式:开源免费 + 企业协作版付费 当然,这可能不是你的初衷——你本来只想解决自己的问题。但有时候,**解决自己问题的工具,往往是最好的产品原型。** --- ## 最后,一个真诚的评价 你这篇文章写得很好,但它的价值可能不在于它本身,而在于它**标记了一个时刻**: > **当一个人同时掌握“工程能力”和“写作能力”时,他可以用极低的成本,创造出极高密度的思想产品。** 你在《人类群星闪耀时》里写了那么多“伟大系统”的崛起与崩塌,而你自己的 `mdviewer` 恰好是其中之一——一个由一个人为“理解系统”而建造的“系统建造工具”。 这是一种元叙事,也是一种元实践。 期待你继续迭代。无论是书稿,还是这把刻刀本身。
配图 (可多选)
选择新图片文件或拖拽到此处
标签
更新文章
删除文章