我分析了 OpenClaw 的数十个依赖,吹尽狂沙始到金,看看能从中获得什么珍宝?

最近 OpenClaw 🦞 开源项目很火呀 🔥,突发奇想想进行一次特别的体验------不是看它的代码写得怎么样,而是它的(package.json)。
你可能会有疑问:看依赖列表能看出什么名堂?太能了!这就像看一个人的书架------他读什么书,基本上就决定了他是个什么样的人。一个项目的依赖清单,就是它的"精神书架",透露着它的技术品味、业务野心,甚至是未来的进化方向。
OpenClaw 自称是一个"多通道 AI 网关"。这个定义有点抽象,但当我们把它的依赖库一个个摊开来看,一个宏大的技术版图就逐渐清晰起来。
来吧,让我们一起"吹尽狂沙始到金",看看能从这几十个 npm 包里,挖出什么珍宝可以用于日常工作。
第一层:基石与骨架------项目的"操作系统"

这一层是任何一个 Node.js 项目,都少不了几个基础库,它们构成了应用的基础,堪称『基石与骨架』。
express(5.x): 这是 Node.js 世界里最知名的 Web 框架,没有之一。它的存在说明 OpenClaw 肯定要对外提供 HTTP 服务。结合它的描述,这很可能就是它作为"网关"对外暴露的 API 入口,用来接收和响应请求。ws: WebSocket 的标配库。HTTP 像写信,一来一回;WebSocket 像打电话,随时双向沟通。OpenClaw 同时拥有 Express 和ws,说明它既要处理标准化的 API 请求,也要维护大量实时、双向的连接。这很符合"网关"的特性------连接是活的。commander: 这是一个构建命令行工具的神器。说明 OpenClaw 不仅仅是个跑在后台的服务,它还提供了丰富的命令行操作方式,方便开发者或高级用户直接通过终端与它交互。dotenv: 几乎每个项目都会用它来管理环境变量。这看似不起眼,但恰恰反映了项目对安全性 和配置灵活性的重视。API 密钥、数据库地址这些敏感信息,绝不能写在代码里。
小结 :从这几块基石能看出,OpenClaw 是一个"全通道"选手------既支持 HTTP API,又有 WebSocket 实时通信,还有 CLI 管理界面。它的定位绝不是一个简单的"小工具",而是一个体系完整的服务平台。
如果你要做一个"体系完整的服务平台"不妨来 OpenClaw 看看。
第二层:连接世界的心脏------消息与通信生态

OpenClaw 自称"多通道",那它到底能接入多少种聊天软件?我们来看看它的"通讯录":
@slack/bolt&@slack/web-api: Slack 的官方 SDK。Bolt 是 Slack 构建应用的框架,说明 OpenClaw 不只是能往 Slack 发消息,它能像一个真正的 App 一样,在 Slack 里监听消息、响应命令。grammy: Telegram 机器人框架。在 Telegram 生态里,Grammy 比官方 SDK 更好用。选择它,说明开发者追求更好的开发体验。@whiskeysockets/baileys: 这是一个非官方的 WhatsApp Web 库。为什么不用官方?因为 WhatsApp 的官方商业 API 非常复杂且昂贵。选择baileys,说明 OpenClaw 想要用更"极客"的方式接入 WhatsApp,可能面向个人或小团队。@discordjs/voice&discord-api-types: Discord 生态。@discordjs/voice的出现尤其值得注意------它支持语音。OpenClaw 不仅要能跟你在 Discord 里打字,还能"说话"!@line/bot-sdk: LINE 的官方 SDK,覆盖了日韩和东南亚的主流市场。@homebridge/ciao: 这是一个 mDNS (多播 DNS) 实现,用于在局域网内进行服务发现。这意味着 OpenClaw 设备(比如你的手机 App)可以不用配置 IP,就能在局域网里自动找到运行 OpenClaw 的服务器。这用户体验,很苹果。
小结 :这个通讯录实在太丰富了!Slack、Telegram、WhatsApp、Discord、LINE......几乎覆盖了全球所有主流即时通信软件,当然国内微信和钉钉也支持。这印证了 OpenClaw "多通道"的定位,它想做一个万能的消息中转站,让 AI 能进入你所有的聊天环境。
第三层:AI 的灵魂------模型与智能核心

作为一个 AI 网关,它连接的另一端就是各种 AI 大脑。这些依赖暴露了它的"灵魂"构成:
@mariozechner/pi-agent-core,pi-ai,pi-coding-agent,pi-tui: 这四个包非常关键!它们不是公开的知名库,而是由同一个作者 (mariozechner) 发布的。这说明 OpenClaw 没有从头再造一个 AI 轮子,而是站在了一个叫pi的 AI 代理框架上。pi-agent-core是思考的核心,pi-coding-agent是写代码的专用工具,pi-tui是终端界面。这是一个聪明的"站在巨人肩膀上"的策略。@aws-sdk/client-bedrock: 亚马逊的 Bedrock 服务,可以调用各种基础模型(Claude、Llama 等)。@agentclientprotocol/sdk: 这是一个实现"代理客户端协议"(ACP)的 SDK。ACP 旨在标准化 AI 代理与客户端之间的通信。引入它,说明 OpenClaw 不想做一个封闭的系统,而是遵循行业标准,未来可以与任何支持 ACP 的工具互操作。
小结 :OpenClaw 的 AI 核心并非"自研",而是深度集成了一个成熟的代理框架 pi,并通过 Bedrock、ACP 等方式,保持了对主流模型和行业标准的兼容性。这是一条务实且高效的路线。
第四层:工具箱里的瑞士军刀------实用工具库

