Claude Code 团队不写 Markdown 了,有人把这句话做成了编辑器

发布于 · 2,260 字 · 约 6 分钟#Github 解读#Agent 框架原文链接
Claude Code 团队不写 Markdown 了,有人把这句话做成了编辑器 封面图
  • Claude Code 团队弃用 Markdown 改用 HTML 交付文档,理由是 Markdown 利于写作者、HTML 利于阅读者,开源项目 html-anything 据此而生
  • html-anything 不内置模型,通过扫描本机 PATH 调用已登录的 Claude Code、Codex 等 CLI 子进程干活,借助四级回退从混合文本中提取 HTML
  • 项目核心资产是 81 个 SKILL.md 设计模板,将设计品味拆成可版本、可排序、可复用的文本资产,配色规范锁死 hex 值
  • 发布链路处理各平台脏活:微信用 juice 内联 CSS 加标记过审,知乎适配数学公式转写,导出覆盖 PNG 及多个社交平台
  • 安全隐患与数字口径需注意:沙箱 iframe 同时开启 allow-scripts 与 allow-same-origin 存在绕过风险,README、日志、代码三处 CLI 支持数口径不一,且该仓库为 open-design 的导流橱窗

上个月 Claude Code 团队公开说了一件小事,他们内部写文档不再用 Markdown,交付一律 HTML。理由列得很直白,Markdown 对写的人友好,HTML 对读的人友好,Markdown 截图发推很丑,HTML 生来就像一张设计好的图。这句话在时间线上飘了几天,大多数人点个赞就划过去了。

nexu-io 团队把这句话接住了,做成一个开源编辑器。你扔进去任意东西,Markdown、CSV、Excel、JSON、SQL、一堆随手记的笔记,按下快捷键,本地跑着的 AI Agent 把它变成一份可以直接发布的单文件 HTML,再一键送到微信公众号、X、知乎,或者导出 PNG。项目叫 html-anything,今年 5 月 11 日建仓,四个多月 8935 Star、869 Fork,Apache 2.0。

它的口号我愿意原样抄一遍。Markdown 是草稿,HTML 才是人读的东西。

它没有自带模型

这个项目最反常识的决定,是作为一款 AI 编辑器,它一个模型都没有。

设置里找不到 API key 输入框,也没有供应商列表。它做的事是扫描你的 PATH,把你机器上已经装好、已经登录的编码 Agent CLI 一个个找出来,然后用子进程把你本地的 Claude Code 或者 Codex 拉起来干活。cli/src/agents-detect.ts 里维护着一张 AgentDef 清单,每个条目声明可执行文件名、备用路径和协议类型。协议一共五种,stdin、argv、argv-message、acp、pi-rpc,覆盖各家 CLI 不同的交互方式。Claude Code 走 stdin 管道收提示词,流式吐回结果,服务端转成 SSE 推给浏览器,iframe 实时刷新。

