@backendkit-labs/agent-otel

中文文档
0.1.10发布于 2026/10/27MITTypeScriptCommonJS零依赖近 30 天下载 2113

为 @ backendkit-labs/ agent-core 的 OpenTeleometry 导出: OTLP/ HTTP 出口国(不需要SDK) 和 OpenTeleometry API 的适配器, 带有 GenAI 语义规范

中文使用文档
文档目录4 节
  1. 你得到的东西
  2. otlpHttpSpanExporter(options)
  3. otelApiSpanExporter(options)
  4. 已验证

@ backendkit-labs/ 代理服务器

用于跟踪的 OpenTeleometry 导出 @backendkit-labs/agent-core选择符合下列条件的出口商: 如何运行遥测:

你有过使用
一个能说OTLP/HTTP的收藏器或后端(Jaeger, Tempo, Langfuse, Datadog, OpenTeleometry Collector...)和 没有 打开遥测 SDKotlpHttpSpanExporter
已在此过程中注册的 OpenTeleometry SDK( 自动仪器、 自己的处理器/ 出口器)otelApiSpanExporter
import { createBaseEngine } from '@backendkit-labs/agent-core';
import { otlpHttpSpanExporter } from '@backendkit-labs/agent-otel';

const exporter = otlpHttpSpanExporter({ endpoint: 'http://localhost:4318', serviceName: 'support-agent' });

const engine = createBaseEngine({
  // ...
  observability: { tracing: { exporter } },
});

// on shutdown
await exporter.shutdown();
import { otelApiSpanExporter } from '@backendkit-labs/agent-otel';   // needs @opentelemetry/api
observability: { tracing: { exporter: otelApiSpanExporter() } }

你得到的东西

每张一张 engine.run()数字 :

agent.run
└─ invoke_agent Main
   ├─ chat deepseek-chat          (tokens, model, provider, cost, cache tokens)
   ├─ execute_tool read_file      (success, duration — parallel tools overlap in time)
   └─ chat deepseek-chat

属性遵循 OpenTeleometry GenAI 语义公约数字 : gen_ai.operation.name (单位:千美元)invoke_agent 编号 : chat 编号 : execute_tool, (中文(简体) ), gen_ai.request.model, (中文(简体) ), gen_ai.provider.name, (中文(简体) ), gen_ai.usage.input_tokens, (中文(简体) ), gen_ai.usage.output_tokens, (中文(简体) ), gen_ai.usage.cache_read.input_tokens, (中文(简体) ), gen_ai.usage.cache_creation.input_tokens, (中文(简体) ), gen_ai.agent.id/name, (中文(简体) ), gen_ai.tool.name。任何与 代理核心(成本以美元计,原始跟踪识别码、护卫行动、为什么额外发出LLM呼叫) bk.*,比如说. bk.cost_usd, (中文(简体) ), bk.llm.purpose (单位:千美元)context_summary, (中文(简体) ), structured_output, (中文(简体) ), bk.guardrail.<name>.<action>。 。 。 .

对话内容从不导出 . Spans只携带姓名、期限、记号和身份证:否 提示、答案、工具参数或工具结果.

要求数 @backendkit-labs/agent-core 与 llm_call 编号 : tool_call 宽度(0.28+)。 你只有0.27岁 agent.run 财务报告和审定财务报表 invoke_agent。 。 。 .

otlpHttpSpanExporter(options)

将OTLP/JSON发送给 <endpoint>/v1/traces没有SDK 没有依附关系.

选项默认
endpointOTEL_EXPORTER_OTLP_ENDPOINT 或者说 http://localhost:4318/v1/traces 除非已经附上
headers– 说吧 –譬如说. { Authorization: 'Basic …' }
serviceNameagentservice.name 资源属性
resourceAttributes– 说吧 –deployment.environment, (中文(简体) ), service.version.
batchSize64国道发送前缓冲跨度
flushIntervalMs联合国此长后发送部分批次( 时间为 unref(d) 国家
timeoutMs1万个每个请求
onError– 说吧 –在此报告一个失败的发送 那批货被丢掉无法到达代理
fetch全球 fetch测试或海关运输

返回函数为 flush() 财务报告和审定财务报表 shutdown()。发送是序列化的,从不重叠. ID从代理-core的ID中衍生出决定性的ID,所以父母/孩子的联系被保留了下来.

otelApiSpanExporter(options)

重建跨度 @opentelemetry/api (单位:千美元)options.tracer默认值 trace.getTracer('@backendkit-labs/agent-core')),所以他们到达任何你的SDK出口.

OpenTeleometry API 无法选择一个跨度的代号,孩子必须从其父母的真实跨度创建. 代理核心出口在结束时(先是孩子),所以这个适配器在根上保持一个跟踪的间隔 agent.run 结尾,然后创建树父母- 首先是原始的起始/结束时间。 后果:

  • 当运行完成时,而不是运行时,运行的Spans出现在后端.
  • 从未结束( 崩溃) 的跑步会缓冲: 呼叫 exporter.flush() 关闭(按 父 从未到达 . maxBufferedSpans (默认 5000) 范围内存 .
  • @opentelemetry/api 是一个可选的对等依赖;没有它,出口商就会在创建时投出一个明显的错误.

已验证

单位测试外加一个真正的引擎运行 通过两个出口商。 API 适配器也被检查为真实 @opentelemetry/sdk-trace-base 提供者:一个跟踪,正确的等级,平行工具在时间上重叠.

版本与发布记录

@backendkit-labs/agent-otel 共发布 12 个版本,首次发布于 2026/10/22;过去 12 个月发布了 12 个版本。

版本发布日期距今
0.1.10latest2026/10/2712 天前
0.1.92026/10/2712 天前
0.1.82026/10/2712 天前
0.1.72026/10/2712 天前
0.1.62026/10/2612 天前
0.1.52026/10/2414 天前

关于 @backendkit-labs/agent-otel 的常见问题

@backendkit-labs/agent-otel 是什么?

为 @ backendkit-labs/ agent-core 的 OpenTeleometry 导出: OTLP/ HTTP 出口国(不需要SDK) 和 OpenTeleometry API 的适配器, 带有 GenAI 语义规范

如何安装 @backendkit-labs/agent-otel?

在项目目录运行 npm install @backendkit-labs/agent-otel,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@backendkit-labs/agent-core(>=0.27.0 <0.38.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@backendkit-labs/agent-otel 支持 TypeScript 吗?

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

@backendkit-labs/agent-otel 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@backendkit-labs/agent-otel 需要什么版本的 Node.js?

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

@backendkit-labs/agent-otel 可以商用吗?

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

@backendkit-labs/agent-otel 的下载量有多少?

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

@backendkit-labs/agent-otel 还在维护吗?

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