Token导航 LogoToken导航TokenDH.com
研究检索敏感数据github未标认证来源可访问许可证需确认审计通过

sentry-cloudflare-sdkSentry Cloudflare SDK 搜索

Agent Skill

sentry-cloudflare-sdk 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

10,811

周安装

455

GitHub Stars

156

下载量

3,786
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:sentry-cloudflare-sdk(Sentry Cloudflare SDK 搜索)
来源仓库:https://github.com/getsentry/sentry-for-ai
仓库路径:skills/sentry-cloudflare-sdk
安装命令:
npx skills add https://github.com/getsentry/sentry-for-ai --skill sentry-cloudflare-sdk
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/getsentry/sentry-for-ai --skill sentry-cloudflare-sdk

简介

用于查找、检索和筛选相关信息,支持基于关键词的任务匹配。

  • 适合在需要快速定位候选结果时使用,提升研究效率。sentry-cloudflare-sdk 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 可结合来源仓库和原始 README 继续核验具体用法。
  • 安装前建议确认权限范围和维护状态,避免触发不必要的联网操作。
  • 注意工具输出不能直接作为最终结论,需人工复核关键信息。

SKILL.md

All Skills > SDK Setup > Cloudflare SDK

Sentry Cloudflare SDK

Opinionated wizard that scans your Cloudflare project and guides you through complete Sentry setup for Workers, Pages, Durable Objects, Queues, Workflows, and Hono.

Invoke This Skill When

  • User asks to "add Sentry to Cloudflare Workers" or "set up Sentry" in a Cloudflare project
  • User wants to install or configure @sentry/cloudflare
  • User wants error monitoring, tracing, logging, crons, or AI monitoring for Cloudflare Workers or Pages
  • User asks about withSentry, sentryPagesPlugin, instrumentDurableObjectWithSentry, or instrumentD1WithSentry
  • User wants to monitor Durable Objects, Queues, Workflows, Scheduled handlers, or Email handlers on Cloudflare
Note: SDK versions and APIs below reflect current Sentry docs at time of writing (@sentry/cloudflare v10.43.0). Always verify against docs.sentry.io/platforms/javascript/guides/cloudflare/ before implementing.

Phase 1: Detect

Run these commands to understand the project before making any recommendations:

# Detect Cloudflare project
ls wrangler.toml wrangler.jsonc wrangler.json 2>/dev/null

# Detect existing Sentry
cat package.json 2>/dev/null | grep -E '"@sentry/'

# Detect project type (Workers vs Pages)
ls functions/ functions/_middleware.js functions/_middleware.ts 2>/dev/null && echo "Pages detected"
cat wrangler.toml 2>/dev/null | grep -E 'main|pages_build_output_dir'

# Detect framework
cat package.json 2>/dev/null | grep -E '"hono"|"remix"|"astro"|"svelte"'

# Detect Durable Objects
cat wrangler.toml 2>/dev/null | grep -i 'durable_objects'

# Detect D1 databases
cat wrangler.toml 2>/dev/null | grep -i 'd1_databases'

# Detect Queues
cat wrangler.toml 2>/dev/null | grep -i 'queues'

# Detect Workflows
cat wrangler.toml 2>/dev/null | grep -i 'workflows'

# Detect Scheduled handlers (cron triggers)
cat wrangler.toml 2>/dev/null | grep -i 'crons\|triggers'

# Detect compatibility flags
cat wrangler.toml 2>/dev/null | grep -i 'compatibility_flags'
cat wrangler.jsonc 2>/dev/null | grep -i 'compatibility_flags'

# Detect AI/LLM libraries
cat package.json 2>/dev/null | grep -E '"openai"|"@anthropic-ai"|"ai"|"@google/generative-ai"|"@langchain"'

# Detect logging libraries
cat package.json 2>/dev/null | grep -E '"pino"|"winston"'

# Check for companion frontend
ls frontend/ web/ client/ 2>/dev/null
cat package.json 2>/dev/null | grep -E '"react"|"vue"|"svelte"|"next"'

What to determine:

QuestionImpact
Workers or Pages?Determines wrapper: withSentry vs sentryPagesPlugin
Hono framework?Automatic Hono error handler integration via honoIntegration
@sentry/cloudflare already installed?Skip install, go to feature config
Durable Objects configured?Recommend instrumentDurableObjectWithSentry
D1 databases bound?Recommend instrumentD1WithSentry
Queues configured?withSentry auto-instruments queue handlers
Workflows configured?Recommend instrumentWorkflowWithSentry
Cron triggers configured?withSentry auto-instruments scheduled handlers; recommend Crons monitoring
nodejs_als or nodejs_compat flag set?Required — SDK needs AsyncLocalStorage
AI/LLM libraries?Recommend AI Monitoring integrations
Companion frontend?Trigger Phase 4 cross-link

