skillZs
★ LIVE SKILL TAGS ★
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
※ REAL INSTALL DATA ※
← back to all skills
tencentedgeone/edgeone-makers-tools253 installs

edgeone-makers-edge-functions

V8-based lightweight edge functions on EdgeOne Makers. Covers routing, KV storage access, request/response handling, and environment variables at the edge.

How do I install this agent skill?

npx skills add https://github.com/tencentedgeone/edgeone-makers-tools --skill edgeone-makers-edge-functions
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubpass

    This skill provides technical documentation and code examples for the EdgeOne Makers edge function runtime. It demonstrates standard practices for request handling, routing, and storage access within a V8 environment. No malicious patterns or security vulnerabilities were identified.

  • Socketpass

    No alerts

  • Snykwarn

    Risk: MEDIUM · 1 issue

What does this agent skill do?

Edge Functions

V8-based lightweight functions running at the edge. Ideal for simple APIs, KV storage access, and ultra-low latency responses.

Runtime: V8 (like Cloudflare Workers) — NOT Node.js. Do NOT use Node.js built-ins or npm packages.

⚠️ Response.json() is NOT available in this V8 runtime. Always use new Response(JSON.stringify(data), { headers: { 'Content-Type': 'application/json' } }) instead.

Basic function

File: edge-functions/api/hello.js

export default function onRequest(context) {
  return new Response('Hello from Edge Functions!');
}

Access: GET /api/hello

HTTP method handlers

// edge-functions/api/users.js

// Handle all methods
export function onRequest(context) {
  return new Response('Any method');
}

// Or use specific method handlers:
export function onRequestGet(context) {
  return new Response(JSON.stringify({ users: [] }), {
    headers: { 'Content-Type': 'application/json' },
  });
}

export async function onRequestPost(context) {
  const body = await context.request.json();
  return new Response(JSON.stringify({ created: true }), {
    status: 201,
    headers: { 'Content-Type': 'application/json' },
  });
}

EventContext object

export function onRequest(context) {
  const {
    request,    // Standard Request object
    params,     // Dynamic route params, e.g. { id: "123" }
    env,        // Environment variables from Makers console
    waitUntil,  // Extend function lifetime for async tasks
  } = context;

  // GEO info available via:
  const geo = context.request.eo;
  // geo.geo.countryName, geo.geo.cityName, geo.geo.latitude, etc.

  return new Response('OK');
}

Dynamic routes

// edge-functions/api/users/[id].js
// Matches: /api/users/123, /api/users/abc

export function onRequestGet(context) {
  const userId = context.params.id;
  return new Response(JSON.stringify({ userId }), {
    headers: { 'Content-Type': 'application/json' },
  });
}
// edge-functions/api/[[default]].js
// Catches all unmatched routes under /api/

export function onRequest(context) {
  return new Response('Catch-all route', { status: 404 });
}

KV Storage (Edge Functions only)

Cross-reference: if your code uses context.store or KV APIs, also read ../makers-storage/SKILL.md.

⚠️ Prerequisites: You must enable KV Storage in the EdgeOne Makers console, create a namespace, and bind it to your project before using KV. See ../makers-storage/references/kv.md for full setup instructions.

The KV namespace is a global variable (name is set when binding in the console) — it is NOT on context.env.

// edge-functions/api/counter.js

export async function onRequest(context) {
  // ⚠️ my_kv is a GLOBAL variable (name set when binding namespace in console)
  // Do NOT use context.env.KV ❌
  
  // Read
  const count = await my_kv.get('page_views') || '0';
  const newCount = parseInt(count) + 1;

  // Write
  await my_kv.put('page_views', String(newCount));

  return new Response(JSON.stringify({ views: newCount }), {
    headers: { 'Content-Type': 'application/json' },
  });
}

For full KV Storage API reference and usage guide, see: ../makers-storage/references/kv.md.

Supported Runtime APIs

Edge Functions run on V8 and support these Web Standard APIs:

  • Fetch API — fetch() for outbound HTTP requests
  • Cache API — caches.open(), cache.match(), cache.put()
  • Headers / Request / Response — standard Web API objects
  • Streams — ReadableStream, WritableStream, TransformStream
  • Web Crypto — crypto.subtle for encryption/signing
  • Encoding — TextEncoder, TextDecoder
  • URL / URLSearchParams — URL parsing

⚠️ NOT available: Node.js built-ins (fs, path, http, crypto from Node), require(), npm packages.

Limits

ResourceLimit
Code package size5 MB
Request body1 MB
CPU time per invocation200 ms
LanguageJavaScript (ES2023+) only

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/tencentedgeone/edgeone-makers-tools/edgeone-makers-edge-functions">View edgeone-makers-edge-functions on skillZs</a>