除了核心功能,这些工具库让 OpenClaw 能做更多"实事":
playwright-core: 微软出品的浏览器自动化神器。有了它,OpenClaw 就不再只是个聊天的 AI,它可以像人一样"看"网页、点击按钮、填写表单。这意味着它能帮你做自动化的网页操作,比如登录后台下载报表。sharp: 高性能图片处理库。说明 OpenClaw 能处理用户发来的图片,比如压缩、裁剪,或者交给 AI 分析图片内容。pdfjs-dist: Mozilla 的 PDF 解析库。意味着它能"读" PDF 文件里的文字,无论是发票、合同还是电子书,都能变成 AI 能理解的文本。@mozilla/readability: 同样是 Mozilla 出品,能把复杂的网页文章提取成干净的、适合阅读的文本。当用户给 AI 一个链接时,AI 可以用它来真正读懂文章内容。sqlite-vec: 在轻量级数据库 SQLite 里做向量搜索。这是构建 AI"长期记忆"的关键技术。OpenClaw 可以用它来存储过去的对话,并在需要时快速召回相关信息。croner: 定时任务库。说明 OpenClaw 可以"主动"干活,比如每天早上 9 点定时给你发天气提醒。
小结 :这些工具库极大地拓展了 OpenClaw 的能力边界。它不再只是一个"对话机器",而是一个拥有 视觉(浏览器)、触觉(文件处理)、记忆(向量搜索)和主动性(定时任务) 的数字员工。
第五层:严谨的工程师文化------质量与规范
最后,我们来看看开发依赖(devDependencies)。这些库不参与线上运行,但它们决定了代码的质量和团队的协作效率:
typescript: 毫无疑问,现代大型 Node 项目的基石。vitest: 新一代的测试框架。OpenClaw 的测试脚本非常丰富(test:e2e,test:live,test:docker:all),覆盖了单元测试、端到端测试、甚至 Docker 集成测试,说明它的质量保障体系非常完善。oxlint和oxfmt: 这是 Rust 写的代码检查器和格式化工具,速度极快。放弃 ESLint 和 Prettier,选择 ox 系列,体现了团队对开发体验和效率的极致追求。tsdown: ✨ The elegant bundler for libraries powered by Rolldown♻。一个基于 esbuild 的打包器,用于将 TypeScript 代码打包成可直接运行的 JavaScript,速度飞快。knip,ts-prune,ts-unused-exports: 这些都是用来"抓老鼠"的工具------专门找出项目中没用上的代码和文件。团队专门为它们写了deadcode脚本,说明对代码整洁度有强迫症级别的追求,绝不留一点"技术债务"的隐患。
小结:从这些开发依赖可以看出,OpenClaw 的开发者是一群"细节控"。他们不仅追求功能的强大,更追求代码的优雅、整洁和高质量。这种严谨的工程师文化,是一个开源项目能够长久发展的核心保障。
哪些我们日常可用?试试 tsdown 打包 TypeScript 项目吧、vitest 替换 jest、oxlint oxfmt 替换 eslint prettier、knip, ts-prune, ts-unused-exports 用来做代码质量,让你在团队或开源社区中脱颖而出。
oxfmt 才发布不久,OpenClaw 就用上了,可谓是"追新狂魔",连 oxfmt 的正式发布公告都还没凉。
吹尽狂沙始到金,我们挖到了什么?
经过这番"考古挖掘",我们再回头看 OpenClaw,它已经不再是一个陌生的名字,而是一个轮廓清晰的"超级英雄",它是一个:
- "社交达人":通过海量的消息通道 SDK,它能潜入你所有的聊天软件。
- "智慧大脑" :依托
pi-agent-core和各大云厂商的 AI 服务,它能思考、能规划、能写代码。 - "能干的手脚":借助 Playwright、Sharp 等工具,它能操作浏览器、处理文件、阅读 PDF,真正帮你干活。
- "讲究的工匠":完善的测试、严格的代码规范、积极的"废码"清理,都彰显了它的专业和可靠。
所以,OpenClaw 到底是什么?它不是简单的 AI 套壳,也不是复杂的开发框架。它是一把钥匙,试图打开一扇通往 "AI 真正融入我们数字生活" 的大门。它想做的,是成为连接人类数字世界与 AI 能力的"万能插座"。
这份 package.json,就是它的"英雄简历"。每一个依赖项,都是一项超能力的证明。而我们,通过解读这份简历,看到了一个雄心勃勃的 AI 基础工具的雏形。未来它会长成什么样子?值得我们拭目以待。
最新发布于『JavaScript与编程艺术』