Markdown编辑器可以说是满大街都是了,但是这个软件我觉得是我实践联手最好的选择。一个是我对Markdown有足够的了解,在实现这个产品的过程中可以了解到自己哪里做的不足,同时正是由于满大街都是了,我可以对比我和其中优秀的Markdown编辑器差距在哪里。
在AI时代,大模型的输出正是Markdown,从需求分析的角度来说,我觉得这会促使更多人开始学习和使用Markdown。于是我在搜索引擎上通过直接输入搜索Markdown编辑器和Markdown editor关键词,在谷歌和国内各种平台下得到了很多收获。
从需求的角度来说,我是这么理解和分析的。
1. 编辑器只是整个需求流程的中间衔接环节,上游是内容创作,下游是内容发布。
2. 接前一点,Markdown多用于程序员编写技术、接口文档,高校写论文写公式以及一些对内容排版有要求的自媒体平台发布;而下游则是通过编辑器将内容整理排版好,发布到各个不同的平台或是下载备份。
3. 如果仅仅只提供一个编辑器,那么竞争会非常激烈,且市场中已有typora这样的明星级产品。
基于以上几点,我的想法是编辑器只是第一步,我想要设计的是一个能排版、能获取内容以及帮助内容生产提升效率的产品。大致是以下几点:
1. 可以导入诸如word、PDF、html这些格式复杂的文档,进行智能排版,同时我还在探索音频、视频等多模态的内容转换为Markdown;
2. 下游的话目前我思考的还不是特别多,主要是基于排版好的内容生成海报图片,将Markdown转为各种其他的不同格式;
3. 从网络上收集到的信息来看,格式转换方面,word、PDF、html与Markdown的互转是一个常见需求,也是很多编辑器差异化的功能点;
4. 而更高级的PPT互转、图片内容提取、带图片的word文档、带图片的PDF文档转Markdown则是需求较小,但并没有特别强大的产品能够支持的特别好;
从以上整理的信息来看,其实虽然Markdown编辑器实现起来简单,但依然有很多值得尝试突破的方向。
而之所以依然存在很多需求并没有满足,市场上也缺少完美的产品来满足需求,在我整理和调查产品期间,我的总结如下:
1. Markdown的使用者主要是互联网软件行业从业者、高校使用居多,整体的用户群体目前并不大;
2. Markdown的格式互转需求已有成熟的方案,只是使用这些轮子的成本与最终价值不成正比。比如Markdown转其他格式有Pandoc这种强大的工具,但是如果Markdown编辑器再实现一次,还不如直接使用Pandoc;
3. 虽然格式互转需求一直存在,但是并没有强大到可以支持商业化。一些能力强大的开发团队,完全可以使用现有的成熟方案自己实现编辑器,这种产品完全没有必要对外服务;
4. 行业内obsidian、飞书、Notion等产品都已经有了非常强大的编辑器,为了更小的诸如格式转换之类的需求专门开发一个产品,对团队来说收益不大;
但是我觉得随着大模型使用的更加深入,Markdown的普及率会逐步提升,会让Markdown的编辑需求提升,同时也非常适合我个人进行实践。
以上就是我想做Markdown编辑器的初衷和选择原因了。
那就开始-实践
与传统的软件研发流程不一样,大模型并不需要详细的产品需求文档,我只需要给大模型一个功能结构,只有一些特别的功能需要单独说明,其他的让大模型发挥即可。
第一步我沿用了我的经验,给了大模型一个需求说明。
---
项目背景
- 作为一个软件产品经理,在日常工作研究中使用markdown来记录内容和撰写文档的过程中,使用markdown语法时无法实时看到实际效果,经常因为语法错误导致排版异常等问题。
项目目标和目标用户
- 项目目标
* 构建一个高效的markdown编辑器,让用户能够直接在编辑器中输入内容,并导出为md、pdf以及word等格式的文档。
- 目标用户
* 使用markdown作为文档编写工具的用户
用户痛点
- 作为一个软件产品经理,我希望在使用markdown文档记录内容时能够一边编辑一边看到实际效果,以便检查和检验文档内容、排版是否正确。
功能说明
1. 基础编辑器实时预览功能的基础markdown编辑器
2. 编辑器内提供markdown语法说明
3. 支持在编辑器内直接点击按钮实现加粗、斜体、代码嵌入等markdown语法功能
4. 支持将编辑器内容导出为md、pdf以及word格式文档
5. 支持浅色和深色主题模式切换
6. 编辑器页面使用tailwindcss样式实现
---
第一版我使用Trae中的Claude4.0实现了需求,看起来很像那么回事,要求完全满足了,且启动特别快,我当时很满意。
为了实践Claude Code,我让接入了GLM4.7的Claude Code对这个项目进行了一个Code review,问题总结如下:

