#576 by GitHub stars
TencentEdgeOne/edgeone-makers-tools
EdgeOne Makers 全栈开发技能包 —— 涵盖 AI Agent 开发(DeepAgents、LangGraph、 Claude SDK、OpenAI Agents、CrewAI)、云函数(Node.js/Go/Python)、边缘函数、 KV 存储、中间件及快速部署,帮助 AI 编程助手准确高效地在 EdgeOne 平台上构建和发布应用。
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
e6ead945373c → e6ead945373c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → e6ead945373c
No earlier version was observed for comparison.
skills/edgeone-makers-tools/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
e6ead945373c → e6ead945373c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → e6ead945373c
No earlier version was observed for comparison.
skills/edgeone-makers-tools/references/makers-agents/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
e6ead945373c → e6ead945373c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → e6ead945373c
No earlier version was observed for comparison.
skills/edgeone-makers-tools/references/makers-cli/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
e6ead945373c → e6ead945373c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → e6ead945373c
No earlier version was observed for comparison.
skills/edgeone-makers-tools/references/makers-cloud-functions/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
e6ead945373c → e6ead945373c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → e6ead945373c
No earlier version was observed for comparison.
skills/edgeone-makers-tools/references/makers-deploy/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
e6ead945373c → e6ead945373c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → e6ead945373c
No earlier version was observed for comparison.
skills/edgeone-makers-tools/references/makers-edge-functions/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
e6ead945373c → e6ead945373c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → e6ead945373c
No earlier version was observed for comparison.
skills/edgeone-makers-tools/references/makers-env-adaption/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
e6ead945373c → e6ead945373c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → e6ead945373c
No earlier version was observed for comparison.
skills/edgeone-makers-tools/references/makers-frameworks/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
e6ead945373c → e6ead945373c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → e6ead945373c
No earlier version was observed for comparison.
skills/edgeone-makers-tools/references/makers-middleware/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
e6ead945373c → e6ead945373c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → e6ead945373c
No earlier version was observed for comparison.
skills/edgeone-makers-tools/references/makers-migration/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
e6ead945373c → e6ead945373c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → e6ead945373c
No earlier version was observed for comparison.
skills/edgeone-makers-tools/references/makers-recipes/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
e6ead945373c → e6ead945373c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → e6ead945373c
No earlier version was observed for comparison.
skills/edgeone-makers-tools/references/makers-storage/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
e6ead945373c → e6ead945373c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → e6ead945373c
No earlier version was observed for comparison.
Verified commit e6ead945373c8dc56dca91d3e586e3c7cccd0079
git clone --filter=blob:none --no-checkout https://github.com/TencentEdgeOne/edgeone-makers-tools.git .hotskills/tencentedgeone-edgeone-makers-tools && git -C .hotskills/tencentedgeone-edgeone-makers-tools checkout --detach e6ead945373c8dc56dca91d3e586e3c7cccd0079
# Copy each selected skill directory from .hotskills/tencentedgeone-edgeone-makers-tools into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/TencentEdgeOne/edgeone-makers-tools.git .hotskills/tencentedgeone-edgeone-makers-tools && git -C .hotskills/tencentedgeone-edgeone-makers-tools checkout --detach e6ead945373c8dc56dca91d3e586e3c7cccd0079
# Copy each selected skill directory from .hotskills/tencentedgeone-edgeone-makers-tools into .agents/skills/<skill-name>/Heat
2.3- Star growth, last 7 daysAhead of 2% of tracked repositories
- Star growth, last 24 hoursAhead of 70% of tracked repositories
- Rank movement, last 7 daysAhead of 6% of tracked repositories
- Commits, last 30 daysAhead of 64% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
- edgeone-makers-tools
/ - edgeone-makers-tools
skills/edgeone-makers-tools - edgeone-makers-agents
skills/edgeone-makers-tools/references/makers-agents - edgeone-makers-cli
skills/edgeone-makers-tools/references/makers-cli - edgeone-makers-cloud-functions
skills/edgeone-makers-tools/references/makers-cloud-functions - edgeone-makers-deploy
skills/edgeone-makers-tools/references/makers-deploy - edgeone-makers-edge-functions
skills/edgeone-makers-tools/references/makers-edge-functions - edgeone-makers-env-adaption
skills/edgeone-makers-tools/references/makers-env-adaption - edgeone-makers-frameworks
skills/edgeone-makers-tools/references/makers-frameworks - edgeone-makers-middleware
skills/edgeone-makers-tools/references/makers-middleware - edgeone-makers-migration
skills/edgeone-makers-tools/references/makers-migration - edgeone-makers-recipes
skills/edgeone-makers-tools/references/makers-recipes - edgeone-makers-storage
skills/edgeone-makers-tools/references/makers-storage
How it works
edgeone-makers-tools
When your agent uses it
EdgeOne Makers 全栈开发技能包 —— 涵盖 AI Agent 开发(DeepAgents、LangGraph、 Claude SDK、OpenAI Agents、CrewAI)、云函数(Node.js/Go/Python)、边缘函数、 KV 存储、中间件及快速部署,帮助 AI 编程助手准确高效地在 EdgeOne 平台上构建和发布应用。
What it loads into context
Frontmatter
155 tokensAlways available to the agent
SKILL.md
451 tokensWhen the skill is activated
Reference documents
36,775 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Scripts executed separately
hooks/signal-log.mjshooks/signal-log.test.mjshooks/validate-write.mjshooks/validate-write.test.mjspackage.jsonscripts/add-toc.mjsscripts/archive-traffic.mjsscripts/build.mjsscripts/doctor.mjsscripts/doctor.test.mjsscripts/lib/skill-graph.mjsscripts/lib/skill-graph.test.mjs
Files
.claude-plugin/marketplace.jsonasset597 bytes.claude-plugin/plugin.jsonasset248 bytes.codebuddy-plugin/manifest.jsonasset283 bytes.codebuddy-plugin/marketplace.jsonasset596 bytes.cursor-plugin/plugin.jsonasset248 bytes.github/dependabot.ymlasset205 bytes.github/workflows/build.ymlasset957 bytes.github/workflows/publish-skillhub.ymlasset7,991 bytes.github/workflows/traffic-archive.ymlasset1,165 bytes.gitignoreasset305 bytesAGENTS.mddoc1,483 bytesBRANCH.mddoc2,180 bytesCLAUDE.mddoc1,777 bytesLICENSEasset1,072 bytesREADME.mddoc5,093 bytesSECURITY.mddoc1,291 bytesSKILL.mdcore1,722 bytes_meta.jsonasset5,245 bytescodex/makers-agents.mddoc23,581 bytescodex/makers-cli.mddoc2,957 bytescodex/makers-cloud-functions.mddoc950 bytescodex/makers-deploy.mddoc38,072 bytescodex/makers-edge-functions.mddoc5,014 bytescodex/makers-env-adaption.mddoc19,422 bytescodex/makers-frameworks.mddoc10,142 bytescodex/makers-middleware.mddoc4,918 bytescodex/makers-migration.mddoc16,680 bytescodex/makers-recipes.mddoc11,876 bytescodex/makers-storage.mddoc3,787 bytescursor/rules/makers-agents.mdcasset23,581 bytescursor/rules/makers-cli.mdcasset2,957 bytescursor/rules/makers-cloud-functions.mdcasset950 bytescursor/rules/makers-deploy.mdcasset38,072 bytescursor/rules/makers-edge-functions.mdcasset5,014 bytescursor/rules/makers-env-adaption.mdcasset19,422 bytescursor/rules/makers-frameworks.mdcasset10,142 bytescursor/rules/makers-middleware.mdcasset4,918 bytescursor/rules/makers-migration.mdcasset16,680 bytescursor/rules/makers-recipes.mdcasset11,876 bytescursor/rules/makers-storage.mdcasset3,787 byteshooks/hooks.jsonasset317 byteshooks/signal-log.mjsruns1,341 byteshooks/signal-log.test.mjsruns1,603 byteshooks/validate-write.mjsruns8,634 byteshooks/validate-write.test.mjsruns11,091 bytespackage-lock.jsonasset203 bytespackage.jsonruns347 bytesscripts/add-toc.mjsruns3,205 bytesscripts/archive-traffic.mjsruns6,507 bytesscripts/build.mjsruns2,772 bytesscripts/doctor.mjsruns4,115 bytesscripts/doctor.test.mjsruns2,389 bytesscripts/lib/skill-graph.mjsruns12,828 bytesscripts/lib/skill-graph.test.mjsruns20,772 bytes
Read SKILL.md
# EdgeOne Makers Skills
When you need EdgeOne Makers platform development guidance, read the matching Skill based on the task:
| Task | Read |
|------|------|
| Web framework support — which adapter, build output, 404, and unsupported features (Next.js, Nuxt, Astro, SvelteKit, React Router, TanStack Start, Vike, Vite, Hugo) | skills/makers-frameworks/SKILL.md |
| AI Agent development (DeepAgents, LangGraph, Claude SDK, OpenAI Agents, CrewAI) | skills/makers-agents/SKILL.md |
| Deploy project to EdgeOne | skills/makers-deploy/SKILL.md |
| Edge Functions (V8 lightweight functions) | skills/makers-edge-functions/SKILL.md |
| Cloud Functions (Node.js / Go / Python APIs) | skills/makers-cloud-functions/SKILL.md |
| KV + Blob Storage | skills/makers-storage/SKILL.md |
| Middleware (auth, rewrites, routing) | skills/makers-middleware/SKILL.md |
| CLI command reference | skills/makers-cli/SKILL.md |View the complete source on GitHubedgeone-makers-tools
When your agent uses it
EdgeOne Makers platform development router — the single entry point for building, storing data, and deploying on Tencent EdgeOne Makers. Trigger whenever the user develops, scaffolds, or deploys anything on EdgeOne Makers / EdgeOne Pages: AI agents (DeepAgents, LangGraph, CrewAI, OpenAI/Claude SDK), Cloud Functions (Node/Go/Python), Edge Functions (V8), KV + Blob storage, middleware, CLI usage, project scaffolding, and — importantly — persisting dynamic site data (messages, uploads, votes, save-state) where there is NO managed database, so Blob is used as the backend. Also trigger on "deploy to EdgeOne", "上线", "发布", "部署到 EdgeOne". This SKILL is a routing table; read only the sub-skill relevant to the current task, never all of them at once.
What it loads into context
Frontmatter
235 tokensAlways available to the agent
SKILL.md
633 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore2,614 bytes
Read SKILL.md
# EdgeOne Makers Skills
When you need EdgeOne Makers platform development guidance, read the matching Skill based on the task:
| Task | Read |
|------|------|
| Web framework support — which adapter, build output, 404, and unsupported features (Next.js, Nuxt, Astro, SvelteKit, React Router, TanStack Start, Vike, Vite, Hugo) | references/makers-frameworks/SKILL.md |
| AI Agent development (DeepAgents, LangGraph, Claude SDK, OpenAI Agents, CrewAI) | references/makers-agents/SKILL.md |
| Migrate an existing agent project to EdgeOne Makers | references/makers-migration/SKILL.md |
| Deploy project to EdgeOne | references/makers-deploy/SKILL.md |
| Edge Functions (V8 lightweight functions) | references/makers-edge-functions/SKILL.md |
| Cloud Functions (Node.js / Go / Python APIs) | references/makers-cloud-functions/SKILL.md |
| KV + Blob Storage | references/makers-storage/SKILL.md |
| Persist dynamic data for a site (messages, uploads, votes, save-state) — **no database; use Blob** | references/makers-storage/SKILL.md |View the complete source on GitHubedgeone-makers-agents
When your agent uses it
This skill guides building AI agent endpoints on EdgeOne Makers — five framework routes (DeepAgents, LangGraph, CrewAI, OpenAI Agents SDK, Claude Agent SDK), platform-injected `context.store` / `context.tools` / `context.sandbox`, conversation_id dual-channel routing, SSE streaming, and `agents/` vs `cloud-functions/` separation. It should be used when the user wants to create or review an AI agent endpoint on EdgeOne Makers — e.g. "build an agent on EdgeOne Makers", "create a Claude agent endpoint", "wire LangGraph into Makers", "stream LLM responses with SSE", "review my agent template", "use context.store / context.sandbox / context.tools". Do NOT trigger for plain Edge Functions, Cloud Functions, or middleware (those don't run AI logic — use makers-edge-functions / makers-cloud-functions / makers-middleware). Do NOT trigger for deployment workflows (use makers-deploy). Do NOT trigger for generic AI framework development outside an EdgeOne Makers project.
What it loads into context
Frontmatter
417 tokensAlways available to the agent
SKILL.md
5,779 tokensWhen the skill is activated
Reference documents
52,791 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- How to use this skill (for a coding agent)
- ⛔ Critical Rules (never skip)
- Mental Model
- Standard Project Layout
- edgeone.json Configuration
- Technology Decision Tree
- Routing
- Environment Setup
- Standard Operating Procedure
Files
SKILL.mdcore23,581 bytesSKILL.mdcore23,581 bytesSKILL.mdcore23,581 bytesSKILL.mdcore23,581 bytesSKILL.mdcore23,581 bytesSKILL.mdcore23,581 bytesSKILL.mdcore23,581 bytesSKILL.mdcore23,581 bytesSKILL.mdcore23,581 bytesSKILL.mdcore23,581 bytesSKILL.mdcore23,581 bytesreferences/capabilities/sandbox.mddoc6,392 bytesreferences/capabilities/store.mddoc20,512 bytesreferences/capabilities/tools.mddoc11,068 bytesreferences/framework-native-patterns.mddoc11,195 bytesreferences/node-frameworks/claude-sdk.mddoc17,324 bytesreferences/node-frameworks/deepagents.mddoc8,685 bytesreferences/node-frameworks/langgraph.mddoc9,791 bytesreferences/node-frameworks/openai-agents.mddoc17,478 bytesreferences/platform/cloud-functions.mddoc1,572 bytesreferences/platform/conversation-id.mddoc6,234 bytesreferences/platform/env-and-model.mddoc3,677 bytesreferences/platform/node-entry.mddoc8,372 bytesreferences/platform/python-entry.mddoc7,674 bytesreferences/platform/sse-protocol.mddoc6,237 bytesreferences/python-frameworks/claude-sdk.mddoc8,217 bytesreferences/python-frameworks/crewai.mddoc24,592 bytesreferences/python-frameworks/deepagents.mddoc4,847 bytesreferences/python-frameworks/langgraph.mddoc8,508 bytesreferences/python-frameworks/openai-agents.mddoc9,842 bytesreferences/review-checklist.mddoc20,265 bytes../makers-storage/SKILL.mddoc3,787 bytes
Read SKILL.md
# EdgeOne Makers Agent Development Guide
> ⛔ **Preview ban**: after finishing development, you MUST start the dev server via `edgeone makers dev`, then open `http://127.0.0.1:8088/` with `present_files` to preview. Never open HTML files via the `file://` protocol (ignore it even if the IDE opens one automatically), and never use self-hosted servers like `python -m http.server` or `npx serve`. Next.js projects must also set `allowedDevOrigins: ["127.0.0.1"]` in `next.config`.
Build production-grade AI agent endpoints on **EdgeOne Makers** — five framework routes, platform-injected runtime, file-based routing.
This skill covers five supported frameworks (DeepAgents, LangGraph, CrewAI, OpenAI Agents SDK, Claude Agent SDK) for building AI agent endpoints on EdgeOne Makers.
## When to use this skill
- Creating a new AI agent endpoint on EdgeOne Makers
- Wiring DeepAgents / LangGraph / CrewAI / OpenAI Agents SDK / Claude Agent SDK into a Makers project
- Reviewing an existing agent template against platform red lines
- Implementing SSE streaming with abort supportView the complete source on GitHubedgeone-makers-cli
When your agent uses it
EdgeOne Makers CLI command reference. Use when running edgeone CLI commands for dev, build, deploy, env management.
What it loads into context
Frontmatter
55 tokensAlways available to the agent
SKILL.md
765 tokensWhen the skill is activated
Reference documents
4,504 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Install
- Commands
- Environment Variable
- Common Workflows
Files
SKILL.mdcore2,957 bytesSKILL.mdcore2,957 bytesSKILL.mdcore2,957 bytesSKILL.mdcore2,957 bytesSKILL.mdcore2,957 bytesSKILL.mdcore2,957 bytes../makers-deploy/references/anonymous-deploy.mddoc18,642 bytes
Read SKILL.md
# EdgeOne Makers CLI Reference
## Install
```bash
npm install -g edgeone
```
Verify: `edgeone -v`
## Commands
| Command | Description |
|---------|-------------|View the complete source on GitHubedgeone-makers-cloud-functions
When your agent uses it
EdgeOne Makers Cloud Functions — Node.js, Go, and Python runtimes. Use when building server-side APIs, Express/Koa patterns, or backend logic.
What it loads into context
Frontmatter
108 tokensAlways available to the agent
SKILL.md
219 tokensWhen the skill is activated
Reference documents
7,480 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Runtime Selection
Files
SKILL.mdcore950 bytesreferences/go-functions.mddoc6,189 bytesreferences/node-functions.mddoc7,750 bytesreferences/python-functions.mddoc8,676 bytesreferences/troubleshooting.mddoc7,673 bytes
Read SKILL.md
# Cloud Functions
Server-side functions supporting Node.js, Go, and Python runtimes.
## Runtime Selection
| Runtime | When to use | Reference |
|---------|-------------|-----------|
| Node.js | Express/Koa patterns, npm ecosystem | [references/node-functions.md](references/node-functions.md) |
| Go | High performance, Gin/Echo/Chi | [references/go-functions.md](references/go-functions.md) |
| Python | Flask/FastAPI, ML libraries | [references/python-functions.md](references/python-functions.md) |View the complete source on GitHubedgeone-makers-deploy
When your agent uses it
This skill deploys frontend and full-stack projects to EdgeOne Makers (Tencent EdgeOne). Trigger this skill whenever deployment is part of the task — whether as the primary intent or a secondary step. Examples: "deploy my app", "publish this site", "push this live", "create a preview deployment", "deploy to EdgeOne", "ship to production", "go live", "release", "publish a new version", "redeploy", "上线", "发布", "发一版", "重新部署", "搭建并部署", "开发并上线", "build and deploy", "create and deploy". Also trigger for login-free deployment and project claiming: "deploy without login", "no account yet", "anonymous deploy", "claim project", "claim my deployment", "免登录部署", "匿名部署", "还没有账号", "认领项目". ⚠<U+FE0F> Also trigger when any agent is about to execute `edgeone makers deploy` or `edgeone makers deploy` commands — the skill contains critical rules for parsing deploy output and presenting access URLs. Do NOT trigger for post-deployment runtime errors (e.g. CORS issues, 500 errors after deploy — use makers-env-adaption / makers-recipes for troubleshooting).
What it loads into context
Frontmatter
365 tokensAlways available to the agent
SKILL.md
9,161 tokensWhen the skill is activated
Reference documents
5,789 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- ⛔ Critical Rules (never skip)
- Environment Setup
- Deployment Flow
- Install CLI
- Login
- Deploy
- Anonymous Deploy (no login required)
- ⚠<U+FE0F> Parse Deploy Output (Critical)
- Error Handling
Files
SKILL.mdcore38,072 bytesSKILL.mdcore38,072 bytesSKILL.mdcore38,072 bytesSKILL.mdcore38,072 bytesSKILL.mdcore38,072 bytesSKILL.mdcore38,072 bytesSKILL.mdcore38,072 bytesSKILL.mdcore38,072 bytesSKILL.mdcore38,072 bytesSKILL.mdcore38,072 bytesSKILL.mdcore38,072 bytesSKILL.mdcore38,072 bytesSKILL.mdcore38,072 bytesSKILL.mdcore38,072 bytesSKILL.mdcore38,072 bytesSKILL.mdcore38,072 bytesSKILL.mdcore38,072 bytesSKILL.mdcore38,072 bytesSKILL.mdcore38,072 bytesreferences/anonymous-deploy.mddoc18,642 bytesreferences/command-reference.mddoc4,861 bytes
Read SKILL.md
# EdgeOne Makers Deployment Skill
Deploy any project to **EdgeOne Makers**.
## ⛔ Critical Rules (never skip)
1. **CLI version ≥ `1.6.0`** — reinstall if lower. Versions below `1.6.0` lack the non-interactive fixes (whoami fail-fast, `--json` output) and hang in Agent/CI environments. Never proceed with an outdated version. **Anonymous deploy and `claim` additionally require `1.6.29`** — that is a higher, feature-specific floor; see **Anonymous Deploy**. Do not block a normal authenticated deploy because the CLI is below `1.6.29`.
[Credential-related source omitted]
❌ WRONG (truncated — will 401):
```
https://my-app-w9t0lxe8.edgeone.cool
```
View the complete source on GitHubedgeone-makers-edge-functions
When your agent uses it
V8-based lightweight edge functions on EdgeOne Makers. Covers routing, KV storage access, request/response handling, and environment variables at the edge.
What it loads into context
Frontmatter
200 tokensAlways available to the agent
SKILL.md
1,232 tokensWhen the skill is activated
Reference documents
3,029 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Basic function
- HTTP method handlers
- EventContext object
- Dynamic routes
- KV Storage (Edge Functions only)
- Supported Runtime APIs
- Limits
Files
SKILL.mdcore5,014 bytes../makers-storage/SKILL.mddoc3,787 bytes../makers-storage/references/kv.mddoc8,231 bytes
Read SKILL.md
# 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.
>
> ⚠<U+FE0F> `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`
```javascript
export default function onRequest(context) {View the complete source on GitHubedgeone-makers-env-adaption
When your agent uses it
Environment-specific adaptation rules for EdgeOne Makers Skills running in sandboxed or restricted AI coding environments (e.g. WorkBuddy). Trigger when: the user is working in WorkBuddy or a sandboxed IDE where CLI prompts hang and network is proxy-isolated (but browser login still works). Covers: non-interactive CLI flags, network isolation workarounds, login in sandbox, proxy bypass, file preview constraints (MUST use http:// via dev server, NEVER file://, NEVER python -m http.server / npx serve), dev server requirements.
What it loads into context
Frontmatter
265 tokensAlways available to the agent
SKILL.md
4,832 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 🚦 Quick Reference: Preview Decision Tree
- WorkBuddy Sandbox Environment
Files
SKILL.mdcore19,422 bytesSKILL.mdcore19,422 bytesSKILL.mdcore19,422 bytesSKILL.mdcore19,422 bytesSKILL.mdcore19,422 bytesSKILL.mdcore19,422 bytesSKILL.mdcore19,422 bytesSKILL.mdcore19,422 bytesSKILL.mdcore19,422 bytes
Read SKILL.md
# Runtime Environment Adaptation Guide
> This document describes the special constraints and adaptation rules for EdgeOne Makers Skills across different AI coding environments.
> Currently covered: **WorkBuddy** (Tencent sandboxed IDE)
---
## 🚦 Quick Reference: Preview Decision Tree
When you reach the "display / preview" step, **read this first before deciding how to call `present_files`**:
```
┌─ Delivering finished work? ── Yes ──→ present_files(deployed EdgeOne URL) ✅
│View the complete source on GitHubedgeone-makers-frameworks
When your agent uses it
Web framework support matrix for EdgeOne Makers — which platform adapter each full-stack framework needs, where it plugs in, the build output directory, the preview asset-prefix option, the 404 convention, version floors, and the features the platform does not support yet. Read this whenever a request names a web framework: Next.js, Nuxt, Astro, React Router, SvelteKit, TanStack Start, Vike, Vite / React / Vue, Hugo, or any other frontend framework.
What it loads into context
Frontmatter
511 tokensAlways available to the agent
SKILL.md
2,568 tokensWhen the skill is activated
Reference documents
9,711 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- The adapter is a deploy-time contract, not a preview-time one
- Read the one document for the framework in the request
- Custom 404 pages
- Machine-readable profiles
Files
SKILL.mdcore10,142 bytesreferences/astro.mddoc3,674 bytesreferences/nextjs.mddoc4,169 bytesreferences/nuxt.mddoc3,291 bytesreferences/other-frameworks.mddoc3,129 bytesreferences/react-router.mddoc6,042 bytesreferences/static-generators.mddoc2,295 bytesreferences/sveltekit.mddoc5,016 bytesreferences/tanstack-start.mddoc5,102 bytesreferences/vike.mddoc3,493 bytesreferences/vite-spa.mddoc2,431 bytes
Read SKILL.md
# Web Frameworks
Which framework a request names decides seven things and nothing else. Every framework
runs the same flow — prepare the workspace, write files, install, start the preview,
verify — and differs only in the values below.
| Slot | Why it matters |
|------|----------------|
| Platform adapter | Without it, `deploy` produces output the platform cannot serve. **The preview does not catch this.** |
| Scaffold command | One command holds both the structure and a working version set |
| Preview asset-prefix option | The single option that moves framework-emitted asset URLs |
| Build command + output directory | What `edgeone.json` must declare when it is not the default |
| 404 convention | Different file in every framework |
| Version floor | Below it the platform's adapter or builder does not apply |View the complete source on GitHubedgeone-makers-middleware
When your agent uses it
Edge middleware for EdgeOne Makers — request interception, redirects, rewrites, auth guards, A/B testing, and header injection at the edge (V8 runtime).
What it loads into context
Frontmatter
129 tokensAlways available to the agent
SKILL.md
1,191 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Basic middleware
- Context API
- Route matching
- Common patterns
- GeoProperties
Files
SKILL.mdcore4,918 bytes
Read SKILL.md
# Middleware
Lightweight request interception running at the edge (V8 runtime). Use for redirects, rewrites, auth guards, A/B testing, and header injection.
> ⚠<U+FE0F> **Framework projects (Next.js, Nuxt, etc.)**: Do NOT use this platform middleware format. Use the framework's built-in middleware instead (e.g. Next.js `middleware.ts` with `NextRequest`/`NextResponse`). The patterns below are for non-framework or pure static projects only.
## Basic middleware
File: `middleware.js` (project root)
```javascript
export function middleware(context) {
const { request, next, redirect, rewrite } = context;
View the complete source on GitHubedgeone-makers-migration
When your agent uses it
Migrate existing AI agent projects (LangChain, LangGraph, OpenAI Agents SDK, Claude Agent SDK, CrewAI) to EdgeOne Makers platform conventions. Use when the user wants to adapt a standard agent project to run on EdgeOne Makers, convert Express/Next.js API routes to Makers handlers, or add platform capabilities (context.tools, context.sandbox, context.store). Do NOT trigger for new agent projects (use makers-agents instead).
What it loads into context
Frontmatter
182 tokensAlways available to the agent
SKILL.md
4,310 tokensWhen the skill is activated
Reference documents
51,372 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Migration Decision Tree
- ⚠<U+FE0F> Migration Checklist (common to all frameworks)
- §1. Standard API Route → Makers Handler
- §2. CrewAI (Python)
- §3. LangGraph / DeepAgents (Node + Python)
- §4. OpenAI Agents SDK (Node + Python)
- §5. Claude Agent SDK (Node + Python)
- §6. Express / Next.js API Routes (Node)
- §7. Client-Side Migration
- §8. Post-Migration Verification
- See Also
Files
../makers-agents/SKILL.mddoc23,581 bytes../makers-agents/references/node-frameworks/claude-sdk.mddoc17,324 bytes../makers-agents/references/node-frameworks/deepagents.mddoc8,685 bytes../makers-agents/references/node-frameworks/langgraph.mddoc9,791 bytes../makers-agents/references/node-frameworks/openai-agents.mddoc17,478 bytes../makers-agents/references/python-frameworks/claude-sdk.mddoc8,217 bytes../makers-agents/references/python-frameworks/crewai.mddoc24,592 bytes../makers-agents/references/python-frameworks/langgraph.mddoc8,508 bytes../makers-agents/references/python-frameworks/openai-agents.mddoc9,842 bytes../makers-cli/SKILL.mddoc2,957 bytes../makers-deploy/SKILL.mddoc38,072 bytesSKILL.mdcore16,680 bytesSKILL.mdcore16,680 bytesreferences/api-route-to-makers.mddoc6,256 bytesreferences/claude-agent-sdk-to-makers.mddoc7,408 bytesreferences/crewai-to-makers.mddoc5,583 bytesreferences/deepagents-to-makers.mddoc5,441 bytesreferences/langgraph-to-makers.mddoc6,894 bytesreferences/openai-agents-to-makers.mddoc6,348 bytes
Read SKILL.md
# EdgeOne Makers Migration Guide
Migrate existing AI agent projects to the **EdgeOne Makers** platform format. Covers structural conversion, API adaptation, and platform capability injection.
---
## Migration Decision Tree
```
What type of project are you migrating?
├── Python project
│ ├── Using CrewAI → See §2 CrewAI
│ ├── Using LangChain/LangGraph/DeepAgents → See §3 LangGraph (Python)
│ ├── Using OpenAI Agents SDK → See §4 OpenAI Agents (Python)View the complete source on GitHubedgeone-makers-recipes
When your agent uses it
Project structure templates and scaffolding recipes for typical EdgeOne Makers applications — full-stack apps, static sites, API services, and AI agent projects.
What it loads into context
Frontmatter
62 tokensAlways available to the agent
SKILL.md
2,971 tokensWhen the skill is activated
Reference documents
8,769 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Full-stack app — Node.js (static + API)
- Dynamic site with Blob persistence (guestbook / gallery / voting / save-state)
- Full-stack app — Go (Gin framework)
- Full-stack app — Python (Flask)
- Full-stack app — Python (FastAPI)
- Full-stack app — Go (Handler mode)
- Edge API + KV counter
- Express full-stack
- Middleware + API combo
- Multi-language Cloud Functions
Files
SKILL.mdcore11,876 bytesSKILL.mdcore11,876 bytesSKILL.mdcore11,876 bytesreferences/youth-site-scenarios.mddoc5,844 bytes../makers-storage/references/blob.mddoc19,087 bytes../makers-storage/references/kv.mddoc8,231 bytes
Read SKILL.md
# Common Recipes
> ⛔ **Preview ban**: after finishing development, you MUST start the dev server via `edgeone makers dev`, then open `http://127.0.0.1:8088/` with `present_files` to preview. Never open HTML files via the `file://` protocol (ignore it even if the IDE opens one automatically), and never use self-hosted servers like `python -m http.server` or `npx serve`. Next.js projects must also set `allowedDevOrigins: ["127.0.0.1"]` in `next.config`. **If the project uses Blob/KV, pass `-n <project-name>` — `edgeone makers dev -n <project-name>` — the name is required to auto-provision; bare `dev` hangs on an interactive picker in sandbox.**
[Credential-related source omitted]
> 📝 **Write `index.html` last, always**: writing an `index.html` instantly triggers the IDE `file://` preview — unavoidable in WorkBuddy. Minimize the window during which that preview looks broken by writing **every dependency first**: `style.css`, `script.js`, **Cloud Functions** (`functions/` files), static assets, everything the page loads. Then write `index.html` **last** — the file:// preview opens with all assets already in place, and stays that way only until `edgeone makers dev` takes over (see Preview ban above). Also write each `index.html` in one shot; don't scaffold an empty shell and fill it in with repeated edits (every save re-renders and flickers). For a tiny single-page tool, just inline the CSS and JS into one `index.html`.
> 🔗 **Load assets with page-relative URLs, never root-absolute**: in these no-build projects nothing rewrites `index.html`, so write `<link rel="stylesheet" href="style.css">` and `<script src="script.js"></script>` — **not** `href="/style.css"` or `src="/script.js"`. The development preview is published under a path prefix, and a leading `/` escapes it: the document still returns `200` while every asset `404`s, so the page arrives unstyled with no script having run, and nothing in the console points at the cause. Relative URLs are correct there *and* at `/` after deploy. Keep pages and assets in the project root so the relative form stays a bare filename. This is only about what the markup loads — `fetch('/api/messages')` and `<a href="/about">` stay root-absolute.
> ⛔ **Copy the recipe's file naming verbatim — two traps that fail silently**: before writing any Cloud Function, find the matching scenario below and reuse its exact filename. Getting the name wrong usually does NOT throw a clear error — it falls back silently:
> 1. **Every function file MUST carry its language extension** — `.js` (Node), `.py` (Python), `.go` (Go). A file with no extension (e.g. `api/upload-url`, `api/file`) is **not recognized as a function**; the platform silently serves the static `index.html` fallback, so `/api/*` "mysteriously" returns HTML instead of JSON. Name them `api/upload-url.js`, `api/file.js`.
> 2. **`[[default]].js` is the catch-all for its own directory (`api/[[default]].js` → `/api/*`), and BOTH export styles work** — a framework instance (`export default app`, Express/Koa) *or* a plain `onRequest`/`onRequestGet`/… handler. Verified locally with `edgeone makers dev`: a bare `onRequest` in `[[default]].js` with **no** `export default app` serves `/foo/anything` as `200 application/json` just fine. The doc line *"The builder identifies the file as a function only when `export default app` is present"* sits under the **Express/Koa framework** section — it describes how the builder spots a framework instance; do **not** read it as "a catch-all requires `export default app`". ⚠<U+FE0F> Caveat: that sentence is about the **deploy-time builder**, whereas the check above was on the **local dev server**, which is the more permissive of the two — so if you ship catch-all + `onRequest`, re-verify the route once after deploying ("works locally" ≠ "recognized at build time"). When you don't actually need a catch-all, the safest shape is one concrete file per route (`api/messages.js`, `api/artworks/[id]/like.js`), params via `[id]` folders/files, extra args as query strings (`/api/file?key=...`).
View the complete source on GitHubedgeone-makers-storage
When your agent uses it
KV and Blob storage services on EdgeOne Makers. KV for edge key-value pairs, Blob for file/object storage in Cloud Functions. Covers SDK usage, setup, and troubleshooting.
What it loads into context
Frontmatter
132 tokensAlways available to the agent
SKILL.md
923 tokensWhen the skill is activated
Reference documents
6,933 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Decision Tree
- Routing
Files
SKILL.mdcore3,787 bytesreferences/blob.mddoc19,087 bytesreferences/kv.mddoc8,231 bytes
Read SKILL.md
# EdgeOne Makers Storage
> 🗄<U+FE0F> **There is NO managed database on this platform** — no SQL, no MongoDB, no Prisma, no ORM. Do **not** reach for `sqlite`, `pg`, `mysql`, `mongodb`, or an in-memory array (it resets on every cold start / redeploy). **Blob IS your database.** Any dynamic data a generated site needs to persist — guestbook messages, uploaded drawings, votes, leaderboards, per-user save state, form submissions — is modeled as Blob keys. Model your "tables" as **key prefixes** (`messages/<id>.json`, `users/<uid>.json`). See [references/blob.md](references/blob.md) → "Blob as your backend".
> ⚠<U+FE0F> **Local dev does NOT always require login.** `edgeone makers dev` runs without authentication for **pure-static** previews. Login only becomes necessary through this chain: **using Blob ⇒ the project must be `link`ed ⇒ linking requires a logged-in account first.** So if (and only if) dev/deploy must read/write **Blob** (or any credentialed backend), run `edgeone login` (browser) or pass `-t <token>` before linking/starting dev. **If your site has no backend, skip login and just run `edgeone makers dev`.** See also makers-env-adaption (Login authentication + Project linking).
>
> ⛔ **When the project uses Blob/KV, ALWAYS pass `-n <project-name>` to `edgeone makers dev`.** Bare `edgeone makers dev` drops into an interactive "Link existing / Create and link" picker that hangs in sandbox / non-interactive environments. With `-n`, the CLI auto-creates the project if the name doesn't exist yet — one command, no separate step needed.
>
> 🔒 **Every Blob store: `getStore({ name, consistency: "strong" })` — never the string form `getStore("name")`.** The string form defaults to eventual consistency and causes "I just wrote but the next read returns stale/null" bugs. Full rule and rationale: [references/blob.md](references/blob.md) → IRON RULE (top of file).
EdgeOne Makers provides two storage services. **Choose based on your runtime and data type:**
| Storage | Runtime | Data Type | SDK | Use Case |
|---------|---------|-----------|-----|----------|View the complete source on GitHubSkills included
- edgeone-makers-tools
- edgeone-makers-tools
- edgeone-makers-agents
- edgeone-makers-cli
- edgeone-makers-cloud-functions
- edgeone-makers-deploy
- edgeone-makers-edge-functions
- edgeone-makers-env-adaption
- edgeone-makers-frameworks
- edgeone-makers-middleware
- edgeone-makers-migration
- edgeone-makers-recipes
- edgeone-makers-storage
Repository facts
- License
- MIT
- Created
- Mar 13, 2026
- Last pushed
- Nov 5, 2026
- Forks
- 141
- Open issues
- 1
- Project activity
- Active
Rank over the last 12 weeks
Now #576 · best #401 · down 108 in 30 days
- #562 on Nov 1
- #566 on Nov 2
- #570 on Nov 3
- #571 on Nov 4
- #573 on Nov 5
- #576 since Nov 6
13 earlier periods
- #390 on Aug 1
- #396 on Aug 13
- #401 on Aug 17
- #425 on Sep 6
- #440 on Sep 8
- #447 on Sep 17
- #468 on Sep 29
- #491 on Oct 17
- #542 on Oct 25
- #552 on Oct 28
- #556 on Oct 29
- #557 on Oct 30
- #559 on Oct 31
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 3, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 44 notes
skills/edgeone-makers-tools/references/makers-agents/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/edgeone-makers-tools/references/makers-agents/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/edgeone-makers-tools/references/makers-agents/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/edgeone-makers-tools/references/makers-agents/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/edgeone-makers-tools/references/makers-agents/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/edgeone-makers-tools/references/makers-agents/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/edgeone-makers-tools/references/makers-agents/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/edgeone-makers-tools/references/makers-agents/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/edgeone-makers-tools/references/makers-agents/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/edgeone-makers-tools/references/makers-agents/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/edgeone-makers-tools/references/makers-cli/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/edgeone-makers-tools/references/makers-cli/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/edgeone-makers-tools/references/makers-cli/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/edgeone-makers-tools/references/makers-cli/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/edgeone-makers-tools/references/makers-cli/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/edgeone-makers-tools/references/makers-deploy/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/edgeone-makers-tools/references/makers-deploy/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/edgeone-makers-tools/references/makers-deploy/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/edgeone-makers-tools/references/makers-deploy/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/edgeone-makers-tools/references/makers-deploy/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 13 dangerous shell commandsin 9 files: scripts/lib/skill-graph.test.mjs:2 makers-cli/SKILL.md:38 .github/workflows/publish-skillhub.yml:69 and 6 more
- 432 network referencesin 47 files: cursor/rules/makers-env-adaption.mdc:36 codex/makers-env-adaption.md:36 makers-env-adaption/SKILL.md:36 and 44 more
- No hidden or obfuscated text
- 4 instruction override signalsin 3 files: makers-deploy/SKILL.md:416 codex/makers-deploy.md:416 cursor/rules/makers-deploy.mdc:416
- 12 executable scriptsin 12 files: hooks/signal-log.mjs:1 hooks/signal-log.test.mjs:1 hooks/validate-write.mjs:1 and 9 more
- 219 references to secretsin 40 files: makers-agents/SKILL.md:22 codex/makers-agents.md:22 cursor/rules/makers-agents.mdc:22 and 37 more
- No requests to vote in Hot
Show all 680 signals by file
.github/workflows/publish-skillhub.yml
- Network accessline 67
- name: Install SkillHub CLI run: | curl -fsSL https://skillhub.cn/install/install.sh | bash -s -- --cli-only - Network accessline 68
run: | curl -fsSL https://skillhub.cn/install/install.sh | bash -s -- --cli-only echo "$HOME/.local/bin" >> "$GITHUB_PATH" - Dangerous shell operationline 69
curl -fsSL https://skillhub.cn/install/install.sh | bash -s -- --cli-only - Network accessline 69
curl -fsSL https://skillhub.cn/install/install.sh | bash -s -- --cli-only - Network accessline 79
[Credential-related source omitted] - Network accessline 80
run: | skillhub login --key "$SKILLHUB_API_TOKEN" --host https://api.skillhub.cn skillhub auth whoami - Network accessline 81
[Credential-related source omitted] - Access to secretsline 81
[Credential-related source omitted]
.gitignore
- Access to secretsline 4
[Credential-related source omitted]
README.md
- Network accessline 3
Official AI Agent Skills for developing and deploying projects on [EdgeOne Makers](https://pages.edgeone.ai/). - Network accessline 125
The skill follows the [skill-creator](https://github.com/anthropics/skills) standard: - Network accessline 140
- **Node.js** ≥ 16 - An EdgeOne account: [China site](https://console.cloud.tencent.com/edgeone/pages) | [Global site](https://pages.edgeone.ai) - Network accessline 141
- An EdgeOne account: [China site](https://console.cloud.tencent.com/edgeone/pages) | [Global site](https://pages.edgeone.ai)
SECURITY.md
- Network accessline 16
- **Contact**: open a private security advisory via GitHub's [Report a vulnerability](https://github.com/TencentEdgeOne/edgeone-makers-tools/security/advisories/new) - Network accessline 17
[Report a vulnerability](https://github.com/TencentEdgeOne/edgeone-makers-tools/security/advisories/new) - Network accessline 30
the CI workflows, or the published skill artifacts are in scope. Vulnerabilities in the EdgeOne platform itself should be reported through the [Tencent Security Response Center](https://security.tencent.com). - Network accessline 32
[Tencent Security Response Center](https://security.tencent.com).
codex/makers-agents.md
- Access to secretsline 22
[Credential-related source omitted] - Network accessline 34
> ⛔ **Preview ban**: after finishing development, you MUST start the dev server via `edgeone makers dev`, then open `http://127.0.0.1:8088/` with `present_files` to preview. Never open HTML files via the `file://` protocol (ignore it even i - Access to secretsline 70
[Credential-related source omitted] - Access to secretsline 73
[Credential-related source omitted] - Access to secretsline 100
[Credential-related source omitted] - Access to secretsline 135
[Credential-related source omitted] - Access to secretsline 289
[Credential-related source omitted] - Access to secretsline 297
[Credential-related source omitted] - Access to secretsline 301
[Credential-related source omitted] - Access to secretsline 311
[Credential-related source omitted] - Access to secretsline 316
[Credential-related source omitted] - Access to secretsline 324
[Credential-related source omitted] - Access to secretsline 326
[Credential-related source omitted] - Access to secretsline 342
[Credential-related source omitted] - Access to secretsline 365
[Credential-related source omitted] - Access to secretsline 368
[Credential-related source omitted] - Access to secretsline 399
[Credential-related source omitted]
codex/makers-cli.md
- Dangerous shell operationline 38
| `edgeone makers env rm <KEY>` | Remove a remote environment variable | - Network accessline 75
[Credential-related source omitted] - Access to secretsline 75
[Credential-related source omitted] - Network accessline 76
edgeone makers env set SUPABASE_URL "https://xxx.supabase.co"
codex/makers-cloud-functions.md
- Access to secretsline 10
[Credential-related source omitted]
codex/makers-deploy.md
- Network accessline 41
https://my-app-w9t0lxe8.edgeone.cool - Network accessline 46
[Credential-related source omitted] - Network accessline 54
🌐 Live URL: https://my-project-abc123.edgeone.cool?<auth_query_params> - Network accessline 225
[Credential-related source omitted] - Network accessline 226
1. Go to the console: - **China**: https://console.cloud.tencent.com/edgeone/pages?tab=settings - **Global**: https://console.intl.cloud.tencent.com/edgeone/pages?tab=settings - Network accessline 227
- **China**: https://console.cloud.tencent.com/edgeone/pages?tab=settings - Network accessline 228
- **Global**: https://console.intl.cloud.tencent.com/edgeone/pages?tab=settings - Instruction override signalline 416
⛔ **The listener is invisible to the user — never narrate it.** Do not tell the user a listener/监听器 is running, that you are "waiting for the claim callback", or any other internal mechanism status (state files, JSON parsing, ports). The us - Network accessline 473
{"status":"success","url":"https://my-project-abc123.edgeone.cool?<auth_query_params>","type":"preset","projectId":"makers-xxxxxxxx","deploymentId":"dp-xxxx","consoleUrl":"https://console.cloud.tencent.com/edgeone/pages/project/makers-xxxxx - Network accessline 485
[cli][✔] Deploy Success EDGEONE_DEPLOY_URL=https://my-project-abc123.edgeone.cool?<auth_query_params> - Network accessline 486
EDGEONE_DEPLOY_URL=https://my-project-abc123.edgeone.cool?<auth_query_params> - Network accessline 488
EDGEONE_PROJECT_ID=makers-xxxxxxxx [cli][✔] You can view your deployment in the EdgeOne Makers Console at: https://console.cloud.tencent.com/edgeone/pages/project/pages-xxxxxxxx/deployment/xxxxxxx - Network accessline 490
https://console.cloud.tencent.com/edgeone/pages/project/pages-xxxxxxxx/deployment/xxxxxxx - Network accessline 512
[Credential-related source omitted] - Network accessline 514
> --- > > - **Console URL**: `https://console.cloud.tencent.com/edgeone/pages/project/...` - Network accessline 515
> > - **Console URL**: `https://console.cloud.tencent.com/edgeone/pages/project/...` > - Network accessline 516
> - **Console URL**: `https://console.cloud.tencent.com/edgeone/pages/project/...`
codex/makers-edge-functions.md
codex/makers-env-adaption.md
- Network accessline 36
│ Enter ┤ preview │ ┌─ dev server running? ─ Yes ──→ present_files(http://127.0.0.1:8088/) ✅ - Network accessline 37
Enter ┤ preview │ ┌─ dev server running? ─ Yes ──→ present_files(http://127.0.0.1:8088/) ✅ └─ Still iterating? ───┤ - Network accessline 38
preview │ ┌─ dev server running? ─ Yes ──→ present_files(http://127.0.0.1:8088/) ✅ - Network accessline 43
| What you want to do | Correct approach | Wrong approach (breaks) | |---|---|---| | Preview local dev server | `present_files("http://127.0.0.1:8088/")` | ❌ Passing `/path/to/index.html` (IDE opens it via file://) | - Network accessline 44
[Credential-related source omitted] - Network accessline 45
| Preview local dev server | `present_files("http://127.0.0.1:8088/")` | ❌ Passing `/path/to/index.html` (IDE opens it via file://) | - Network accessline 46
[Credential-related source omitted] - Network accessline 47
| Start dev server | `edgeone makers dev --name <p> --skip-env-sync` | ❌ `python -m http.server` / `npx serve` | | Verify dev server is up (agent-side API check) | `curl --noproxy '*' http://127.0.0.1:8088/api/...` ✅ works (same sandbox) | - Network accessline 48
| Verify dev server is up (agent-side API check) | `curl --noproxy '*' http://127.0.0.1:8088/api/...` ✅ works (same sandbox) | ❌ `curl localhost:8088` / plain `curl` (proxy + IPv6 → 404/000) | - Network accessline 49
| Verify dev server is up (user-facing) | `present_files(http://127.0.0.1:8088/)` (platform tunnel) | ❌ Telling user to open `127.0.0.1:8088` — their browser can't reach the sandbox | - Network accessline 125
The Bash tool and `edgeone makers dev` run **in the same sandbox (same machine)**, so the loopback dev server IS reachable from Bash. The earlier claim that "Bash curl is isolated and returns 404" is wrong — the failures are caused by the * - Network accessline 128
|---------|--------|------| | Built-in browser preview (`present_files`) | ✅ Available | Uses the platform tunnel; the ONLY way the **user's** browser can see the sandbox dev server | | User's system terminal | ✅ Available | `curl http://12 - Network accessline 129
| Built-in browser preview (`present_files`) | ✅ Available | Uses the platform tunnel; the ONLY way the **user's** browser can see the sandbox dev server | | User's system terminal | ✅ Available | `curl http://127.0.0.1:8088/` | | Bash tool - Network accessline 130
| User's system terminal | ✅ Available | `curl http://127.0.0.1:8088/` | - Network accessline 131
| Bash tool curl (agent-side API checks) | ✅ Available **only with `--noproxy '*'` + `127.0.0.1`** | Plain `curl localhost:8088` fails: (a) `localhost`→`::1` (§4), (b) proxy hijacks the request (§5) | - Network accessline 133
**Practical rule**: - Use `curl --noproxy '*' http://127.0.0.1:8088/...` from Bash to **agent-side verify** API endpoints during testing — this works (it was used to validate a full create→upload→like flow). - Network accessline 134
- Use `curl --noproxy '*' http://127.0.0.1:8088/...` from Bash to **agent-side verify** API endpoints during testing — this works (it was used to validate a full create→upload→like flow). - Network accessline 135
- Do NOT rely on Bash curl to show the page to the user. The user's browser cannot reach `127.0.0.1:8088` inside the sandbox; for a user-facing preview, pass the dev URL to `present_files` (platform tunnel) or deploy and share the live URL. - Network accessline 144
# Correct curl http://127.0.0.1:8088/ - Network accessline 145
curl http://127.0.0.1:8088/ - Network accessline 147
# Wrong (404 in the sandbox) curl http://localhost:8088/ - Network accessline 148
curl http://localhost:8088/ - Network accessline 153
present_files: http://127.0.0.1:8088/ - Network accessline 158
### 5. Proxy hijacking (curl needs --noproxy) - Network accessline 160
The sandbox injects an `http_proxy` environment variable; curl goes through the proxy by default, which swallows the SSE streaming response. - Network accessline 163
# Correct curl --noproxy '*' http://127.0.0.1:8088/api/chat - Network accessline 164
curl --noproxy '*' http://127.0.0.1:8088/api/chat - Network accessline 166
# Wrong (returns "Empty reply" / status 000) curl http://127.0.0.1:8088/api/chat - Network accessline 167
curl http://127.0.0.1:8088/api/chat - Network accessline 209
1. Start `edgeone makers dev --name <project> --skip-env-sync` (**background async**, see §7) 2. Wait 2-3 seconds for the dev server to be ready 3. **Pass `http://127.0.0.1:8088/` to `present_files`** (note it is `127.0.0.1`, **not** `local - Network accessline 210
2. Wait 2-3 seconds for the dev server to be ready 3. **Pass `http://127.0.0.1:8088/` to `present_files`** (note it is `127.0.0.1`, **not** `localhost` — see §4) 4. Tell the user: "The project's local preview is running, please check it out - Network accessline 211
3. **Pass `http://127.0.0.1:8088/` to `present_files`** (note it is `127.0.0.1`, **not** `localhost` — see §4) - Network accessline 221
# ✅ Correct present_files("http://127.0.0.1:8088/") # dev server - Network accessline 222
present_files("http://127.0.0.1:8088/") # dev server - Network accessline 223
[Credential-related source omitted] - Network accessline 230
[Credential-related source omitted] - Network accessline 231
[Credential-related source omitted] - Network accessline 262
Note: the value is a **bare host**, without an `http://` prefix and without a port.
codex/makers-migration.md
- Access to secretsline 15
[Credential-related source omitted] - Access to secretsline 51
[Credential-related source omitted] - Access to secretsline 59
[Credential-related source omitted] - Access to secretsline 75
[Credential-related source omitted] - Access to secretsline 99
[Credential-related source omitted] - Access to secretsline 107
[Credential-related source omitted] - Access to secretsline 120
[Credential-related source omitted] - Access to secretsline 151
[Credential-related source omitted] - Access to secretsline 199
[Credential-related source omitted] - Access to secretsline 267
[Credential-related source omitted] - Access to secretsline 324
[Credential-related source omitted] - Access to secretsline 336
[Credential-related source omitted] - Network accessline 354
return createSSEResponse(async function* (sig) { const response = await fetch(context.env.AI_GATEWAY_BASE_URL + '/v1/chat/completions', { - Network accessline 355
const response = await fetch(context.env.AI_GATEWAY_BASE_URL + '/v1/chat/completions', { - Access to secretsline 359
[Credential-related source omitted] - Network accessline 381
// ❌ Before: plain fetch without conversation-id const response = await fetch('/api/chat', { - Network accessline 382
const response = await fetch('/api/chat', { - Network accessline 388
// ✅ After: with makers-conversation-id header const conversationId = getOrCreateConversationId(); // crypto.randomUUID() + localStorage const response = await fetch('/chat', { - Network accessline 389
const conversationId = getOrCreateConversationId(); // crypto.randomUUID() + localStorage const response = await fetch('/chat', { method: 'POST', - Network accessline 390
const response = await fetch('/chat', { - Network accessline 403
// ✅ Always pass conversation_id in body for /stop await fetch('/stop', { - Network accessline 404
await fetch('/stop', { - Access to secretsline 449
[Credential-related source omitted]
codex/makers-recipes.md
- Network accessline 13
> ⛔ **Preview ban**: after finishing development, you MUST start the dev server via `edgeone makers dev`, then open `http://127.0.0.1:8088/` with `present_files` to preview. Never open HTML files via the `file://` protocol (ignore it even i - Access to secretsline 15
[Credential-related source omitted] - Network accessline 19
> 🔗 **Load assets with page-relative URLs, never root-absolute**: in these no-build projects nothing rewrites `index.html`, so write `<link rel="stylesheet" href="style.css">` and `<script src="script.js"></script>` — **not** `href="/style. - Network accessline 43
const res = await fetch('/api/users'); - Network accessline 91
await fetch('/api/messages', { // post - Network accessline 94
body: JSON.stringify({ name, text }), }); const { items } = await fetch('/api/messages').then((r) => r.json()); // list - Network accessline 96
const { items } = await fetch('/api/messages').then((r) => r.json()); // list
cursor/rules/makers-agents.mdc
- Access to secretsline 22
[Credential-related source omitted] - Network accessline 34
> ⛔ **Preview ban**: after finishing development, you MUST start the dev server via `edgeone makers dev`, then open `http://127.0.0.1:8088/` with `present_files` to preview. Never open HTML files via the `file://` protocol (ignore it even i - Access to secretsline 70
[Credential-related source omitted] - Access to secretsline 73
[Credential-related source omitted] - Access to secretsline 100
[Credential-related source omitted] - Access to secretsline 135
[Credential-related source omitted] - Access to secretsline 289
[Credential-related source omitted] - Access to secretsline 297
[Credential-related source omitted] - Access to secretsline 301
[Credential-related source omitted] - Access to secretsline 311
[Credential-related source omitted] - Access to secretsline 316
[Credential-related source omitted] - Access to secretsline 324
[Credential-related source omitted] - Access to secretsline 326
[Credential-related source omitted] - Access to secretsline 342
[Credential-related source omitted] - Access to secretsline 365
[Credential-related source omitted] - Access to secretsline 368
[Credential-related source omitted] - Access to secretsline 399
[Credential-related source omitted]
cursor/rules/makers-cli.mdc
- Dangerous shell operationline 38
| `edgeone makers env rm <KEY>` | Remove a remote environment variable | - Network accessline 74
```bash edgeone makers env set WSA_API_KEY "your-key" edgeone makers env set SUPABASE_URL "https://xxx.supabase.co" - Network accessline 75
[Credential-related source omitted] - Access to secretsline 75
[Credential-related source omitted] - Network accessline 76
edgeone makers env set SUPABASE_URL "https://xxx.supabase.co"
cursor/rules/makers-cloud-functions.mdc
- Access to secretsline 10
[Credential-related source omitted]
cursor/rules/makers-deploy.mdc
- Network accessline 39
❌ WRONG (truncated — will 401): ``` https://my-app-w9t0lxe8.edgeone.cool - Network accessline 40
``` https://my-app-w9t0lxe8.edgeone.cool ``` - Network accessline 41
https://my-app-w9t0lxe8.edgeone.cool - Network accessline 44
[Credential-related source omitted] - Network accessline 45
[Credential-related source omitted] - Network accessline 46
[Credential-related source omitted] - Network accessline 52
4. **The deploy URL MUST be placed at the very top of the visible reply body (own line, code block, or heading — not inline, not mid-reply), AND ALSO pinned via `present_files` (or the IDE's preview tool) to the side panel.** Two UI failure - Network accessline 53
``` 🌐 Live URL: https://my-project-abc123.edgeone.cool?<auth_query_params> ``` - Network accessline 54
🌐 Live URL: https://my-project-abc123.edgeone.cool?<auth_query_params> - Network accessline 225
[Credential-related source omitted] - Network accessline 226
1. Go to the console: - **China**: https://console.cloud.tencent.com/edgeone/pages?tab=settings - **Global**: https://console.intl.cloud.tencent.com/edgeone/pages?tab=settings - Network accessline 227
- **China**: https://console.cloud.tencent.com/edgeone/pages?tab=settings - Network accessline 228
- **Global**: https://console.intl.cloud.tencent.com/edgeone/pages?tab=settings - Instruction override signalline 416
⛔ **The listener is invisible to the user — never narrate it.** Do not tell the user a listener/监听器 is running, that you are "waiting for the claim callback", or any other internal mechanism status (state files, JSON parsing, ports). The us - Network accessline 472
```json {"status":"success","url":"https://my-project-abc123.edgeone.cool?<auth_query_params>","type":"preset","projectId":"makers-xxxxxxxx","deploymentId":"dp-xxxx","consoleUrl":"https://console.cloud.tencent.com/edgeone/pages/project/make - Network accessline 473
{"status":"success","url":"https://my-project-abc123.edgeone.cool?<auth_query_params>","type":"preset","projectId":"makers-xxxxxxxx","deploymentId":"dp-xxxx","consoleUrl":"https://console.cloud.tencent.com/edgeone/pages/project/makers-xxxxx - Network accessline 484
``` [cli][✔] Deploy Success EDGEONE_DEPLOY_URL=https://my-project-abc123.edgeone.cool?<auth_query_params> - Network accessline 485
[cli][✔] Deploy Success EDGEONE_DEPLOY_URL=https://my-project-abc123.edgeone.cool?<auth_query_params> EDGEONE_DEPLOY_TYPE=preset - Network accessline 486
EDGEONE_DEPLOY_URL=https://my-project-abc123.edgeone.cool?<auth_query_params> - Network accessline 488
EDGEONE_PROJECT_ID=makers-xxxxxxxx [cli][✔] You can view your deployment in the EdgeOne Makers Console at: https://console.cloud.tencent.com/edgeone/pages/project/pages-xxxxxxxx/deployment/xxxxxxx - Network accessline 489
[cli][✔] You can view your deployment in the EdgeOne Makers Console at: https://console.cloud.tencent.com/edgeone/pages/project/pages-xxxxxxxx/deployment/xxxxxxx ``` - Network accessline 490
https://console.cloud.tencent.com/edgeone/pages/project/pages-xxxxxxxx/deployment/xxxxxxx - Network accessline 512
[Credential-related source omitted] - Network accessline 514
> --- > > - **Console URL**: `https://console.cloud.tencent.com/edgeone/pages/project/...` - Network accessline 515
> > - **Console URL**: `https://console.cloud.tencent.com/edgeone/pages/project/...` > - Network accessline 516
> - **Console URL**: `https://console.cloud.tencent.com/edgeone/pages/project/...`
cursor/rules/makers-edge-functions.mdc
cursor/rules/makers-env-adaption.mdc
- Network accessline 36
│ Enter ┤ preview │ ┌─ dev server running? ─ Yes ──→ present_files(http://127.0.0.1:8088/) ✅ - Network accessline 37
Enter ┤ preview │ ┌─ dev server running? ─ Yes ──→ present_files(http://127.0.0.1:8088/) ✅ └─ Still iterating? ───┤ - Network accessline 38
preview │ ┌─ dev server running? ─ Yes ──→ present_files(http://127.0.0.1:8088/) ✅ - Network accessline 43
| What you want to do | Correct approach | Wrong approach (breaks) | |---|---|---| | Preview local dev server | `present_files("http://127.0.0.1:8088/")` | ❌ Passing `/path/to/index.html` (IDE opens it via file://) | - Network accessline 44
[Credential-related source omitted] - Network accessline 45
| Preview local dev server | `present_files("http://127.0.0.1:8088/")` | ❌ Passing `/path/to/index.html` (IDE opens it via file://) | - Network accessline 46
[Credential-related source omitted] - Network accessline 47
| Start dev server | `edgeone makers dev --name <p> --skip-env-sync` | ❌ `python -m http.server` / `npx serve` | | Verify dev server is up (agent-side API check) | `curl --noproxy '*' http://127.0.0.1:8088/api/...` ✅ works (same sandbox) | - Network accessline 48
| Verify dev server is up (agent-side API check) | `curl --noproxy '*' http://127.0.0.1:8088/api/...` ✅ works (same sandbox) | ❌ `curl localhost:8088` / plain `curl` (proxy + IPv6 → 404/000) | - Network accessline 49
| Verify dev server is up (user-facing) | `present_files(http://127.0.0.1:8088/)` (platform tunnel) | ❌ Telling user to open `127.0.0.1:8088` — their browser can't reach the sandbox | - Network accessline 125
The Bash tool and `edgeone makers dev` run **in the same sandbox (same machine)**, so the loopback dev server IS reachable from Bash. The earlier claim that "Bash curl is isolated and returns 404" is wrong — the failures are caused by the * - Network accessline 128
|---------|--------|------| | Built-in browser preview (`present_files`) | ✅ Available | Uses the platform tunnel; the ONLY way the **user's** browser can see the sandbox dev server | | User's system terminal | ✅ Available | `curl http://12 - Network accessline 129
| Built-in browser preview (`present_files`) | ✅ Available | Uses the platform tunnel; the ONLY way the **user's** browser can see the sandbox dev server | | User's system terminal | ✅ Available | `curl http://127.0.0.1:8088/` | | Bash tool - Network accessline 130
| User's system terminal | ✅ Available | `curl http://127.0.0.1:8088/` | - Network accessline 131
| Bash tool curl (agent-side API checks) | ✅ Available **only with `--noproxy '*'` + `127.0.0.1`** | Plain `curl localhost:8088` fails: (a) `localhost`→`::1` (§4), (b) proxy hijacks the request (§5) | - Network accessline 133
**Practical rule**: - Use `curl --noproxy '*' http://127.0.0.1:8088/...` from Bash to **agent-side verify** API endpoints during testing — this works (it was used to validate a full create→upload→like flow). - Network accessline 134
- Use `curl --noproxy '*' http://127.0.0.1:8088/...` from Bash to **agent-side verify** API endpoints during testing — this works (it was used to validate a full create→upload→like flow). - Network accessline 135
- Do NOT rely on Bash curl to show the page to the user. The user's browser cannot reach `127.0.0.1:8088` inside the sandbox; for a user-facing preview, pass the dev URL to `present_files` (platform tunnel) or deploy and share the live URL. - Network accessline 143
```bash # Correct curl http://127.0.0.1:8088/ - Network accessline 145
curl http://127.0.0.1:8088/ - Network accessline 147
# Wrong (404 in the sandbox) curl http://localhost:8088/ - Network accessline 148
curl http://localhost:8088/ - Network accessline 151
The preview URL must also use `127.0.0.1`: ``` present_files: http://127.0.0.1:8088/ - Network accessline 152
``` present_files: http://127.0.0.1:8088/ ``` - Network accessline 153
present_files: http://127.0.0.1:8088/ - Network accessline 158
### 5. Proxy hijacking (curl needs --noproxy) - Network accessline 160
The sandbox injects an `http_proxy` environment variable; curl goes through the proxy by default, which swallows the SSE streaming response. - Network accessline 162
```bash # Correct curl --noproxy '*' http://127.0.0.1:8088/api/chat - Network accessline 164
curl --noproxy '*' http://127.0.0.1:8088/api/chat - Network accessline 166
# Wrong (returns "Empty reply" / status 000) curl http://127.0.0.1:8088/api/chat - Network accessline 167
curl http://127.0.0.1:8088/api/chat - Network accessline 209
1. Start `edgeone makers dev --name <project> --skip-env-sync` (**background async**, see §7) 2. Wait 2-3 seconds for the dev server to be ready 3. **Pass `http://127.0.0.1:8088/` to `present_files`** (note it is `127.0.0.1`, **not** `local - Network accessline 210
2. Wait 2-3 seconds for the dev server to be ready 3. **Pass `http://127.0.0.1:8088/` to `present_files`** (note it is `127.0.0.1`, **not** `localhost` — see §4) 4. Tell the user: "The project's local preview is running, please check it out - Network accessline 211
3. **Pass `http://127.0.0.1:8088/` to `present_files`** (note it is `127.0.0.1`, **not** `localhost` — see §4) - Network accessline 220
```bash # ✅ Correct present_files("http://127.0.0.1:8088/") # dev server - Network accessline 221
[Credential-related source omitted] - Network accessline 222
present_files("http://127.0.0.1:8088/") # dev server - Network accessline 223
[Credential-related source omitted] - Network accessline 230
[Credential-related source omitted] - Network accessline 231
[Credential-related source omitted] - Network accessline 262
Note: the value is a **bare host**, without an `http://` prefix and without a port.
cursor/rules/makers-migration.mdc
- Access to secretsline 15
[Credential-related source omitted] - Access to secretsline 51
[Credential-related source omitted] - Access to secretsline 59
[Credential-related source omitted] - Access to secretsline 75
[Credential-related source omitted] - Access to secretsline 99
[Credential-related source omitted] - Access to secretsline 107
[Credential-related source omitted] - Access to secretsline 120
[Credential-related source omitted] - Access to secretsline 151
[Credential-related source omitted] - Access to secretsline 199
[Credential-related source omitted] - Access to secretsline 267
[Credential-related source omitted] - Access to secretsline 324
[Credential-related source omitted] - Access to secretsline 336
[Credential-related source omitted] - Network accessline 354
return createSSEResponse(async function* (sig) { const response = await fetch(context.env.AI_GATEWAY_BASE_URL + '/v1/chat/completions', { - Network accessline 355
const response = await fetch(context.env.AI_GATEWAY_BASE_URL + '/v1/chat/completions', { - Access to secretsline 359
[Credential-related source omitted] - Network accessline 380
```typescript // ❌ Before: plain fetch without conversation-id const response = await fetch('/api/chat', { - Network accessline 381
// ❌ Before: plain fetch without conversation-id const response = await fetch('/api/chat', { method: 'POST', - Network accessline 382
const response = await fetch('/api/chat', { - Network accessline 388
// ✅ After: with makers-conversation-id header const conversationId = getOrCreateConversationId(); // crypto.randomUUID() + localStorage const response = await fetch('/chat', { - Network accessline 389
const conversationId = getOrCreateConversationId(); // crypto.randomUUID() + localStorage const response = await fetch('/chat', { method: 'POST', - Network accessline 390
const response = await fetch('/chat', { - Network accessline 402
```typescript // ✅ Always pass conversation_id in body for /stop await fetch('/stop', { - Network accessline 403
// ✅ Always pass conversation_id in body for /stop await fetch('/stop', { method: 'POST', - Network accessline 404
await fetch('/stop', { - Access to secretsline 449
[Credential-related source omitted]
cursor/rules/makers-recipes.mdc
- Network accessline 13
> ⛔ **Preview ban**: after finishing development, you MUST start the dev server via `edgeone makers dev`, then open `http://127.0.0.1:8088/` with `present_files` to preview. Never open HTML files via the `file://` protocol (ignore it even i - Access to secretsline 15
[Credential-related source omitted] - Network accessline 19
> 🔗 **Load assets with page-relative URLs, never root-absolute**: in these no-build projects nothing rewrites `index.html`, so write `<link rel="stylesheet" href="style.css">` and `<script src="script.js"></script>` — **not** `href="/style. - Network accessline 41
Frontend calls API: ```javascript const res = await fetch('/api/users'); - Network accessline 42
```javascript const res = await fetch('/api/users'); const users = await res.json(); - Network accessline 43
const res = await fetch('/api/users'); - Network accessline 90
```javascript await fetch('/api/messages', { // post - Network accessline 91
await fetch('/api/messages', { // post - Network accessline 94
body: JSON.stringify({ name, text }), }); const { items } = await fetch('/api/messages').then((r) => r.json()); // list - Network accessline 95
}); const { items } = await fetch('/api/messages').then((r) => r.json()); // list ``` - Network accessline 96
const { items } = await fetch('/api/messages').then((r) => r.json()); // list
hooks/signal-log.mjs
- Executable scriptline 1
Executable file
hooks/signal-log.test.mjs
hooks/validate-write.mjs
- Executable scriptline 1
#!/usr/bin/env node
hooks/validate-write.test.mjs
- Executable scriptline 1
Executable file - Dangerous shell operationline 2
import { mkdtemp, readFile, rm } from 'node:fs/promises'; - Access to secretsline 37
[Credential-related source omitted] - Access to secretsline 89
[Credential-related source omitted] - Access to secretsline 102
[Credential-related source omitted] - Access to secretsline 127
[Credential-related source omitted] - Access to secretsline 144
[Credential-related source omitted] - Access to secretsline 183
[Credential-related source omitted]
package.json
- Executable scriptline 1
Executable file
scripts/add-toc.mjs
- Executable scriptline 1
#!/usr/bin/env node
scripts/archive-traffic.mjs
- Executable scriptline 1
#!/usr/bin/env node - Network accessline 31
const API = "https://api.github.com"; - Access to secretsline 33
[Credential-related source omitted] - Network accessline 42
async function apiGet(url) { const res = await fetch(url, { headers: HEADERS }); - Network accessline 43
const res = await fetch(url, { headers: HEADERS }); - Network accessline 149
[Credential-related source omitted] - Network accessline 150
[Credential-related source omitted] - Access to secretsline 150
[Credential-related source omitted]
scripts/build.mjs
- Executable scriptline 1
#!/usr/bin/env node
scripts/doctor.mjs
- Executable scriptline 1
#!/usr/bin/env node
scripts/doctor.test.mjs
- Executable scriptline 1
Executable file
scripts/lib/skill-graph.mjs
- Executable scriptline 1
Executable file
scripts/lib/skill-graph.test.mjs
- Executable scriptline 1
Executable file - Dangerous shell operationline 2
import { chmod, mkdtemp, mkdir, writeFile, rm } from 'node:fs/promises'; - Network accessline 81
const root = await makeSkills({ 'makers-a/SKILL.md': '---\nname: a\n---\n\n[web](https://example.com/a.md) [anchor](references/kv.md#section)\n', - Network accessline 82
'makers-a/SKILL.md': '---\nname: a\n---\n\n[web](https://example.com/a.md) [anchor](references/kv.md#section)\n', 'makers-a/references/kv.md': '# KV\n', - Network accessline 83
'---\nname: a\n---\n\n[web](https://example.com/a.md) [anchor](references/kv.md#section)\n', - Dangerous shell operationline 128
// 先恢复权限,否则 rm 清不掉这棵树。 - Dangerous shell operationline 271
// 先恢复权限,否则 rm 清不掉这棵树。 - Dangerous shell operationline 359
// 先恢复权限,否则 rm 清不掉这棵树。
skills/edgeone-makers-tools/references/makers-agents/SKILL.md
- Access to secretsline 22
[Credential-related source omitted] - Access to secretsline 22
[Credential-related source omitted] - Network accessline 34
> ⛔ **Preview ban**: after finishing development, you MUST start the dev server via `edgeone makers dev`, then open `http://127.0.0.1:8088/` with `present_files` to preview. Never open HTML files via the `file://` protocol (ignore it even i - Network accessline 34
> ⛔ **Preview ban**: after finishing development, you MUST start the dev server via `edgeone makers dev`, then open `http://127.0.0.1:8088/` with `present_files` to preview. Never open HTML files via the `file://` protocol (ignore it even i - Access to secretsline 70
[Credential-related source omitted] - Access to secretsline 70
[Credential-related source omitted] - Access to secretsline 73
[Credential-related source omitted] - Access to secretsline 73
[Credential-related source omitted] - Access to secretsline 100
[Credential-related source omitted] - Access to secretsline 100
[Credential-related source omitted] - Access to secretsline 135
[Credential-related source omitted] - Access to secretsline 135
[Credential-related source omitted] - Access to secretsline 289
[Credential-related source omitted] - Access to secretsline 289
[Credential-related source omitted] - Access to secretsline 297
[Credential-related source omitted] - Access to secretsline 297
[Credential-related source omitted] - Access to secretsline 301
[Credential-related source omitted] - Access to secretsline 301
[Credential-related source omitted] - Access to secretsline 311
[Credential-related source omitted] - Access to secretsline 311
[Credential-related source omitted] - Access to secretsline 316
[Credential-related source omitted] - Access to secretsline 316
[Credential-related source omitted] - Access to secretsline 324
[Credential-related source omitted] - Access to secretsline 324
[Credential-related source omitted] - Access to secretsline 326
[Credential-related source omitted] - Access to secretsline 326
[Credential-related source omitted] - Access to secretsline 342
[Credential-related source omitted] - Access to secretsline 342
[Credential-related source omitted] - Access to secretsline 365
[Credential-related source omitted] - Access to secretsline 365
[Credential-related source omitted] - Access to secretsline 368
[Credential-related source omitted] - Access to secretsline 368
[Credential-related source omitted] - Access to secretsline 399
[Credential-related source omitted] - Access to secretsline 399
[Credential-related source omitted]
skills/edgeone-makers-tools/references/makers-agents/references/capabilities/sandbox.md
skills/edgeone-makers-tools/references/makers-agents/references/capabilities/store.md
- Network accessline 199
| Agent session state / checkpoints | `context.store` (langgraphCheckpointer) | Framework-native integration | | Conversation metadata (title, summary, tags) | `context.store` (updateConversation) | Lightweight, per-conversation | | Simple - Network accessline 200
| Conversation metadata (title, summary, tags) | `context.store` (updateConversation) | Lightweight, per-conversation | | Simple key-value pairs | [EdgeOne Makers KV](https://cloud.tencent.com/document/product/1552/127420) | Fast, edge-dist - Network accessline 201
| Simple key-value pairs | [EdgeOne Makers KV](https://cloud.tencent.com/document/product/1552/127420) | Fast, edge-distributed, string values | - Network accessline 202
| File / blob storage (images, PDFs, large objects) | [EdgeOne Makers Blob](https://cloud.tencent.com/document/product/1552/131425) | Object storage, supports large files | - Network accessline 211
> > FYI: if your project grows to need more advanced storage, EdgeOne Makers also offers: > - **[KV](https://cloud.tencent.com/document/product/1552/127420)** — edge-distributed key-value store (fast reads, simple data) - Network accessline 212
> FYI: if your project grows to need more advanced storage, EdgeOne Makers also offers: > - **[KV](https://cloud.tencent.com/document/product/1552/127420)** — edge-distributed key-value store (fast reads, simple data) > - **[Blob](https://c - Network accessline 213
> - **[KV](https://cloud.tencent.com/document/product/1552/127420)** — edge-distributed key-value store (fast reads, simple data) - Network accessline 214
> - **[Blob](https://cloud.tencent.com/document/product/1552/131425)** — object/file storage (images, PDFs, large files)
skills/edgeone-makers-tools/references/makers-agents/references/capabilities/tools.md
- Access to secretsline 149
[Credential-related source omitted] - Access to secretsline 153
[Credential-related source omitted] - Network accessline 156
|----|------| | Env var name (EdgeOne Makers) | `WSA_API_KEY` | | Upstream service | [Tencent Cloud Web Search API (product 1806)](https://cloud.tencent.com/document/product/1806/130615) — a standalone service, separate product from EdgeOne - Network accessline 157
[Credential-related source omitted] - Access to secretsline 157
[Credential-related source omitted] - Network accessline 158
| Upstream service | [Tencent Cloud Web Search API (product 1806)](https://cloud.tencent.com/document/product/1806/130615) — a standalone service, separate product from EdgeOne | - Network accessline 159
| Console | <https://console.cloud.tencent.com/wsapi/index> | - Access to secretsline 160
[Credential-related source omitted] - Access to secretsline 161
[Credential-related source omitted] - Network accessline 166
1. Open the [Tencent Cloud Web Search API console](https://console.cloud.tencent.com/wsapi/index) 2. Overview page → "Service API KEY" section → click "Create API KEY" 3. Enter a key name → confirm → **download the CSV or copy immediately** - Access to secretsline 169
[Credential-related source omitted] - Access to secretsline 172
[Credential-related source omitted] - Access to secretsline 175
[Credential-related source omitted] - Access to secretsline 176
[Credential-related source omitted] - Network accessline 195
{ "title": "EdgeOne Makers Documentation", "href": "https://edgeone.ai/docs/pages", - Network accessline 196
"title": "EdgeOne Makers Documentation", "href": "https://edgeone.ai/docs/pages", "snippet": "EdgeOne Makers is a full-stack deployment platform...", - Network accessline 197
"href": "https://edgeone.ai/docs/pages", - Network accessline 202
{ "title": "Getting Started with EdgeOne", "href": "https://cloud.tencent.com/document/product/1552", - Network accessline 203
"title": "Getting Started with EdgeOne", "href": "https://cloud.tencent.com/document/product/1552", "snippet": "Quick start guide for EdgeOne acceleration...", - Network accessline 204
"href": "https://cloud.tencent.com/document/product/1552",
skills/edgeone-makers-tools/references/makers-agents/references/node-frameworks/claude-sdk.md
- Network accessline 363
// 1. /chat: header required const chatResp = await fetch('/chat', { - Network accessline 363
// 1. /chat: header required const chatResp = await fetch('/chat', { - Network accessline 364
const chatResp = await fetch('/chat', { - Network accessline 364
const chatResp = await fetch('/chat', { - Network accessline 376
// 2. /stop: ⚠<U+FE0F> NEVER send the header — pass via body async function stopAgent() { await fetch('/stop', { - Network accessline 376
// 2. /stop: ⚠<U+FE0F> NEVER send the header — pass via body async function stopAgent() { await fetch('/stop', { - Network accessline 377
async function stopAgent() { await fetch('/stop', { method: 'POST', - Network accessline 377
async function stopAgent() { await fetch('/stop', { method: 'POST', - Network accessline 378
await fetch('/stop', { - Network accessline 378
await fetch('/stop', {
skills/edgeone-makers-tools/references/makers-agents/references/node-frameworks/deepagents.md
skills/edgeone-makers-tools/references/makers-agents/references/node-frameworks/langgraph.md
skills/edgeone-makers-tools/references/makers-agents/references/node-frameworks/openai-agents.md
- Access to secretsline 64
[Credential-related source omitted] - Access to secretsline 64
[Credential-related source omitted] - Access to secretsline 171
[Credential-related source omitted] - Access to secretsline 171
[Credential-related source omitted] - Access to secretsline 345
[Credential-related source omitted] - Access to secretsline 345
[Credential-related source omitted] - Network accessline 376
export async function callChat(message: string) { const conversationId = getOrCreateConversationId(); return fetch('/chat', { - Network accessline 376
export async function callChat(message: string) { const conversationId = getOrCreateConversationId(); return fetch('/chat', { - Network accessline 377
const conversationId = getOrCreateConversationId(); return fetch('/chat', { method: 'POST', - Network accessline 377
const conversationId = getOrCreateConversationId(); return fetch('/chat', { method: 'POST', - Network accessline 378
return fetch('/chat', { - Network accessline 378
return fetch('/chat', { - Network accessline 389
export async function stopAgent() { const conversationId = getOrCreateConversationId(); return fetch('/stop', { - Network accessline 389
export async function stopAgent() { const conversationId = getOrCreateConversationId(); return fetch('/stop', { - Network accessline 390
const conversationId = getOrCreateConversationId(); return fetch('/stop', { method: 'POST', - Network accessline 390
const conversationId = getOrCreateConversationId(); return fetch('/stop', { method: 'POST', - Network accessline 391
return fetch('/stop', { - Network accessline 391
return fetch('/stop', { - Network accessline 399
export async function fetchHistory() { const conversationId = getOrCreateConversationId(); const resp = await fetch('/history', { - Network accessline 399
export async function fetchHistory() { const conversationId = getOrCreateConversationId(); const resp = await fetch('/history', { - Network accessline 400
const conversationId = getOrCreateConversationId(); const resp = await fetch('/history', { method: 'POST', - Network accessline 400
const conversationId = getOrCreateConversationId(); const resp = await fetch('/history', { method: 'POST', - Network accessline 401
const resp = await fetch('/history', { - Network accessline 401
const resp = await fetch('/history', {
skills/edgeone-makers-tools/references/makers-agents/references/platform/conversation-id.md
- Network accessline 16
### Principle - The frontend framework is not prescribed — use Next.js, Vite, React, Vue, plain HTML, or any framework - Frontend calls agent endpoints via `fetch('/<action>', { method:'POST', body })`, then reads SSE with `EventSource` / ` - Network accessline 18
- Frontend calls agent endpoints via `fetch('/<action>', { method:'POST', body })`, then reads SSE with `EventSource` / `ReadableStream` - Network accessline 54
const resp = await fetch('/chat', { - Network accessline 107
// Note: fetch /stop must NOT carry makers-conversation-id. // Otherwise sticky routing pins to the same stuck chat instance and abortActiveRun cannot reach the runner. const resp = await fetch('/stop', { - Network accessline 108
// Otherwise sticky routing pins to the same stuck chat instance and abortActiveRun cannot reach the runner. const resp = await fetch('/stop', { method: 'POST', - Network accessline 109
const resp = await fetch('/stop', { - Network accessline 118
// /history is a cloud-function: there's no sticky-routing concern; either header or body works. const resp = await fetch('/history', { - Network accessline 119
const resp = await fetch('/history', {
skills/edgeone-makers-tools/references/makers-agents/references/platform/env-and-model.md
- Access to secretsline 3
[Credential-related source omitted] - Access to secretsline 9
[Credential-related source omitted] - Network accessline 10
- Missing variables must throw explicitly — never silently degrade - Default model as a constant: `@makers/deepseek-v4-flash` - ⭐ **If the template uses `context.tools.web_search`**: you must also configure `WSA_API_KEY` in the project's en - Network accessline 12
[Credential-related source omitted] - Access to secretsline 12
[Credential-related source omitted] - Access to secretsline 21
[Credential-related source omitted] - Access to secretsline 27
[Credential-related source omitted] - Access to secretsline 31
[Credential-related source omitted] - Access to secretsline 45
[Credential-related source omitted] - Access to secretsline 67
[Credential-related source omitted]
skills/edgeone-makers-tools/references/makers-agents/references/platform/node-entry.md
- Dangerous shell operationline 36
> - Does not contain `.edgeone` → the entire `.edgeone/` directory has been committed into the repo, **that is the violation** (either add it to `.gitignore`, or run `git rm -r --cached .edgeone` to clean up the commit)
skills/edgeone-makers-tools/references/makers-agents/references/platform/python-entry.md
- Access to secretsline 65
[Credential-related source omitted]
skills/edgeone-makers-tools/references/makers-agents/references/python-frameworks/claude-sdk.md
skills/edgeone-makers-tools/references/makers-agents/references/python-frameworks/crewai.md
- Access to secretsline 190
[Credential-related source omitted] - Access to secretsline 190
[Credential-related source omitted] - Access to secretsline 199
[Credential-related source omitted] - Access to secretsline 199
[Credential-related source omitted] - Access to secretsline 210
[Credential-related source omitted] - Access to secretsline 210
[Credential-related source omitted] - Access to secretsline 222
[Credential-related source omitted] - Access to secretsline 222
[Credential-related source omitted] - Access to secretsline 381
[Credential-related source omitted] - Access to secretsline 381
[Credential-related source omitted] - Access to secretsline 537
[Credential-related source omitted] - Access to secretsline 537
[Credential-related source omitted] - Access to secretsline 546
[Credential-related source omitted] - Access to secretsline 546
[Credential-related source omitted] - Network accessline 557
const resp = await fetch('/email/run', { - Network accessline 557
const resp = await fetch('/email/run', { - Network accessline 566
// /stop (NEVER include the header) await fetch('/email/stop', { - Network accessline 566
// /stop (NEVER include the header) await fetch('/email/stop', { - Network accessline 567
await fetch('/email/stop', { - Network accessline 567
await fetch('/email/stop', { - Access to secretsline 600
[Credential-related source omitted] - Access to secretsline 600
[Credential-related source omitted]
skills/edgeone-makers-tools/references/makers-agents/references/python-frameworks/deepagents.md
- Access to secretsline 80
[Credential-related source omitted]
skills/edgeone-makers-tools/references/makers-agents/references/python-frameworks/langgraph.md
skills/edgeone-makers-tools/references/makers-agents/references/python-frameworks/openai-agents.md
- Access to secretsline 75
[Credential-related source omitted] - Access to secretsline 75
[Credential-related source omitted] - Access to secretsline 115
[Credential-related source omitted] - Access to secretsline 115
[Credential-related source omitted] - Access to secretsline 116
[Credential-related source omitted] - Access to secretsline 116
[Credential-related source omitted] - Access to secretsline 258
[Credential-related source omitted] - Access to secretsline 258
[Credential-related source omitted]
skills/edgeone-makers-tools/references/makers-agents/references/review-checklist.md
- Access to secretsline 74
[Credential-related source omitted] - Access to secretsline 86
[Credential-related source omitted] - Network accessline 110
- [ ] ⭐ **Frontend**: every `fetch()` to an AI endpoint (`/chat`, `/outline`, `/create`, and every other endpoint under `agents/`) sends the HTTP header `makers-conversation-id: <uuid>` - Network accessline 212
- [ ] ⭐ Every `fetch()` to an AI endpoint sends the HTTP header `makers-conversation-id: <uuid>` (`/chat`, `/outline`, `/create`, `/create-lite`, and every other endpoint under `agents/`) - Access to secretsline 226
[Credential-related source omitted] - Access to secretsline 240
[Credential-related source omitted] - Network accessline 254
| Hand-assembling a history array to feed the model | `toOpenAIInput` / `toAnthropicMessages` | | `/stop` sent with a `makers-conversation-id` header | `/stop` uses **only** the body - Network accessline 256
| Frontend calls AI endpoints without a conversation_id | every AI endpoint `fetch()` must send the header `makers-conversation-id: <uuid>` | - Access to secretsline 268
[Credential-related source omitted]
skills/edgeone-makers-tools/references/makers-cli/SKILL.md
- Dangerous shell operationline 38
| `edgeone makers env rm <KEY>` | Remove a remote environment variable | - Dangerous shell operationline 38
| `edgeone makers env rm <KEY>` | Remove a remote environment variable | - Network accessline 75
[Credential-related source omitted] - Network accessline 75
[Credential-related source omitted] - Access to secretsline 75
[Credential-related source omitted] - Access to secretsline 75
[Credential-related source omitted] - Network accessline 76
edgeone makers env set SUPABASE_URL "https://xxx.supabase.co" - Network accessline 76
edgeone makers env set SUPABASE_URL "https://xxx.supabase.co"
skills/edgeone-makers-tools/references/makers-cloud-functions/SKILL.md
- Access to secretsline 10
[Credential-related source omitted]
skills/edgeone-makers-tools/references/makers-cloud-functions/references/go-functions.md
- Network accessline 168
- **Gin** — [go-gin-template](https://github.com/TencentEdgeOne/go-gin-template) - Network accessline 169
- **Echo** — [go-echo-template](https://github.com/TencentEdgeOne/go-echo-template) - Network accessline 170
- **Chi** — [go-chi-template](https://github.com/TencentEdgeOne/go-chi-template) - Network accessline 196
- **Handler mode**: [go-handler-template](https://github.com/TencentEdgeOne/go-handler-template) | [Preview](https://go-handler-template.edgeone.site) - Network accessline 197
- **Gin framework**: [go-gin-template](https://github.com/TencentEdgeOne/go-gin-template) | [Preview](https://go-gin-template.edgeone.site) - Network accessline 198
- **Echo framework**: [go-echo-template](https://github.com/TencentEdgeOne/go-echo-template) | [Preview](https://go-echo-template.edgeone.site) - Network accessline 199
- **Chi framework**: [go-chi-template](https://github.com/TencentEdgeOne/go-chi-template) | [Preview](https://go-chi-template.edgeone.site)
skills/edgeone-makers-tools/references/makers-cloud-functions/references/node-functions.md
- Network accessline 274
- **MySQL connection**: [mysql-template](https://github.com/TencentEdgeOne/mysql-template/) | [Preview](https://mysql-template.edgeone.run) - Network accessline 275
- **Express**: [express-template](https://github.com/TencentEdgeOne/express-template/) | [Preview](https://express-template.edgeone.run) - Network accessline 276
- **Koa**: [koa-template](https://github.com/TencentEdgeOne/koa-template/) | [Preview](https://koa-template.edgeone.run) - Network accessline 277
- **AI Voice Chat (WebSocket)**: [makers-ai-voice-chat](https://github.com/TencentEdgeOne/pages-ai-voice-chat) | [Preview](https://pages-ai-voice-chat.edgeone.site)
skills/edgeone-makers-tools/references/makers-cloud-functions/references/python-functions.md
- Network accessline 260
- **Handler mode**: [python-handler-template](https://github.com/TencentEdgeOne/python-handler-template) | [Preview](https://python-handler-template.edgeone.site) - Network accessline 261
- **FastAPI**: [python-fastapi-template](https://github.com/TencentEdgeOne/python-fastapi-template) | [Preview](https://python-fastapi-template.edgeone.site) - Network accessline 262
- **Flask**: [python-flask-template](https://github.com/TencentEdgeOne/python-flask-template) | [Preview](https://python-flask-template.edgeone.site) - Network accessline 263
- **Django**: [python-django-template](https://github.com/TencentEdgeOne/python-django-template) | [Preview](https://python-django-template.edgeone.site)
skills/edgeone-makers-tools/references/makers-cloud-functions/references/troubleshooting.md
- Network accessline 21
### Symptom (observed in WorkBuddy) - Running `curl http://localhost:8088/` in WorkBuddy's Bash tool returns `404` + an HTML fallback page for any path - Network accessline 22
- Running `curl http://localhost:8088/` in WorkBuddy's Bash tool returns `404` + an HTML fallback page for any path - Network accessline 32
### Correct verification methods (WorkBuddy, in priority order) 1. **WorkBuddy built-in browser preview** (pass `http://localhost:8088/` to `present_files`) — uses the host network, reliable. 2. **Have the user verify from their system term - Network accessline 33
1. **WorkBuddy built-in browser preview** (pass `http://localhost:8088/` to `present_files`) — uses the host network, reliable. 2. **Have the user verify from their system terminal**: `curl -I http://localhost:8088/` or just open it in a br - Network accessline 34
2. **Have the user verify from their system terminal**: `curl -I http://localhost:8088/` or just open it in a browser. - Network accessline 37
### Forbidden / misconceptions (WorkBuddy) - ❌ Do not judge whether the dev server is alive by the status code of WorkBuddy sandbox Bash `curl localhost:<port>`. - Network accessline 38
- ❌ Do not judge whether the dev server is alive by the status code of WorkBuddy sandbox Bash `curl localhost:<port>`. - Network accessline 42
### Diagnosis procedure (host-agnostic; must use log evidence, not causal guesswork) 1. Send a probe with a unique marker: `curl ".../__probe_unique_xxx__"`. - Network accessline 43
1. Send a probe with a unique marker: `curl ".../__probe_unique_xxx__"`.
skills/edgeone-makers-tools/references/makers-deploy/SKILL.md
- Network accessline 41
https://my-app-w9t0lxe8.edgeone.cool - Network accessline 41
https://my-app-w9t0lxe8.edgeone.cool - Network accessline 46
[Credential-related source omitted] - Network accessline 46
[Credential-related source omitted] - Network accessline 54
🌐 Live URL: https://my-project-abc123.edgeone.cool?<auth_query_params> - Network accessline 54
🌐 Live URL: https://my-project-abc123.edgeone.cool?<auth_query_params> - Network accessline 225
[Credential-related source omitted] - Network accessline 225
[Credential-related source omitted] - Network accessline 226
1. Go to the console: - **China**: https://console.cloud.tencent.com/edgeone/pages?tab=settings - **Global**: https://console.intl.cloud.tencent.com/edgeone/pages?tab=settings - Network accessline 226
1. Go to the console: - **China**: https://console.cloud.tencent.com/edgeone/pages?tab=settings - **Global**: https://console.intl.cloud.tencent.com/edgeone/pages?tab=settings - Network accessline 227
- **China**: https://console.cloud.tencent.com/edgeone/pages?tab=settings - Network accessline 227
- **China**: https://console.cloud.tencent.com/edgeone/pages?tab=settings - Network accessline 228
- **Global**: https://console.intl.cloud.tencent.com/edgeone/pages?tab=settings - Network accessline 228
- **Global**: https://console.intl.cloud.tencent.com/edgeone/pages?tab=settings - Instruction override signalline 416
⛔ **The listener is invisible to the user — never narrate it.** Do not tell the user a listener/监听器 is running, that you are "waiting for the claim callback", or any other internal mechanism status (state files, JSON parsing, ports). The us - Instruction override signalline 416
⛔ **The listener is invisible to the user — never narrate it.** Do not tell the user a listener/监听器 is running, that you are "waiting for the claim callback", or any other internal mechanism status (state files, JSON parsing, ports). The us - Network accessline 473
{"status":"success","url":"https://my-project-abc123.edgeone.cool?<auth_query_params>","type":"preset","projectId":"makers-xxxxxxxx","deploymentId":"dp-xxxx","consoleUrl":"https://console.cloud.tencent.com/edgeone/pages/project/makers-xxxxx - Network accessline 473
{"status":"success","url":"https://my-project-abc123.edgeone.cool?<auth_query_params>","type":"preset","projectId":"makers-xxxxxxxx","deploymentId":"dp-xxxx","consoleUrl":"https://console.cloud.tencent.com/edgeone/pages/project/makers-xxxxx - Network accessline 485
[cli][✔] Deploy Success EDGEONE_DEPLOY_URL=https://my-project-abc123.edgeone.cool?<auth_query_params> - Network accessline 485
[cli][✔] Deploy Success EDGEONE_DEPLOY_URL=https://my-project-abc123.edgeone.cool?<auth_query_params> - Network accessline 486
EDGEONE_DEPLOY_URL=https://my-project-abc123.edgeone.cool?<auth_query_params> - Network accessline 486
EDGEONE_DEPLOY_URL=https://my-project-abc123.edgeone.cool?<auth_query_params> - Network accessline 488
EDGEONE_PROJECT_ID=makers-xxxxxxxx [cli][✔] You can view your deployment in the EdgeOne Makers Console at: https://console.cloud.tencent.com/edgeone/pages/project/pages-xxxxxxxx/deployment/xxxxxxx - Network accessline 488
EDGEONE_PROJECT_ID=makers-xxxxxxxx [cli][✔] You can view your deployment in the EdgeOne Makers Console at: https://console.cloud.tencent.com/edgeone/pages/project/pages-xxxxxxxx/deployment/xxxxxxx - Network accessline 490
https://console.cloud.tencent.com/edgeone/pages/project/pages-xxxxxxxx/deployment/xxxxxxx - Network accessline 490
https://console.cloud.tencent.com/edgeone/pages/project/pages-xxxxxxxx/deployment/xxxxxxx - Network accessline 512
[Credential-related source omitted] - Network accessline 512
[Credential-related source omitted] - Network accessline 514
> --- > > - **Console URL**: `https://console.cloud.tencent.com/edgeone/pages/project/...` - Network accessline 514
> --- > > - **Console URL**: `https://console.cloud.tencent.com/edgeone/pages/project/...` - Network accessline 515
> > - **Console URL**: `https://console.cloud.tencent.com/edgeone/pages/project/...` > - Network accessline 515
> > - **Console URL**: `https://console.cloud.tencent.com/edgeone/pages/project/...` > - Network accessline 516
> - **Console URL**: `https://console.cloud.tencent.com/edgeone/pages/project/...` - Network accessline 516
> - **Console URL**: `https://console.cloud.tencent.com/edgeone/pages/project/...`
skills/edgeone-makers-tools/references/makers-deploy/references/anonymous-deploy.md
- Network accessline 73
[Credential-related source omitted] - Network accessline 73
[Credential-related source omitted] - Network accessline 74
[Credential-related source omitted] - Network accessline 74
[Credential-related source omitted] - Network accessline 75
[Credential-related source omitted] - Network accessline 75
[Credential-related source omitted] - Network accessline 77
[Credential-related source omitted] - Network accessline 77
[Credential-related source omitted] - Network accessline 78
[Credential-related source omitted] - Network accessline 78
[Credential-related source omitted] - Network accessline 79
[Credential-related source omitted] - Network accessline 79
[Credential-related source omitted] - Network accessline 175
|-----------|-----------| | `--site` passed | The CLI uses it as-is and skips detection. Prefer this in Agent/CI contexts for determinism. | | `--site` omitted | **The CLI itself** issues `GET https://api.edgeone.ai/e-func/ip/isCN` (3 s tim - Network accessline 175
|-----------|-----------| | `--site` passed | The CLI uses it as-is and skips detection. Prefer this in Agent/CI contexts for determinism. | | `--site` omitted | **The CLI itself** issues `GET https://api.edgeone.ai/e-func/ip/isCN` (3 s tim - Network accessline 176
| `--site` passed | The CLI uses it as-is and skips detection. Prefer this in Agent/CI contexts for determinism. | | `--site` omitted | **The CLI itself** issues `GET https://api.edgeone.ai/e-func/ip/isCN` (3 s timeout): `isCN: true` → `chi - Network accessline 176
| `--site` passed | The CLI uses it as-is and skips detection. Prefer this in Agent/CI contexts for determinism. | | `--site` omitted | **The CLI itself** issues `GET https://api.edgeone.ai/e-func/ip/isCN` (3 s timeout): `isCN: true` → `chi - Network accessline 177
| `--site` omitted | **The CLI itself** issues `GET https://api.edgeone.ai/e-func/ip/isCN` (3 s timeout): `isCN: true` → `china`, otherwise `global`. | - Network accessline 177
| `--site` omitted | **The CLI itself** issues `GET https://api.edgeone.ai/e-func/ip/isCN` (3 s timeout): `isCN: true` → `china`, otherwise `global`. | - Network accessline 298
# 2. Verify the deployment is live curl -sSI "<url from the json>" | head -1 - Network accessline 298
# 2. Verify the deployment is live curl -sSI "<url from the json>" | head -1 - Network accessline 299
curl -sSI "<url from the json>" | head -1 - Network accessline 299
curl -sSI "<url from the json>" | head -1
skills/edgeone-makers-tools/references/makers-deploy/references/command-reference.md
skills/edgeone-makers-tools/references/makers-edge-functions/SKILL.md
skills/edgeone-makers-tools/references/makers-env-adaption/SKILL.md
- Network accessline 36
│ Enter ┤ preview │ ┌─ dev server running? ─ Yes ──→ present_files(http://127.0.0.1:8088/) ✅ - Network accessline 37
Enter ┤ preview │ ┌─ dev server running? ─ Yes ──→ present_files(http://127.0.0.1:8088/) ✅ └─ Still iterating? ───┤ - Network accessline 38
preview │ ┌─ dev server running? ─ Yes ──→ present_files(http://127.0.0.1:8088/) ✅ - Network accessline 43
| What you want to do | Correct approach | Wrong approach (breaks) | |---|---|---| | Preview local dev server | `present_files("http://127.0.0.1:8088/")` | ❌ Passing `/path/to/index.html` (IDE opens it via file://) | - Network accessline 44
[Credential-related source omitted] - Network accessline 45
| Preview local dev server | `present_files("http://127.0.0.1:8088/")` | ❌ Passing `/path/to/index.html` (IDE opens it via file://) | - Network accessline 46
[Credential-related source omitted] - Network accessline 47
| Start dev server | `edgeone makers dev --name <p> --skip-env-sync` | ❌ `python -m http.server` / `npx serve` | | Verify dev server is up (agent-side API check) | `curl --noproxy '*' http://127.0.0.1:8088/api/...` ✅ works (same sandbox) | - Network accessline 48
| Verify dev server is up (agent-side API check) | `curl --noproxy '*' http://127.0.0.1:8088/api/...` ✅ works (same sandbox) | ❌ `curl localhost:8088` / plain `curl` (proxy + IPv6 → 404/000) | - Network accessline 49
| Verify dev server is up (user-facing) | `present_files(http://127.0.0.1:8088/)` (platform tunnel) | ❌ Telling user to open `127.0.0.1:8088` — their browser can't reach the sandbox | - Network accessline 125
The Bash tool and `edgeone makers dev` run **in the same sandbox (same machine)**, so the loopback dev server IS reachable from Bash. The earlier claim that "Bash curl is isolated and returns 404" is wrong — the failures are caused by the * - Network accessline 128
|---------|--------|------| | Built-in browser preview (`present_files`) | ✅ Available | Uses the platform tunnel; the ONLY way the **user's** browser can see the sandbox dev server | | User's system terminal | ✅ Available | `curl http://12 - Network accessline 129
| Built-in browser preview (`present_files`) | ✅ Available | Uses the platform tunnel; the ONLY way the **user's** browser can see the sandbox dev server | | User's system terminal | ✅ Available | `curl http://127.0.0.1:8088/` | | Bash tool - Network accessline 130
| User's system terminal | ✅ Available | `curl http://127.0.0.1:8088/` | - Network accessline 131
| Bash tool curl (agent-side API checks) | ✅ Available **only with `--noproxy '*'` + `127.0.0.1`** | Plain `curl localhost:8088` fails: (a) `localhost`→`::1` (§4), (b) proxy hijacks the request (§5) | - Network accessline 133
**Practical rule**: - Use `curl --noproxy '*' http://127.0.0.1:8088/...` from Bash to **agent-side verify** API endpoints during testing — this works (it was used to validate a full create→upload→like flow). - Network accessline 134
- Use `curl --noproxy '*' http://127.0.0.1:8088/...` from Bash to **agent-side verify** API endpoints during testing — this works (it was used to validate a full create→upload→like flow). - Network accessline 135
- Do NOT rely on Bash curl to show the page to the user. The user's browser cannot reach `127.0.0.1:8088` inside the sandbox; for a user-facing preview, pass the dev URL to `present_files` (platform tunnel) or deploy and share the live URL. - Network accessline 144
# Correct curl http://127.0.0.1:8088/ - Network accessline 145
curl http://127.0.0.1:8088/ - Network accessline 147
# Wrong (404 in the sandbox) curl http://localhost:8088/ - Network accessline 148
curl http://localhost:8088/ - Network accessline 153
present_files: http://127.0.0.1:8088/ - Network accessline 158
### 5. Proxy hijacking (curl needs --noproxy) - Network accessline 160
The sandbox injects an `http_proxy` environment variable; curl goes through the proxy by default, which swallows the SSE streaming response. - Network accessline 163
# Correct curl --noproxy '*' http://127.0.0.1:8088/api/chat - Network accessline 164
curl --noproxy '*' http://127.0.0.1:8088/api/chat - Network accessline 166
# Wrong (returns "Empty reply" / status 000) curl http://127.0.0.1:8088/api/chat - Network accessline 167
curl http://127.0.0.1:8088/api/chat - Network accessline 209
1. Start `edgeone makers dev --name <project> --skip-env-sync` (**background async**, see §7) 2. Wait 2-3 seconds for the dev server to be ready 3. **Pass `http://127.0.0.1:8088/` to `present_files`** (note it is `127.0.0.1`, **not** `local - Network accessline 210
2. Wait 2-3 seconds for the dev server to be ready 3. **Pass `http://127.0.0.1:8088/` to `present_files`** (note it is `127.0.0.1`, **not** `localhost` — see §4) 4. Tell the user: "The project's local preview is running, please check it out - Network accessline 211
3. **Pass `http://127.0.0.1:8088/` to `present_files`** (note it is `127.0.0.1`, **not** `localhost` — see §4) - Network accessline 221
# ✅ Correct present_files("http://127.0.0.1:8088/") # dev server - Network accessline 222
present_files("http://127.0.0.1:8088/") # dev server - Network accessline 223
[Credential-related source omitted] - Network accessline 230
[Credential-related source omitted] - Network accessline 231
[Credential-related source omitted] - Network accessline 262
Note: the value is a **bare host**, without an `http://` prefix and without a port.
skills/edgeone-makers-tools/references/makers-frameworks/references/nuxt.md
- Network accessline 78
// server/api/posts.get.ts export default defineEventHandler(async () => { const posts = await $fetch("https://api.example.com/posts"); - Network accessline 79
export default defineEventHandler(async () => { const posts = await $fetch("https://api.example.com/posts"); return posts; - Network accessline 80
const posts = await $fetch("https://api.example.com/posts");
skills/edgeone-makers-tools/references/makers-frameworks/references/sveltekit.md
- Network accessline 135
// +page.server.js export const load = async () => ({ post: fetch('/api/post').then((r) => r.json()), - Network accessline 136
export const load = async () => ({ post: fetch('/api/post').then((r) => r.json()), comments: fetch('/api/comments').then((r) => r.json()), - Network accessline 137
post: fetch('/api/post').then((r) => r.json()), - Network accessline 138
comments: fetch('/api/comments').then((r) => r.json()),
skills/edgeone-makers-tools/references/makers-frameworks/references/tanstack-start.md
- Network accessline 102
export const getPosts = createServerFn({ method: "GET" }).handler(async () => { const res = await fetch("https://api.example.com/posts", { - Network accessline 103
const res = await fetch("https://api.example.com/posts", { - Access to secretsline 104
[Credential-related source omitted]
skills/edgeone-makers-tools/references/makers-frameworks/references/vike.md
- Network accessline 101
// pages/product/@id/+data.js export async function data(pageContext) { const res = await fetch(`https://api.example.com/products/${pageContext.routeParams.id}`); - Network accessline 102
export async function data(pageContext) { const res = await fetch(`https://api.example.com/products/${pageContext.routeParams.id}`); return { product: await res.json() }; - Network accessline 103
const res = await fetch(`https://api.example.com/products/${pageContext.routeParams.id}`);
skills/edgeone-makers-tools/references/makers-migration/SKILL.md
- Access to secretsline 15
[Credential-related source omitted] - Access to secretsline 51
[Credential-related source omitted] - Access to secretsline 59
[Credential-related source omitted] - Access to secretsline 75
[Credential-related source omitted] - Access to secretsline 99
[Credential-related source omitted] - Access to secretsline 107
[Credential-related source omitted] - Access to secretsline 120
[Credential-related source omitted] - Access to secretsline 151
[Credential-related source omitted] - Access to secretsline 199
[Credential-related source omitted] - Access to secretsline 267
[Credential-related source omitted] - Access to secretsline 324
[Credential-related source omitted] - Access to secretsline 336
[Credential-related source omitted] - Network accessline 354
return createSSEResponse(async function* (sig) { const response = await fetch(context.env.AI_GATEWAY_BASE_URL + '/v1/chat/completions', { - Network accessline 355
const response = await fetch(context.env.AI_GATEWAY_BASE_URL + '/v1/chat/completions', { - Access to secretsline 359
[Credential-related source omitted] - Network accessline 381
// ❌ Before: plain fetch without conversation-id const response = await fetch('/api/chat', { - Network accessline 382
const response = await fetch('/api/chat', { - Network accessline 388
// ✅ After: with makers-conversation-id header const conversationId = getOrCreateConversationId(); // crypto.randomUUID() + localStorage const response = await fetch('/chat', { - Network accessline 389
const conversationId = getOrCreateConversationId(); // crypto.randomUUID() + localStorage const response = await fetch('/chat', { method: 'POST', - Network accessline 390
const response = await fetch('/chat', { - Network accessline 403
// ✅ Always pass conversation_id in body for /stop await fetch('/stop', { - Network accessline 404
await fetch('/stop', { - Access to secretsline 449
[Credential-related source omitted]
skills/edgeone-makers-tools/references/makers-migration/references/api-route-to-makers.md
- Access to secretsline 35
[Credential-related source omitted] - Network accessline 74
return createSSEResponse(async function* (sig) { const response = await fetch(env.AI_GATEWAY_BASE_URL + '/v1/chat/completions', { - Network accessline 75
const response = await fetch(env.AI_GATEWAY_BASE_URL + '/v1/chat/completions', { - Access to secretsline 79
[Credential-related source omitted] - Access to secretsline 128
[Credential-related source omitted] - Network accessline 130
const completion = await fetch('https://api.openai.com/v1/chat/completions', { - Network accessline 157
const env = context.env; const completion = await fetch(env.AI_GATEWAY_BASE_URL + '/v1/chat/completions', { - Network accessline 158
const completion = await fetch(env.AI_GATEWAY_BASE_URL + '/v1/chat/completions', { - Access to secretsline 162
[Credential-related source omitted]
skills/edgeone-makers-tools/references/makers-migration/references/claude-agent-sdk-to-makers.md
skills/edgeone-makers-tools/references/makers-migration/references/crewai-to-makers.md
- Access to secretsline 24
[Credential-related source omitted] - Access to secretsline 39
[Credential-related source omitted] - Access to secretsline 61
[Credential-related source omitted] - Access to secretsline 80
[Credential-related source omitted] - Access to secretsline 134
[Credential-related source omitted] - Access to secretsline 140
[Credential-related source omitted]
skills/edgeone-makers-tools/references/makers-migration/references/deepagents-to-makers.md
skills/edgeone-makers-tools/references/makers-migration/references/langgraph-to-makers.md
skills/edgeone-makers-tools/references/makers-migration/references/openai-agents-to-makers.md
skills/edgeone-makers-tools/references/makers-recipes/SKILL.md
- Network accessline 13
> ⛔ **Preview ban**: after finishing development, you MUST start the dev server via `edgeone makers dev`, then open `http://127.0.0.1:8088/` with `present_files` to preview. Never open HTML files via the `file://` protocol (ignore it even i - Access to secretsline 15
[Credential-related source omitted] - Network accessline 19
> 🔗 **Load assets with page-relative URLs, never root-absolute**: in these no-build projects nothing rewrites `index.html`, so write `<link rel="stylesheet" href="style.css">` and `<script src="script.js"></script>` — **not** `href="/style. - Network accessline 43
const res = await fetch('/api/users'); - Network accessline 91
await fetch('/api/messages', { // post - Network accessline 94
body: JSON.stringify({ name, text }), }); const { items } = await fetch('/api/messages').then((r) => r.json()); // list - Network accessline 96
const { items } = await fetch('/api/messages').then((r) => r.json()); // list
skills/edgeone-makers-tools/references/makers-storage/references/blob.md
- Network accessline 450
async function uploadFile(file) { // 1. Request upload URL from function const { url, key } = await fetch("/api/get-upload-url", { - Network accessline 450
async function uploadFile(file) { // 1. Request upload URL from function const { url, key } = await fetch("/api/get-upload-url", { - Network accessline 451
// 1. Request upload URL from function const { url, key } = await fetch("/api/get-upload-url", { method: "POST", - Network accessline 451
// 1. Request upload URL from function const { url, key } = await fetch("/api/get-upload-url", { method: "POST", - Network accessline 452
const { url, key } = await fetch("/api/get-upload-url", { - Network accessline 452
const { url, key } = await fetch("/api/get-upload-url", { - Network accessline 458
// 2. Upload directly to Blob await fetch(url, { - Network accessline 458
// 2. Upload directly to Blob await fetch(url, { - Network accessline 459
await fetch(url, { - Network accessline 459
await fetch(url, {
skills/edgeone-makers-tools/references/makers-storage/references/kv.md
- Network accessline 25
1. Log in to the [EdgeOne Makers console](https://console.cloud.tencent.com/edgeone/pages) - Network accessline 25
1. Log in to the [EdgeOne Makers console](https://console.cloud.tencent.com/edgeone/pages) - Network accessline 25
1. Log in to the [EdgeOne Makers console](https://console.cloud.tencent.com/edgeone/pages) - Network accessline 282
# 3. Test curl http://localhost:8088/api/counter - Network accessline 282
# 3. Test curl http://localhost:8088/api/counter - Network accessline 282
# 3. Test curl http://localhost:8088/api/counter - Network accessline 283
curl http://localhost:8088/api/counter - Network accessline 283
curl http://localhost:8088/api/counter - Network accessline 283
curl http://localhost:8088/api/counter
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
No combined signals at this commit.
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.
Explore alternatives and comparisons
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/tencentedgeone-edgeone-makers-tools/)