SuperAPI AI 工具集

d3k

部署与运维

查看项目

更新于 10-15 15:09

技能介绍

d3k 是一个用于 Web 项目的本地运行时(local web runtime),面向开发、测试与浏览器问题复现场景。它的定位是“由 d3k 自己掌控运行时”,即开发服务器、路由、浏览器和证据采集都由 d3k 统一管理,而不是让用户或智能体另行启动。

用途

d3k 用于运行、开发和调试 Web 项目,以及复现浏览器端问题。它会在稳定的 Portless URL 后面启动开发服务器,并管理一个项目专用的 Chrome 浏览器配置(profile),把服务器日志、浏览器控制台输出、网络活动、交互记录和截图汇总到一条时间线上,便于定位问题。

主要能力

  • 在 Portless 稳定 URL 后启动开发服务器,避免端口变化带来的地址漂移。
  • 管理项目级稳定的 Chrome profile,保留登录状态、cookie 和本地存储。
  • 统一记录服务器日志、浏览器控制台输出、网络活动、交互和截图,形成一条时间线。
  • 提供状态查询、错误上下文、按类型查看日志等命令,作为采集证据的首选方式。
  • 支持由智能体驱动它所监控的同一个浏览器进行交互测试。

使用方式

该工具以 skill 形式触发,触发后由使用方直接操作 d3k,而非仅向用户描述如何运行。典型流程如下:

  1. 在项目根目录检查 Portless 是否就绪:d3k portless status --json。若返回 setupRequired: true,执行 d3k portless setup;在 macOS 上会弹出系统管理员授权对话框,需等待用户批准后重新检查。只有在 canonical: true、serviceInstalled: true、setupRequired: false 时才可启动 d3k。
  2. 检查项目运行时是否已存在:d3k status --json。只有在返回 running: true、ready: true、routing: "portless"、browserConnected: true 且为无端口 https://...localhost 的 appUrl 时才复用。若活动会话显示 routing: "direct",需停止该会话并在 Portless 就绪后重启,不要启动第二个开发服务器或浏览器。
  3. 若未安装,执行 bun install -g dev3000;仅在 Bun 不可用时使用 npm install -g dev3000。
  4. 以保留的后台或可交还会话方式启动(默认非 TUI):d3k -t,不要等待该长命令退出,保留进程/会话句柄以便后续监控或停止。若已知目标 URL,可传入:d3k -t --app-url "<url>"。让 d3k 自动检测包管理器、开发命令和端口,仅在检测错误或用户指定时添加 --command、--script 或 --port。
  5. 轮询 d3k status --json 直到就绪。

用户驱动的测试:确认状态中包含 app URL 且 browserConnected: true,告知用户受监控浏览器已就绪,保持 d3k 进程运行并等待用户复现。用户报告问题发生后,从 d3k errors --context 和 d3k logs -n 200 开始排查。用户测试期间不要用自动化替代有头浏览器。

智能体驱动的测试:驱动 d3k 正在监控的同一个浏览器,例如 d3k agent-browser snapshot -i、d3k agent-browser click @e2、d3k agent-browser fill @e3 "text",再执行 d3k errors --context。打开 URL 时可使用 --require-d3k-browser 防止静默创建另一个浏览器:d3k agent-browser --require-d3k-browser open "<url>"。每次复现或代码改动后,重放相关交互并重新检查 d3k errors --context。

证据命令优先使用:d3k status --json、d3k errors --context、d3k logs -n 200、d3k logs --type browser、d3k logs --type server。运行产物保存在 ~/.d3k/<project>/ 下,包括 session.json、日志、截图和 Chrome profile。

适用场景

适用于需要复现浏览器问题、在稳定地址下运行 Web 项目、记录端到端证据链,以及让智能体在受控浏览器中自主测试的场景。对涉及 Google OAuth、Supabase 认证等对登录状态敏感的流程,d3k 的项目级 profile 能保留登录态,避免因更换浏览器或 profile 触发安全校验。

限制与约束

  • 默认必须使用 Canonical Portless HTTPS 路由;除非用户明确要求直连 localhost,否则不得添加 --no-portless 或设置 PORTLESS=0。
  • 不要与 d3k 并行运行 npm run dev、bun run dev 或其它开发服务器。
  • 当 d3k status --json 显示已有活动实例时,不要启动第二个 d3k。
  • 编辑和重新测试期间保持 d3k 存活;除非用户明确要求,否则保留项目稳定的 Chrome profile。
  • 认证敏感流程中,不得用原生 Chrome、Playwright、浏览器 MCP 会话、手动 CDP 附加或 agent-browser --profile 替代,以免使用不同浏览器/profile。受控浏览器不可用时,应停止或中断 d3k 进程后干净重启。
  • --headless 仅用于 CI 或明确要求时;--servers-only 仅在有意不需要浏览器监控时使用。
  • 在 macOS 上执行 Portless setup 需要系统管理员授权;若授权被拒绝或不可用,需停止并说明阻塞原因。

关于收费、价格、平台支持范围等具体信息,所提供资料暂未提供。