防抖、可扩展性、安全性的说明让我第一次知道了我自己多么无知。作为一个软件产品经理,我才深知我对软件的了解非常有限。通过Trae实现的软件,如果没有特殊要求,一般都是非常简单的单文件或者脚本,也是通过这个项目我第一次知道前端模块化。于是我便使用Claude Code的计划模式,与大模型讨论了第一版重构方案。
这次重构从头到尾前后用了6天,总计投入了30-40个小时,我每天就盯着Claude Code的动态,然后不断在其他AI中搜索重构的内容,虽然一知半解,但是也了解不少软件的结构设计。因为GLM4.7还不如Claude强大,也因为我对Claude Code的使用并不熟练,所以这次重构时间很长。
这一次重构完成后,项目看起来并没有变化,但是期间实践得到的网站设计、软件设计的架构知识受益良多。
从目前的进度可以看到,编辑器的实现很顺利,也满足我自己日常使用的需求。于是我想着再实践一下网站出海,在阿里云上购买了域名,使用cloudflare进行域名解析,代码托管在vercel平台上。
这个过程只花了2天,几个小时而已。这个实践将我之前整理的网站部署、云服务平台的配置流程实操了一遍,虽然之前已经看过非常相关的文章,但是真正自己操作完,看着网站上线了,还是颇有成就感的。
然而就在网站部署上线后的当天晚上,我发现了很多新的问题。
1. 如果是软件行业的用户使用,目前只支持文本排版,而不支持流程图、时序图等图表,无法满足主要目标用户的需求;
2. 数学公式也不支持;
于是在与国内外各种AI的讨论后,我开始了功能改进。前文有提到,我为了网页的性能,只是用了前端基础的JS+HTML+CSS来实现,所以Markdown的内容解析和排版也只有基础功能。每增加一种复杂的格式和语法,我都要单独完善一次。
此时我才知道自己犯了一个非常严重的错误,我在尝试造早就已经非常完善的轮子。我之前使用过typora,非常喜欢他的所见即所得与即时渲染,多年使用飞书文档也很熟悉这种操作。在我还不知道找轮子之前,真的是一点一点设计完善功能。直到有个凌晨,疲倦的我再次和AI讨论,Gemini和Chatgpt为了推荐了其他的解决方案,就是找开源项目。于是我终于知道了Vditor这个开源的Markdown编辑器,之前我那些费尽心思设计的功能,Vditor早就非常好的实现了。
于是我开启了第二次重构。
第二次重构是基于Vditor的二次开发,这次的关注重点主要是前端交互优化。期间我是让Claude Code做计划实现框架,让Trae中的Gemini3 pro和Chatgpt5.2来完善细节和修复问题。这个过程持续了3天。
在切换使用Trae和Claude Code过程中,我深刻感受到了上下文、提示词的重要性。同样的提示词,Trae实现的效果总比Claude Code更加简单,这是因为Claude Code的工具调用、Agent设计专为编程优化,从功能结构设计、方案设计都比Trae要优秀很多。这给我的最大感受就是一个好的Agent设计能让大模型锦上添花。也是因为之前不太了解上下文的重要性,我总是在一个对话里实现不同需求,导致最终总有意料之外的异常。刚好期间我在学习《从零构建大模型》这本书,在用python实现最简单的大模型时,知道了自己一个很大的错误就是忽略了上下文的重要性,于是修改了自己的使用方式。
根据功能与需求不同,在不同对话中与大模型沟通,避免上下文污染,导致大模型因为对话主题的变化导致理解有误。
同时好的提示词不需要特别复杂,说清楚问题和需求,在多模态大模型的助力下,用图片作为参考经常可以事半功倍。
为了更好的进行调试,我又学习了接入谷歌浏览器开发工具的MCP,让我的测试与性能调优效率显著提升。同时我还特地使用了frontent-design这个skill优化了一些UI细节,让我对skill有了更深入的了解。
在使用AI编程完成我的第一个网站项目后,我已经在实验和实现我设想的那些高级功能。期间多次的犯错也让我学习到如何利用大模型的能力,最大的感受就是懂得了如何与大模型讨论方案,去寻找开源项目避免重复造轮子。期间我在Cubox(一个收藏网页获取网页内容的产品)的过程中,让我想起自己之前使用的Instapaper。回到前文说的上游,Markdown编辑器只是内容排版,如果我可以将我的编辑器进化到可以自动对各类内容获取正文自动排版,随后存在自己的电脑上,后续我还可以学习RAG技术或是其他知识分析的技术,整理收集的内容,进行深度分析和总结,提升学习效率。
期间冒出了很多灵感,也在一边学习一边实践。
在收集灵感的同时,我也让网站接入了Google Search Console、GA统计以及Clarity统计,用数据说话从来不会错的。
而后又继续与大模型讨论SEO,做了一些SEO优化。
由于目前我这只是个前端项目,没有服务端能力,导致我的文件导入导出功能只能依赖浏览器或者前端,于是我开始使用python能力开发FAST API提升导入导出功能,期间我使用了微软Markitdown项目,可以将各种格式的内容转为Markdown,让我的项目离智能化的内容提取和排版更近了一步。于是最近又重构了格式转换功能,在探索服务器的购买与部署,实现了一个完整的前后端项目。
行胜于言。我看过非常多的文章,很多操作步骤很简单,很多知识看似非常好理解,但是没有系统的实践过,很多时候就只是看过的一串文字而已。
这个项目经历,我并不想深入讨论AI编程工具的使用,工具总会与时俱进的更新,保持热忱之心与求学的渴望,持续学习就好。我更在意的是期间思考方式和实践的收获。
1. 从需求分析的角度来说,通过多平台(即刻、搜索引擎、国内外各大热门的媒体平台)获取信息,而后整理,比以前在工作中被临时的事推着走让我感觉更合理,也让我深刻感受到信息收集和思考分析的重要性;
2. 之前太过于依赖所谓的技术工程师,例如很多技术问题完全不参与导致我完全没有印象或者了解,在AI时代明显让我感受到因为自己的局限非常容易让我所设计的产品上限降低,多求学,多沟通,多交流,不会错的;
3. 这次最大的感受是信息搜集能力提升,大模型的联网搜索能力比搜索引擎强大,大模型可以根据我的需求为我整理所需内容,而我只需要充分的对比分析和了解,让需求分析更加合理和高效;
4. 不是让大模型替我思考,而是在大模型的帮助下思考。这半年我见过一些人,完全相信大模型,盲从大模型搜集的内容,明显的错误导致了错误的判断,而这些人还自鸣得意,觉得自己熟练的使用了大模型。这是一个非常难且需要注意的地方,任何的信息判断与分析依赖的是自己,而不是让大模型替代自己;
在这几个月使用了不同的AI工具、不同的大模型,让我对大模型有了更深刻的认知。接下去我想要更深入的学习Agent的设计,这篇流水账以及所实现的产品毫无技术含量,但是期间每个困扰我的问题,每个因为我知识的局限而没有做好的功能,都会让我更加了解自己与优秀者的差距,也更加收获了难得的实践知识。
纸上得来终觉浅,绝知此事要躬行。这话从来不会错。微不足道的的进步,弥足珍贵。
总之,请始终都有重新开始的勇气,再次出发。