Agent 输出的是一坨混合文本,HTML 藏在中间。提取逻辑在 cli/src/extract-html.ts,朴素得可爱,先找 ```html 代码围栏,找不到就从 DOCTYPE 切到最后一个 ,再不行找 <html 标签,都没有就赌整段都是 HTML。就这四级回退,撑起了整个「anything → HTML」的管线。

四级回退长这样。

extract-html 四级回退
extract-html 四级回退

整条管线从输入到发布是这样四层。

html-anything 四层管线
html-anything 四层管线

看完图你大概也品出来了,中间那层是租的,上下两层才是自己的。这套设计的账很好算。编辑器不养模型,就不用管计费、限流、密钥安全,用户订阅费一分不用多花,模型能力还跟着你的 CLI 订阅自动升级。代价是把信任链交给了进程边界,你登录的 Claude 会话权限有多大,这个编辑器的能力就有多大。开发日志里记了一笔实测数据,Claude 一次转换 80 秒、产出 31 KB,这个体验完全取决于你本地那条 CLI 的快慢。

顺带说一句,这份开发日志本身值得一读。PROGRESS.md 开头写着「持久化任务列表,防止 context 丢失」,21 KB 的任务清单,从 9 个内置模板一路记到 75 个 skill 注册表。这是个典型的 Agent 驱动开发的施工现场,人定验收标准,AI 干活,进度文件就是给下一个会话看的记忆外置。

75 个模板是把设计品味资产化

模型是别人的,那这个项目的资产是什么?

是那 75 个 skill 模板,实际数下来仓库里有 81 个 SKILL.md,数字还在涨。每个模板是一份写给模型看的设计规范,frontmatter 里声明中英文名、分类、画幅、推荐位次,正文直接是设计指令。我翻到推荐位第一的 deck-guizang-editorial,致敬归藏的 PPT skill,正文里调色板部分写着「五选一,严禁改 hex、严禁混用」,墨水、靛蓝瓷、森林墨、牛皮纸、沙丘,每个配色四个色值全部锁死。还有 doc-kami-parchment,致敬 tw93 的 Kami 主题,#f5f4ed 的纸底加墨蓝强调色。

这个色板我看着眼熟。我自己博客的封面 lint 就是同一组 token,纸底、墨蓝、直角引号,同一个华语独立开发圈的审美在互相传染。

模板的来源结构也坦白,README 里专设「站在四个肩膀上」的致谢段,归藏的 PPT skill、tw93 的 Kami、还有两个国际项目。选模板的交互是推荐位排序驱动,SKILL.md frontmatter 里的 recommended 字段决定它在选择器 Featured 分组里的位置,低者靠前。设计品味这件事,被拆成了可版本、可排序、可复用的文本资产。

一键发布的脏活

「生成好看的 HTML」只完成了一半,另一半是「发得出去」,这半截全是脏活,全在 next/src/lib/export/ 里躺着。

微信公众号会洗掉外来样式,wechat.ts 的解法分两步。先用 juice 把所有 CSS 内联成 style 属性,再给顶层元素打上 data-tool="html-anything" 标记,代码注释原话是「让微信信任这些样式」,模仿成熟工具的标记惯例换过审。知乎那个适配器专门处理了数学公式的转写,截图走 modern-screenshot 按 2 倍分辨率导 PNG。export 目录里还有 bilibili、bluesky 的适配文件,平台清单肉眼可见地在长。

我最欣赏的是代码里的诚实注释。juice 处理不了 Tailwind CDN 这种运行时样式,注释没有绕弯,明说这条路走不通,然后给了个隐藏 iframe 里按计算样式逐个内联的兜底方案。知道自己脏在哪的脏活,和不知道的,是两种工程。

盾牌有点软的那部分

夸完了,该摸摸这块盾牌的成色。

README 的徽章区写着「Sandboxed preview」,防的是 Agent 生成的 HTML 里带脚本乱来。我去看了 next/src/components/preview-pane.tsx 第 297 行,iframe 的 sandbox 属性是 allow-scripts 加 allow-same-origin 的组合。搞前端安全的人都熟悉这对组合,MDN 文档明确警告过,两个都开的时候,被嵌入的文档理论上可以摘掉自己的 sandbox,还能碰宿主页面的同源资源。考虑到里面跑的代码是你的 Agent 生成的,威胁模型其实变成了「你信任你的 Agent 到什么程度」。对个人本地使用问题不大,但徽章上的盾牌 emoji 和实际的防护等级之间,有一段距离。

数字口径也值得一说。README 说自动检测 9 个 CLI,PROGRESS.md 说 17 个(其中 9 种协议还在适配中),我数了 agents-detect.ts 的 AGENTS 数组,19 个条目,从 Claude、Codex、Gemini 一路到 Qoder、Kilo、Pi 这些我没用过的。三个数字三个口径,方向是好的(代码跑在宣传前面),但读 README 选型的你得知道,标称数和可用数不是一回事。

还有件事放在更大的图里看才清楚。这个仓库是 nexu-io 家 open-design 的聚焦版,README 顶上一行小字导流,「同团队在这里规模化交付」。我去核实了一下,open-design 今年 4 月底建仓,五个月 97802 Star,README 里写的 40k 是个落后了两个多月的旧数字。html-anything 更像那个大产品的橱窗间,功能聚焦、上手极轻,用完顺手就顺着导流走进正殿。这个打法本身没什么可指责的,开源世界的漏斗古已有之,只是你评估它的时候,得把「这个仓库的路线图独立性」这项的权重调低一点。

三种跟 Agent 做生意的姿势

连着三天拆了三个项目,放在一起看特别有意思,它们代表了工具开发者面对 Agent 时代的三种站位。

GenOffice 自己造引擎,docx 字节手术、几何审计、渲染回看,重资产,把格式保真做成护城河。Marp 立契约,一份 Markdown 转幻灯片的规范养活一串宿主,轻资产,活得久。html-anything 两者都不要,它不拥有模型也不拥有格式,只拥有两样东西,工作流和品味,模型从你的 CLI 里借,格式就是 HTML 这种开放标准。

这个站位我愿意起个名字,CLI 即运行时。工具不再内置智能,智能住在用户已经付费登录的 CLI 里,工具负责把领域知识(这里是设计规范和平台适配)压缩成提示词资产,再负责把输出送进真实世界的发布管道。这个模式下工具的护城河不是模型是模板库,不是算力是那 81 份「严禁改 hex」的设计纪律。

说回选型。你要高频产出公众号、小红书、数据报告这类「给人看的东西」,又本来就装着 Claude Code,这个编辑器几乎零成本值得一试,模板审美在线,发布链路是真的。企业场景或者对安全敏感的团队,先等等沙箱加固,至少等 allow-same-origin 的故事讲圆。至于它背后那个 9.7 万 Star 的 open-design,那是另一篇拆解的事了。

项目地址在上面,clone 之前记得先看一眼你 PATH 里躺着哪几个 CLI。

评论互动

© 2026 王若风的技术博客 · Powered by Astro