130 多个 PDF、图片、文本、代码工具全部跑在浏览器里,无后端、无上传;作者亲口承认“mostly vibe coded with Claude Code”,并用 1780 个测试给 vibe 加了护栏。
DauntexLabs 是一个纯前端的在线小工具集合站:PDF 合并、图片转换、JSON 处理、二维码生成、密码生成器、正则测试、JWT 解码、VCF 转 CSV、飞行员用的侧风/密度高度计算器、印地语 Krutidev 旧字体转 Unicode 等等——首页目录里躺着 130 多个工具,作者的目标是 500 个。每个工具都是一页独立 HTML,打开即用,不用注册,也不用把你的文件传到任何服务器上。
这个站点的核心卖点就一句话:所有工具都在你的浏览器里跑完。想合并 PDF?文件只进你电脑的内存。想解码一个生产环境的 JWT token?粘贴进去,token 哪儿也不去。这对处理敏感文件的场景(银行对账单、联系人通讯录、私钥材料)是实实在在的价值,而不是一句营销口号。
亮点最有意思的不是工具数量,而是作者把“隐私优先”做成了一套测试,而不是一句承诺。每个工具都埋了一个“金丝雀字符串”:Playwright 测试会把这个唯一字符串喂给每个能吃文本或文件的工具,然后检查所有网络请求、URL、页面标题、localStorage、console——只要金丝雀出现在任何不该出现的地方,测试就挂。还有一层静态扫描:Vitest 会扫工具代码里的 fetch、XHR、WebSocket、sendBeacon 和 storage 写入,谁半夜手滑加了个网络调用,pre-push hook 直接拦下。最后还有 CSP 头做兜底,连跨域请求都被浏览器级拦截。
连作者自己都承认,绝对版的“数据永不离开设备”他不敢保证——你装的 9 个 Chrome 插件他可管不了。所以隐私页写的是“designed to run in your device”,再附上测试证据。这种诚实的分寸感,在工具站里很少见。
另一个细节:QR 码生成器里那些花里胡哨的“眼睛”样式,不是作者凭审美挑的——测试会用 jsQR 把生成的码反解一遍,只有真正能扫出来的样式才允许出现在 UI 里。哪个样式好看但扫不出来,哪个就下架。让测试替人做决定,是这个站贯穿始终的风格。
vibe-coded 证据作者在 2026 年 10 月 10 日的 dev.to 长文里亲口写道:“Confession: it's mostly vibe coded with Claude Code.”(坦白:这基本是跟 Claude Code 一起 vibe 出来的。)他还补了一句:大部分代码是 Claude Code 写的,不是我敲的,没必要装。
证据就摆在提交记录里:6 月 9 日第一次提交;6 月 20 日一天之内 68 个新工具、4 个 commit;10 月 7–8 日两天 59 个 commit,做完整站视觉改版加新工具扩充。作者自己说:我手写一天 68 个工具?不可能。但他也承认,光靠 vibe 会做出 150 个“微微有点坏”的工具,所以他给 vibe 上了三道保险:仓库根目录的 CLAUDE.md 规则文件(agent 每次会话必读:工具逻辑里禁 fetch、重库必须在点击处理器里动态 import、统一用共享 UI kit、共享 JS 体积卡在 105 KB 左右);大功能先写 spec 再写代码,6 份设计 spec 和 3 份实施计划都在 docs/superpowers/ 里;最后是约 1780 个 Vitest 测试当真正的 code reviewer——“我一天 review 不了 68 个工具,测试可以。”
作者的总结很到位:如果 AI 写代码,人就负责写“护栏”。规则文件、spec、测试,就是他这句话的三个注脚。
技术实现技术栈是作者明确声明的:Next.js 15,全静态导出(output: 'export'),一个工具就是一个纯 HTML 页面。选 Next 而不用纯 SPA 的唯一理由是 SEO:每个工具页都有独立的标题和描述。他还设了个 bundle 预算:共享首屏 JS 压在 105 KB 左右,每加十几个工具只涨约 1 KB。做法是:能用 Web API(crypto.subtle、Canvas)就不用库;MD5 这种 Web Crypto 不支持的就手写一个小实现;openpgp、pdf-lib、qrcode-generator 三个重库只允许在点击处理函数内部动态 import,绝不出现在顶层。
工具注册表也值得一提:lib/tools.ts 一个文件管全站——首页、搜索、分类筛选、每个工具页、sitemap.xml、robots.txt 全从这一个列表生成。加一个条目,页面、卡片、sitemap 行自动出现。
还有个反常识的运营故事:作者曾铺了 220 个单位换算页想吃 SEO,三个月 Search Console 数据是 2.08 万次展示、6 次点击、平均排名 76——“km to miles”这种词 Google 自己就有计算器小部件,根本打不过。于是他把那 220 页全部 noindex,转向没人做的长尾:飞行员的侧风计算、印度的 GSTIN 校验、Krutidev 转 Unicode。冷门字体的字符映射表还有条铁律:必须有两个独立来源对得上才发布,对不上的 Shivaji 字体转换器就挂着“维护中”不上线。错的转换器比没有更坏——这句话应该裱起来。
小众工具举例值得单独说说作者“往小众里钻”的那批工具。航空类有 10 个:侧风分量、风修正角、密度高度、真空速、METAR/TAF 解码——飞行学员和私人飞行员经常要算这些,市面上的现成工具要么收费要么难用。印度本地化有 12 个:GSTIN 税号校验、印度数字格式(lakh/crore)、Krutidev 等 legacy 印地语字体转 Unicode——印度很多政府和老办公室文档还停留在这些旧字体里,转换一直是个痛点。这些工具每个可能只有十几个用户,但对这十几个人来说是刚需。作者的原话是:没人需要,但有些人真的很需要。这种“广撒网不如打深井”的思路,恰恰是小团队对抗 Google 内置小部件的唯一活路。
适合谁适合三类人:一是每天跟 PDF、JSON、正则、二维码打交道的开发者和运营,把它当瑞士军刀书签收着;二是对“上传文件到陌生网站”有本能警惕的人——银行对账单、客户通讯录、生产 token,在这里处理确实更让人放心;三是对 vibe coding 工程化感兴趣的人:这个站是“AI 写代码 + 测试当 reviewer + 规则文件当记忆”的完整样本,仓库是公开的(github.com/jha-adrs/dauntexlabs),CLAUDE.md 和那 1780 个测试本身就是一份 vibe coding 实战教材。
要说缺点也有:工具多了难免有粗糙的,UI 是统一模板套出来的,谈不上精致。但免费、无广告、无需注册,冲着“文件不出本机”这一点,它值得一个书签位。