Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

[bot] Cerebras Cloud TypeScript SDK (`@cerebras/cerebras_cloud_sdk`) not instrumented — no tracing for fast-inference chat completions or embeddings (126,155 weekly downloads)

未关闭
#2,101 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
68/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
领域
observability

调研方向

先阅读 js/src/auto-instrumentations/configs/ 中现有的配置,尤其是 openai.ts、groq.ts 和 mistral.ts,然后检查 js/src/wrappers/ 和 js/src/instrumentation/plugins/ 中对应的模式。为 Cerebras chat completions、streaming、completions 和 embeddings 添加覆盖,并在 e2e/scenarios/ 中添加 auto-instrumentation 配置和 e2e 场景;完成标准是直接调用 @cerebras/cerebras_cloud_sdk 能产生 Braintrust spans。

由索引模型根据 Issue 内容生成。

描述

Summary

Cerebras publishes an official TypeScript SDK for their ultra-fast LLM inference API: @cerebras/cerebras_cloud_sdk on npm (v1.64.1, actively maintained). It provides execution APIs for chat completions, completions, embeddings, and streaming responses. The SDK has its own HTTP client based on node-fetch — it does not depend on the openai npm package. This repository has zero instrumentation for any Cerebras SDK surface — no wrapper, no channels, no plugin, no auto-instrumentation config. Users who call @cerebras/cerebras_cloud_sdk directly get no Braintrust spans.

What instrumentation is missing

The @cerebras/cerebras_cloud_sdk npm package exposes these execution surfaces, none of which are instrumented:

SDK Method Description
client.chat.completions.create({ model, messages }) Chat completions with tool use, structured outputs, and reasoning
client.chat.completions.create({ ..., stream: true }) Streaming chat completions
client.completions.create({ model, prompt }) Raw text completions
client.embeddings.create(...) Text embeddings

Cerebras is notable for extremely low-latency LLM inference (their wafer-scale hardware delivers tokens significantly faster than GPU-based providers), making observability especially valuable for latency-sensitive production workloads.

No coverage in any instrumentation layer:

  • No wrapper function (e.g. wrapCerebras())
  • No diagnostics channels for Cerebras methods
  • No plugin handler in js/src/instrumentation/plugins/
  • No auto-instrumentation config in js/src/auto-instrumentations/configs/
  • No e2e test scenarios
  • Grep for cerebras (case-insensitive) across js/src/ returns zero matches

Indirect coverage is insufficient:

Braintrust's Cerebras integration page documents a gateway/OpenAI SDK approach only — using the openai npm client pointed at the Braintrust gateway to route to Cerebras models. Users who call @cerebras/cerebras_cloud_sdk directly get no spans at all. The Cerebras SDK has its own separate HTTP layer (runtime deps: node-fetch, abort-controller, agentkeepalive, form-data-encoder, formdata-node) and is not patched by the existing openai auto-instrumentation.

Braintrust docs status

not_found for direct SDK instrumentation. The Braintrust Cerebras integration page documents a gateway/OpenAI SDK approach only and does not reference @cerebras/cerebras_cloud_sdk.

Upstream references

Local files inspected

  • js/src/auto-instrumentations/configs/ — full config list: anthropic.ts, openai.ts, ai-sdk.ts, groq.ts, mistral.ts, cohere.ts, huggingface.ts, google-genai.ts, google-adk.ts, genkit.ts, openai-agents.ts, openrouter.ts, openrouter-agent.ts, claude-agent-sdk.ts, cursor-sdk.ts, github-copilot.ts, openai-codex.ts, flue.ts — no Cerebras config present
  • js/src/wrappers/ — no cerebras.ts wrapper file
  • js/src/instrumentation/plugins/ — no Cerebras channels or plugin
  • e2e/scenarios/ — no Cerebras test scenarios
  • Full repo grep for cerebras (case-insensitive) in js/src/ — zero matches
  • Cerebras SDK package.json (GitHub) — confirmed runtime deps are node-fetch/agentkeepalive/form-data-encoder; no openai dependency
主要语言
TypeScript
星标
29
派生
16
平均合并
1 天 16 小时
30 天内合并 PR
64

环境准备

  • 提供 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 没有贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

braintrustdata/braintrust-sdk-javascript 的其他 Issue

查看 braintrustdata/braintrust-sdk-javascript 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。