Vercel dev3000(d3k):给 AI 看的统一开发时间线
阅读时间: 大约 8 分钟
Vercel dev3000(d3k):给 AI 看的统一开发时间线
AI 写代码的瓶颈早就不是”生成能力”,而是”信息获取”。让模型去猜浏览器报了什么错、某个网络请求返回了什么、用户刚才点了哪里,效率永远上不去。Vercel Labs 为此开源了 dev3000(命令行名为 d3k,仓库 vercel-labs/dev3000):一个”agent-first”的本地 Web 调试运行时,把一次开发过程中分散在各处的信号,汇成一条带时间戳的统一日志。

一、背景:调试的瓶颈是”上下文割裂”
传统 Web 调试时,开发者要同时盯着好几个地方:终端里的服务端日志、浏览器 DevTools 的 Console、Network 面板、以及自己的操作。人眼可以在这些面板间来回切换,但 AI Agent 不行——它要么看不到这些信号,要么得让用户手动贴日志。dev3000 的思路是:别再让 Agent 拼凑上下文,直接给它一条完整的事件流。
二、概念:一个运行时,一条证据流
按官方 README,d3k 是一个 agent-first 的本地 Web 调试运行时。它做的事是:
- 帮你启动 dev server;
- 打开一个被监控的浏览器(使用项目级稳定的 Chrome profile);
- 把以下事件全部按时间戳汇总到一份统一日志:服务器日志、浏览器错误、控制台消息、网络活动、用户交互、以及自动截图。
这份日志落在 ~/.d3k/{project}/d3k.log。其核心卖点之一是 Portless URL:每个应用默认获得一个项目级稳定的 HTTPS 地址,当底层开发端口变化时,浏览器状态与回调地址不会跟着漂移——这对那些依赖 webhook 回调(如支付、OAuth)的本地调试很关键。
三、技术机制:CDP 监控 + Skill 驱动
dev3000 通过 Chrome DevTools Protocol(CDP) 监控浏览器,从而捕获控制台、网络、滚动/点击坐标等事件。它的主要交互方式不是 TUI,而是一个给编码 Agent 用的 skill:你对 Agent 说”用 d3k 跑一下这个项目""调试一下结账流程”,Agent 就会按约定流程启动运行时、拿到那个免端口的 URL、把受控浏览器交给你或自己驱动,然后读 d3k errors --context 和统一日志来定位问题。
支持的框架覆盖 Next.js、Django、Flask 等主流方案。安装很简单:
# 需要 Node.js 24 或更新版本
bun install -g dev3000 # 或 npm install -g dev3000
# 再给编码 Agent 装上 d3k skill
bunx skills add vercel-labs/dev3000 --skill d3k --agent '*' -g -y仓库 README 还特意区分了两种说法:“Let me test”意味着 Agent 准备好受控浏览器后交给你、等你复现问题再分析;“Test this”则意味着 Agent 自己驱动浏览器、自主排查。
四、可核对数字与口径偏差
- 我调研时该仓库约 1.6k star、98 fork、2298 次提交,采用 MIT 许可证;
- 版本成熟度是最重要的口径:仓库最新提交打的是
v0.0.181-canary。也就是说,尽管提交次数很多(2298),版本号仍停在 0.0.x 的 canary 通道——迭代极快,但 CLI 行为与接口随时可能变动,不适合写死进生产脚本; - 硬性环境要求:官方明确要求 Node.js 24 或更新版本,这是一个相当新的运行时基线,老项目环境需要先升级;
- “给 AI 看”是定位而非性能宣称:官方没有给出日志采集的开销、对浏览器性能影响等量化数据, overhead 需自行评估;
- 它的 TUI 仍然保留,但官方强调 TUI 不是 Agent 工作流的必需——主用户其实是 Agent,人只是偶尔看一眼。
五、优势与局限
优势:
- 上下文一次给全:把服务器、浏览器、网络、交互、截图合成一条时间线,正好补上 AI 调试最缺的”现场感”;
- 稳定 URL:Portless 设计让端口变化不再打乱回调与浏览器状态;
- Agent 原生:以 skill 形式交付,编码 Agent 可自主启动、驱动、读取,无需人手动复制粘贴日志;
- 截图作为证据:自动截图并嵌入时间线,让”页面长什么样”对 Agent 也可见。
局限:
- 极早期:0.0.x canary,接口与行为不稳定;
- Node 24 门槛:对环境有硬性新版本要求;
- 面向 Agent 而非人类专家:它不是面向资深前端的高级性能分析器,深度 profiling 仍需 DevTools;
- 采集开销未知:官方未量化 CDP 监控与截图对页面性能的影响。
六、适合谁用
- 重度使用编码 Agent 的开发者:希望 Agent 能像人一样”看到”浏览器报错与网络请求,而不是靠猜;
- 调试依赖回调的本地流程(OAuth、支付 webhook):Portless 稳定 URL 直接对症;
- Vercel/Next.js 技术栈团队:与 Vercel Labs 工具链配合最自然。
它代表的方向很清晰——调试工具正在从”给人看的面板”转向”给 Agent 读的上下文流”。只是当前版本还很年轻,建议先在非关键项目里体验其工作流,等版本号走出 0.0.x 再考虑固化到团队流程。
可以把它和传统做法对照一下:过去你让 Agent 修一个前端 bug,往往要先自己复现、把报错截图或控制台文本粘贴给它,它改完后你再手动验证一轮。dev3000 把这条链路压缩成一句”用 d3k 调试这个流程”——Agent 自己启动受控浏览器、复现、读取统一日志与自动截图、再改代码回归。截图被当作时间线里的一等事件(如官方示例中 2025-09-19T...-navigation-3s.png 直接嵌入),意味着 Agent 不必依赖你口述”页面变成了什么样”。
需要清醒认识的是,它并不替代真正的性能分析。CDP 能抓到控制台、网络和交互,但火焰图、长任务剖析、渲染性能这类深度信息仍要靠浏览器原生 DevTools。dev3000 解决的是”Agent 看不见现场”这个第一公里问题,而不是把前端调试的所有专业能力都接管。对已经在用 Claude Code、Codex 等编码 Agent 的团队,它更像是给这些 Agent 配上的一双”眼睛”。