Phase 2: Recommend

Present a concrete recommendation based on what you found. Don't ask open-ended questions — lead with a proposal:

Recommended (core coverage):

  • Error Monitoring — always; captures unhandled exceptions in fetch, scheduled, queue, email, and Durable Object handlers
  • Tracing — automatic HTTP request spans, outbound fetch tracing, D1 query spans

Optional (enhanced observability):

  • Logging — structured logs via Sentry.logger.*; recommend when log search is needed
  • Crons — detect missed/failed scheduled jobs; recommend when cron triggers are configured
  • D1 Instrumentation — automatic query spans and breadcrumbs; recommend when D1 is bound
  • Durable Objects — automatic error capture and spans for DO methods; recommend when DOs are configured
  • Workflows — automatic span creation for workflow steps; recommend when Workflows are configured
  • AI Monitoring — Vercel AI SDK, OpenAI, Anthropic, LangChain; recommend when AI libraries detected

Recommendation logic:

FeatureRecommend when...
Error MonitoringAlways — non-negotiable baseline
TracingAlways — HTTP request tracing and outbound fetch are high-value
LoggingApp needs structured log search or log-to-trace correlation
CronsCron triggers configured in wrangler.toml
D1 InstrumentationD1 database bindings present
Durable ObjectsDurable Object bindings configured
WorkflowsWorkflow bindings configured
AI MonitoringApp uses Vercel AI SDK, OpenAI, Anthropic, or LangChain
MetricsApp needs custom counters, gauges, or distributions

Propose: *"I recommend setting up Error Monitoring + Tracing. Want me to also add D1 instrumentation and Crons monitoring?"*


Phase 3: Guide

Option 1: Source Maps Wizard

You need to run this yourself — the wizard opens a browser for login and requires interactive input that the agent can't handle. Copy-paste into your terminal: `` npx @sentry/wizard@latest -i sourcemaps `` This sets up source map uploading so your production stack traces show readable code. It does not set up the SDK initialization — you still need to follow Option 2 below for the actual SDK setup. Once it finishes, continue with Option 2 for SDK setup.
Note: Unlike framework SDKs (Next.js, SvelteKit), there is no Cloudflare-specific wizard integration. The sourcemaps wizard only handles source map upload configuration.

Option 2: Manual Setup

Prerequisites: Compatibility Flags

The SDK requires AsyncLocalStorage. Add one of these flags to your Wrangler config:

wrangler.toml:

compatibility_flags = ["nodejs_als"]
# or: compatibility_flags = ["nodejs_compat"]

wrangler.jsonc:

{
  "compatibility_flags": ["nodejs_als"]
}
nodejs_als is lighter — it only enables AsyncLocalStorage. Use nodejs_compat if your code also needs other Node.js APIs.

Install

npm install @sentry/cloudflare

Workers Setup

Wrap your handler with withSentry. This automatically instruments fetch, scheduled, queue, email, and tail handlers:

import * as Sentry from "@sentry/cloudflare";

export default Sentry.withSentry(
  (env: Env) => ({
    dsn: env.SENTRY_DSN,
    sendDefaultPii: true,
    tracesSampleRate: 1.0,
    enableLogs: true,
  }),
  {
    async fetch(request, env, ctx) {
      return new Response("Hello World!");
    },
  } satisfies ExportedHandler<Env>,
);

Key points:

  • The first argument is a callback that receives env — use this to read secrets like SENTRY_DSN
  • The SDK reads DSN, environment, release, debug, tunnel, and traces sample rate from env automatically (see Environment Variables)
  • withSentry wraps all exported handlers — you do not need separate wrappers for scheduled, queue, etc.

Pages Setup

Use sentryPagesPlugin as middleware:

// functions/_middleware.ts
import * as Sentry from "@sentry/cloudflare";

export const onRequest = Sentry.sentryPagesPlugin((context) => ({
  dsn: context.env.SENTRY_DSN,
  sendDefaultPii: true,
  tracesSampleRate: 1.0,
  enableLogs: true,
}));

Chaining multiple middlewares:

import * as Sentry from "@sentry/cloudflare";

export const onRequest = [
  // Sentry must be first
  Sentry.sentryPagesPlugin((context) => ({
    dsn: context.env.SENTRY_DSN,
    tracesSampleRate: 1.0,
  })),
  // Add more middlewares here
];

Using wrapRequestHandler directly (for frameworks like SvelteKit on Cloudflare Pages):

import * as Sentry from "@sentry/cloudflare";

export const handle = ({ event, resolve }) => {
  return Sentry.wrapRequestHandler(
    {
      options: {
        dsn: event.platform.env.SENTRY_DSN,
        tracesSampleRate: 1.0,
      },
      request: event.request,
      context: event.platform.ctx,
    },
    () => resolve(event),
  );
};

