这个月我的 Trae 国际版到期,借此机会我也在复盘自己 AI 工具的成本,看看是否换到其他家的工具。因为我本身就是 DeepSeek 的重度用户,现在 DeepSeek 官宣大幅涨价,对我的选型产生一定的影响。
国内模型以及 AI Agent 也是百家争鸣,各家价格、Token plan 也很丰富。各家一个个去对比非常花时间,好在现在有了 AI,为了方便自己比价,于是就直接 Vibe 了一个比价页面。可以一张表格看到国内各家模型和 Agent 的价格对比。
网址:国产 AI 定价对比
本文记录了工作中升级 PNPM 11 过程中遇到的问题。
本文并非操作手册,而是记录「升级过程中遇到的问题以及如何解决」的复盘。文中提到的问题和解决方案可能未必适用于广泛的情况,仅供参考。
pnpm 的升级始于一场意外。因为目前正在做 Node.js 24 的升级和 Monorepo 的迁移。
7 月 15 日,Pipeline 上开始报错,用于做 Audit 的 Step 出现 410 错误。同时本地执行 pnpm audit 时也出现同样的错误信息。
原因就是错误信息中提到的 Audit 的 API 退休了,而解决方法就是把 PNPM 升级到 11。
由于有 300+ 的仓库且 PNPM 的版本各不相同(8、9、10、11 都存在),并且各版本之间都有不小的改动。仅靠 corepack use pnpm@11 是不够的,整个升级的过程中有不少需要手动介入的地方。
Node.js 有不同的包管理器(npm、Yarn 或 pnpm),每个包管理器也都能运行 package.json 中定义的脚本。多数情况下,npm run dev 和 pnpm run dev 看起来没有任何区别,都能跑对应的 Command。
但最近在使用 pnpm 生成 SBOM 时,我就遇到了那小部分的情况。对于同一个脚本,npm run 执行成功了,而 pnpm run 却陷入了无限报错的死循环。
这一差异引起了我的好奇心,我带着疑问便借助 AI 的分析扒一扒这背后隐藏着 pnpm 和 npm 在脚本执行机制上的巨大差异。
导语:Guideline 是我在工作中总结出针对单次重复工作的 Vibe Coding 方式。可以简单理解为一种外置的临时 SKILL。
MCP、SKILL 已经是现在 Vibe Coding 的标配。MCP 用来解决 API 调用的问题;SKILL 用来规范具体的流程,在可复用的前提下保证每次产出的质量。这样的组合可以覆盖绝大多数场景,极大提高工作效率。
原文地址:
此系列并非原文的死板翻译,而是我经过理解和提炼后的输出。仅聚焦其中最有意思和有价值的部分。想了解所有细节的小伙伴,可以去原文查看完整内容。
试想一下:你只是像往常一样打开电脑写代码,但你的 npm publish token 却已经被黑客窃取了——而这一切的罪魁祸首,竟然只是某人在某个开源项目里提了一个 GitHub Issue!
这听起来像是天方夜谭,但它却真实地发生在了 AI 编程助手 Cline 身上。
在 2026 年 2 月 17 日,有人悄悄发布了 [email protected]。这个版本表面上波澜不惊,仅仅在 package.json 中添加了一句不起眼的脚本:
"postinstall": "npm install -g openclaw@latest"
不过,这里被安装的“龙虾”(OpenClaw)并不是今天的主角,它只是这次攻击中被黑客利用的一把枪。
当时的 OpenClaw(2026.1.29 版本之前)存在一个极其严重的身份验证绕过漏洞(CVE-2026-25253,CVSS 评分高达 8.8!)。简单来说,任何人都可以通过跳过握手过程中的 scopes 字段,直接以最高权限的“操作员”身份连接,完全不需要令牌(Token)。而 OpenClaw 本身对系统的权限极大,这就意味着你环境变量中的各种敏感数据,瞬间成了黑客的囊中之物。
整个恶意包存活了短短 8 小时,却被下载安装了大约 4000 次。
最让人拍案叫绝的,是这场攻击的入口——黑客仅仅通过自然语言,利用 GitHub Issue 的标题,就完成了一次完美的“提示词注入(Prompt Injection)”攻击。
作为一个没有大厂光环的普通 Node.js 程序员,我最初对 AI 的期待只是“少写两行代码”。
但当 AI 真的跳出聊天框,我发现事情变得有趣起来了:从辅助开发,到搭建属于自己的“赛博妹妹”,再到零基础写小说。
今天不谈宏大叙事,也不贩卖焦虑。只晒真实的账单和工作流,看看 AI 到底是为了提效,还是让我们更累?
原文地址: How We're Protecting Our Newsroom from npm Supply Chain Attacks
本文并非原文的翻译,是经过我自己理解后的输出,聚焦我感兴趣或有价值的内容。对具体内容感兴趣的朋友可以去原文查看完整内容。
站在 2026 年的起跑线上,回望 2025。
这一年对我而言,是拥抱变化与重构自我的一年。我不再仅仅是代码的搬运工,而是借助 AI 在短时间内上线两款产品;不再忽视身体的信号,成功减重 9 公斤找回了健康。当然,还有那 48 篇周刊见证过的每一个脚印……
2025 年了,Vibe Coding 早已不再是陌生的概念。无论你是否抗拒,AI 都已经像空气一样,无声无息地融入了我们的工作流。
回顾这一年,AI 在我手中完成了一场从“单纯的补全工具”到“全能数字助手”的进化。这不仅改变了我的代码,更彻底重塑了我的工作方式——以及我对“写代码”这件事的理解。
事前声明:本文中的 Musspark AI 随弹吉他 S1 mini 是自费购买,无任何利益相关。全文只是出自一个喜欢这个产品的中年人的主观体验。
自学生时代起,唱歌就是我的爱好之一。放学回家后浴室中传出的歌声,是我妈判断我今天心情的标准。当时就在想,要是再会点乐器那就更好了。但由于学业紧张,学乐器这件事就搁置了下来。
后面从日本工作回来后,有了空闲时间也到父母催婚的年纪。便想着学个吉他作为追女孩的加分项。脑袋一热下单后,在磕磕绊绊学会了小星星之后,由于手太小无奈倒在了和弦的大门前。
记得 2018 年的时候,年轻与互联网的兴起,只要简历挂在求职 APP 上,立马就会有猎头或者 HR 来联系。在那时,离职通常伴随着的是薪资增长和职级的跃升。
那时候的我们,仿佛是在草原上逐水草而居的游牧民族,哪里水草丰美就去哪里,从未想过草原也会有枯黄的一天。
然而今天,我第一次以旁观者的身份,见证了一场并非出于自愿的离别。当大环境不再安定、当时代的红利退潮,裸泳的不仅是企业,还有每一个身处其中的个体。
事情是这样的:我之前在开发一个 PGP 加密的功能。在 Node.js 生态中寻觅了一番后,我找到了一个近乎完美的库——openpgp.js。它的 Star 数很高,社区活跃,文档齐全,API 设计也相当优雅,完美契合我的需求。
但当我整理好设计方案并向团队介绍我找到的这个“神器”时,我的老大提出了一个关键的问题:
“这个库用的是什么开源许可证?”
我心里咯噔一下,因为我知道公司对开源许可证有严格的要求。但 openpgp.js 用的是 LGPL 许可证,在项目中也只是引用。因此我并没觉得这是个大问题。
于是我回答道:“是 LGPL,但我们只是在项目中引用。怎么了?”
老大的回复很坚决:“不行,LGPL 有风险,我们不能在商业闭源项目中使用。你得换一个库。”
预料中的结果还是发生了。一个功能强大、社区活跃的库,就因为一个“许可证”被拒之门外了。因为对于商业项目来说,法律的合规性远比功能来得更重要。
而“开源软件许可证”这个日常与我们开发者打交道、却常常忽略的小事,背后可能隐藏着巨大的法律风险。
所以,我想把我的这段经历和学习心得整理出来,变成一篇极简指南。希望它能帮助你,在选择依赖库时不会陷入法律困境。