@expressots/studio-agent

中文文档
4.3.0发布于 2026/09/13MITTypeScriptES Module近 30 天下载 19万

ExpressoTS Studio的仪器代理 -- -- 路线发现、追踪和请求记录

中文使用文档
文档目录11 节
  1. 特征
  2. 安装
  3. 快速启动
  4. 配置
  5. 构成部分
  6. 工作室代理员
  7. 路由扫描器
  8. 请求记录
  9. 工作室追踪器
  10. WebSocket 事件
  11. 许可证

@ expressots/ studio- agent

ExpressoTS Studio的仪器代理 - 路线发现,追踪,和请求录音.

npm License Discord Build

特征

  • 路由发现: 自动扫描您的 ExpressototS 应用程序以发现所有路径、 控制器和服务
  • 打开远程跟踪: 带有自动仪器的完全分布式追踪
  • 请求记录: 记录并重放 HTTP 调试请求
  • WebSocket 通讯: 实时更新到 Studio UI
  • 计量收藏: P50/P95/P99 延迟率、误差率等

安装

npm install @expressots/studio-agent

快速启动

import { StudioAgent } from "@expressots/studio-agent";

const agent = new StudioAgent({
  port: 3334,
  serviceName: "my-app",
  enableRecording: true,
});

// Start the agent
await agent.start();

// Use the middleware (optional, for request recording)
app.use(agent.createMiddleware());

// Get discovered routes
const routes = agent.getRoutes();

// Stop when done
await agent.stop();

配置

interface AgentConfig {
  /** Port for the agent WebSocket server (default: 3334) */
  port: number;

  /** Path to store SQLite database (default: '.studio/studio.db') */
  dbPath: string;

  /** Enable request/response recording (default: true) */
  enableRecording: boolean;

  /** Maximum number of recorded exchanges to keep (default: 1000) */
  maxRecordedExchanges: number;

  /** Enable performance profiling (default: true) */
  enableProfiling: boolean;

  /** Sample rate for tracing 0-1 (default: 1.0) */
  traceSampleRate: number;

  /** Custom service name (default: 'expressots-app') */
  serviceName: string;

  /** Express app instance for runtime route scanning */
  expressApp?: any;
}

构成部分

工作室代理员

协调所有功能的主管弦乐手.

路由扫描器

扫描 TypeScript 源文件以发现路径及其元数据 :

import { RouteScanner } from "@expressots/studio-agent";

const scanner = new RouteScanner("./src");
const structure = await scanner.scan();

console.log(structure.controllers);
console.log(structure.services);
console.log(structure.dependencies);

请求记录

记录 HTTP 以后重播的请求/答复 :

import { RequestRecorder } from "@expressots/studio-agent";

const recorder = new RequestRecorder(".studio/studio.db");
await recorder.initialize();

// Get recent exchanges
const exchanges = recorder.getRecentExchanges(100);

// Search by path
const results = recorder.searchExchanges("/api/users", "GET");

工作室追踪器

带有自定义跨度处理的 OpenTeleometry 跟踪器 :

import { StudioTracer } from "@expressots/studio-agent";

const tracer = new StudioTracer("my-service");
await tracer.start((trace) => {
  console.log("Trace completed:", trace.traceId);
});

// Create custom spans
await tracer.createSpan(
  "my-operation",
  async () => {
    // Your code here
  },
  { attribute: "value" },
);

WebSocket 事件

代理向连接客户端发送实时事件 :

活动说明
routes已发现路线
trace已完成追踪
request记录的新请求
metrics更新的衡量标准
structure应用结构

许可证

麻省理工学院

版本与发布记录

@expressots/studio-agent 共发布 12 个版本,首次发布于 2026/05/14;过去 12 个月发布了 12 个版本。

版本发布日期距今
4.3.0latest2026/09/132 个月前
4.2.12026/08/043 个月前
4.2.02026/08/043 个月前
4.1.12026/07/283 个月前
4.1.02026/07/283 个月前
4.0.02026/07/173 个月前

其他发布通道:preview → 4.0.0-preview.1,next → 4.0.0-preview.3.4。

关于 @expressots/studio-agent 的常见问题

@expressots/studio-agent 是什么?

ExpressoTS Studio的仪器代理 -- -- 路线发现、追踪和请求记录

如何安装 @expressots/studio-agent?

在项目目录运行 npm install @expressots/studio-agent,或使用 pnpm add / yarn add / bun add。

@expressots/studio-agent 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@expressots/studio-agent 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@expressots/studio-agent 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20.19.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@expressots/studio-agent 可以商用吗?

@expressots/studio-agent 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@expressots/studio-agent 的下载量有多少?

根据 npm 官方下载统计,@expressots/studio-agent 在 2026/10/14 – 2026/11/12 这 30 天内被下载 189,632 次,日均约 6,321 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@expressots/studio-agent 还在维护吗?

最新版本 4.3.0 发布于 2026/09/13(2 个月前);至今共发布 12 个版本,其中过去 12 个月发布了 12 个;首次发布于 2026/05/14。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。