Hono on Cloudflare Workers

Hono apps are objects with a fetch method — wrap them with withSentry directly:

import { Hono } from "hono";
import * as Sentry from "@sentry/cloudflare";

const app = new Hono();

app.get("/", (ctx) => ctx.json({ message: "Hello" }));

app.get("/error", () => {
  throw new Error("Test error");
});

app.onError((err, ctx) => {
  return ctx.json({ error: err.message }, 500);
});

export default Sentry.withSentry(
  (env: Env) => ({
    dsn: env.SENTRY_DSN,
    tracesSampleRate: 1.0,
  }),
  app,
);

The honoIntegration (enabled by default) automatically captures errors from Hono's onError handler and sets the correct transaction name with the route path.

Set Up the SENTRY_DSN Secret

Store your DSN as a Cloudflare secret — do not hardcode it:

# Local development: add to .dev.vars
echo 'SENTRY_DSN="https://examplePublicKey@o0.ingest.sentry.io/0"' >> .dev.vars

# Production: set as a secret
npx wrangler secret put SENTRY_DSN

Add the binding to your Env type:

interface Env {
  SENTRY_DSN: string;
  // ... other bindings
}

Source Maps Setup

Source maps make production stack traces readable. Without them, you see minified/bundled code.

Step 1: Generate a Sentry auth token

Go to sentry.io/settings/auth-tokens/ and create a token with project:releases and org:read scopes.

Step 2: Install the Sentry Vite plugin (most Cloudflare projects use Vite via Wrangler):

npm install @sentry/vite-plugin --save-dev

Step 3: Configure vite.config.ts (if your project has one):

import { defineConfig } from "vite";
import { sentryVitePlugin } from "@sentry/vite-plugin";

export default defineConfig({
  build: {
    sourcemap: true,
  },
  plugins: [
    sentryVitePlugin({
      org: "___ORG_SLUG___",
      project: "___PROJECT_SLUG___",
      authToken: process.env.SENTRY_AUTH_TOKEN,
    }),
  ],
});

Step 4: Set environment variables in CI

SENTRY_AUTH_TOKEN=sntrys_eyJ...
SENTRY_ORG=my-org
SENTRY_PROJECT=my-project

Step 5: Add to .gitignore

.dev.vars
.env.sentry-build-plugin

Automatic Release Detection

The SDK can automatically detect the release version via Cloudflare's version metadata binding:

wrangler.toml:

[version_metadata]
binding = "CF_VERSION_METADATA"

Release priority (highest to lowest):

  1. release option passed to Sentry.init()
  2. SENTRY_RELEASE environment variable
  3. CF_VERSION_METADATA.id binding

For Each Agreed Feature

Load the corresponding reference file and follow its steps:

FeatureReference fileLoad when...
Error Monitoringreferences/error-monitoring.mdAlways (baseline) — unhandled exceptions, manual capture, scopes, enrichment
Tracingreferences/tracing.mdHTTP request tracing, outbound fetch spans, D1 query spans, distributed tracing
Loggingreferences/logging.mdStructured logs via Sentry.logger.*, log-to-trace correlation
Cronsreferences/crons.mdScheduled handler monitoring, withMonitor, check-in API
Durable Objectsreferences/durable-objects.mdInstrument Durable Object classes for error capture and spans

For each feature: read the reference file, follow its steps exactly, and verify before moving on.


Verification

After setup, verify Sentry is working:

// Add temporarily to your fetch handler, then remove
export default Sentry.withSentry(
  (env: Env) => ({
    dsn: env.SENTRY_DSN,
    tracesSampleRate: 1.0,
  }),
  {
    async fetch(request, env, ctx) {
      throw new Error("Sentry test error — delete me");
    },
  } satisfies ExportedHandler<Env>,
);

Deploy and trigger the route, then check your Sentry Issues dashboard — the error should appear within ~30 seconds.

Verification checklist:

CheckHow
Errors capturedThrow in a fetch handler, verify in Sentry
Tracing workingCheck Performance tab for HTTP spans
Source maps workingCheck stack trace shows readable file/line names
D1 spans (if configured)Run a D1 query, check for db.query spans
Scheduled monitoring (if configured)Trigger a cron, check Crons dashboard

Config Reference

Sentry.init() Options

