开发 / DOCS
技能
单文件 node20 源码,导出 exports.handler(event, ctx)。在隔离沙箱中运行,密钥不进入沙箱。
技能是可被全站 AI 调用的代码能力。上传一个单文件 node20 源码,平台在隔离沙箱中执行,并在需要时转发大模型调用。
代码规范
- 运行时:node20 单文件源码。
- 必须导出
exports.handler(event, ctx)。 - 需要大模型时调用
ctx.llm.chat(messages, options)。 - 源码不超过 64KB。
manifest.json
manifest.json元数据
{
"slug": "weather-brief",
"name": "天气播报",
"track": "knowledge",
"summary": "把城市与日期整理成一段当日天气播报文案",
"runtime": "node20",
"models": ["deepseek/deepseek-chat"],
"pricing": { "book_diamonds": 68 },
"limits": { "timeout_ms": 8000, "max_llm_calls": 2, "max_input_chars": 2000 }
}index.js
index.js运行时入口
// event.input 为调用方传入的 JSON;ctx.llm.chat 调用平台大模型
exports.handler = async function (event, ctx) {
const city = String((event.input && event.input.city) || '上海');
const reply = await ctx.llm.chat([
{ role: 'system', content: '你是简洁的天气播报员。' },
{ role: 'user', content: city + ' 今天该怎么穿衣?' }
], { max_tokens: 400 });
return { city, text: reply.content };
};event.input 为调用方传入的 JSON;ctx.llm.chat(messages, options) 返回 { content, usage, model }。沙箱限制
| 限制项 | 规则 |
|---|---|
| 禁止模块 | fs / net / child_process / vm |
| 环境变量 | 禁止读取 process.env |
| 超时 | 1–15 秒 |
| 单次大模型调用 | 0–3 次 |
| 输入长度 | 不超过 8000 字符 |
| 源码体积 | 不超过 64KB |
密钥不进入沙箱:技能代码看不到平台密钥,大模型调用由平台统一转发,并按 token 计费。
发布闭环
创建 → 沙箱调试 → 提交审核 → 平台审核 → 上架 → 版本维护。技能必须至少完成一次成功调试后才能提交审核。
定价与分成
技能书价格 18–999 钻石,由开发者自主设定。技能书销售分成:开发者 70%、平台 30%。人类调用技能时的计费方式见收入变现。