OptionTypeDefaultNotes
dsnstringRequired. Read from env.SENTRY_DSN automatically if not set
tracesSampleRatenumber0–1; 1.0 in dev, lower in prod recommended
tracesSamplerfunctionDynamic sampling function; mutually exclusive with tracesSampleRate
sendDefaultPiibooleanfalseInclude request headers and cookies in events
enableLogsbooleanfalseEnable Sentry Logs product
environmentstringautoRead from env.SENTRY_ENVIRONMENT if not set
releasestringautoDetected from CF_VERSION_METADATA.id or SENTRY_RELEASE
debugbooleanfalseRead from env.SENTRY_DEBUG if not set. Log SDK activity to console
tunnelstringRead from env.SENTRY_TUNNEL if not set
beforeSendfunctionFilter/modify error events before sending
beforeSendTransactionfunctionFilter/modify transaction events before sending
beforeSendLogfunctionFilter/modify log entries before sending
tracePropagationTargets`(string\RegExp)[]`all URLsControl which outbound requests get trace headers
skipOpenTelemetrySetupbooleanfalseOpt-out of OpenTelemetry compatibility tracer
instrumentPrototypeMethods`boolean \string[]`falseDurable Object: instrument prototype methods for RPC spans

Environment Variables (Read from env)

The SDK reads these from the Cloudflare env object automatically:

VariablePurpose
SENTRY_DSNDSN for Sentry init
SENTRY_RELEASERelease version string
SENTRY_ENVIRONMENTEnvironment name (production, staging)
SENTRY_TRACES_SAMPLE_RATETraces sample rate (parsed as float)
SENTRY_DEBUGEnable debug mode ("true" / "1")
SENTRY_TUNNELTunnel URL for event proxying
CF_VERSION_METADATACloudflare version metadata binding (auto-detected release)

Default Integrations

These are registered automatically by getDefaultIntegrations():

IntegrationPurpose
dedupeIntegrationPrevent duplicate events (disabled for Workflows)
inboundFiltersIntegrationFilter events by type, message, URL
functionToStringIntegrationPreserve original function names
linkedErrorsIntegrationFollow cause chains in errors
fetchIntegrationTrace outbound fetch() calls, create breadcrumbs
honoIntegrationAuto-capture Hono onError exceptions
requestDataIntegrationAttach request data to events
consoleIntegrationCapture console.* calls as breadcrumbs

Phase 4: Cross-Link

After completing Cloudflare setup, check for companion services:

# Check for companion frontend
ls frontend/ web/ client/ ui/ 2>/dev/null
cat package.json 2>/dev/null | grep -E '"react"|"vue"|"svelte"|"next"|"astro"'

# Check for companion backend in adjacent directories
ls ../backend ../server ../api 2>/dev/null
cat ../go.mod ../requirements.txt ../Gemfile 2>/dev/null | head -3

If a frontend is found, suggest the matching SDK skill:

Frontend detectedSuggest skill
Reactsentry-react-sdk
Next.jssentry-nextjs-sdk
Svelte/SvelteKitsentry-svelte-sdk
Vue/NuxtSee docs.sentry.io/platforms/javascript/guides/vue/

If a backend is found in a different directory:

Backend detectedSuggest skill
Go (go.mod)sentry-go-sdk
Python (requirements.txt, pyproject.toml)sentry-python-sdk
Ruby (Gemfile)sentry-ruby-sdk
Node.js (Express, Fastify)sentry-node-sdk

Connecting frontend and backend with linked Sentry projects enables distributed tracing — stack traces that span your browser, Cloudflare Worker, and backend API in a single trace view.


Troubleshooting

IssueCauseSolution
Events not appearingDSN not set or debug: false hiding errorsSet debug: true temporarily in init options; verify SENTRY_DSN secret is set with wrangler secret list
AsyncLocalStorage is not definedMissing compatibility flagAdd nodejs_als or nodejs_compat to compatibility_flags in wrangler.toml
Stack traces show minified codeSource maps not uploadedConfigure @sentry/vite-plugin or run npx @sentry/wizard -i sourcemaps; verify SENTRY_AUTH_TOKEN in CI
Events lost on short-lived requestsSDK not flushing before worker terminatesEnsure withSentry or sentryPagesPlugin wraps your handler — they use ctx.waitUntil() to flush
Hono errors not capturedHono app not wrapped with withSentryPass the Hono app as the second argument to Sentry.withSentry()
Durable Object errors missingDO class not instrumentedWrap class with Sentry.instrumentDurableObjectWithSentry() — see references/durable-objects.md
D1 queries not creating spansD1 binding not instrumentedWrap binding with Sentry.instrumentD1WithSentry(env.DB) before use
Scheduled handler not monitoredwithSentry not wrapping the handlerEnsure export default Sentry.withSentry(...) wraps your entire exported handler object
Release not auto-detectedCF_VERSION_METADATA binding not configuredAdd [version_metadata] with binding = "CF_VERSION_METADATA" to wrangler.toml
Duplicate events in WorkflowsDedupe integration filtering step failuresSDK automatically disables dedupe for Workflows; verify you use instrumentWorkflowWithSentry

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

32.63%
按下载量换算1,235

Claude

30.77%
按下载量换算1,165

Cursor

20.95%
按下载量换算793

Gemini CLI

10.33%
按下载量换算391

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills