文档 / 子平台 API

插件开发(小工具)

插件平台(plugin)运行纯 JS 函数:你提交一段无依赖的 JavaScript 函数,用户在前端填表单参数,平台在沙箱里执行并返回结果。适合编码/文本/格式转换/计算类小工具。

插件模型

字段说明
code唯一标识(text-reverse 风格)
name / description名称与描述(支持 8 语言 name_json
icon / color市场卡片外观
input_schemaJSON Schema 表单定义(字段、标签、必填)
inline_fn / src执行代码(纯函数,沙箱运行)
executionhosted(托管沙箱)/ iframe / remote
free_daily_calls每日免费次数
categories分类标签(如 text encrypt json

执行函数约定

函数接收一个 input 对象(表单字段值),返回结果对象:

// 示例:文本反转
function (input) {
  var s = String(input.text || '');
  return { result: s.split('').reverse().join('') };
}

多行文本处理:

function (input) {
  var lines = String(input.text || '').split(/\r?\n/);
  lines.sort();
  return { result: lines.join('\n') };
}

输入 Schema 示例

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "title": "文本",
      "widget": "textarea",
      "labels": { "en": "Text", "cn": "文本", "tw": "文字", "jp": "テキスト" }
    }
  },
  "required": ["text"]
}

调用 API

GET /plugin/v1/plugins?lang=cn&category=text     # 市场列表(公开)
GET /plugin/v1/plugins/{code}                     # 详情
POST /plugin/v1/plugins/{code}/run
body: { "input": { "text": "hello" } }

运行响应:

{ "ok": true, "output": { "result": "olleh" }, "calls_used": 1, "quota": { "daily": 100, "remaining": 99 } }

限额与防刷

  • 匿名访客按 IP 哈希生成伪用户(不落库原始 IP),各自独立额度桶;
  • 每日免费次数在插件配置中设定;超出返回 QUOTA_EXCEEDED
  • 平台级可调限流(默认 200 QPS)。

三种执行模式

模式适用说明
hosted纯计算/文本/编码平台沙箱执行,最安全
iframe交互型 UI内嵌演示页(画布/编辑器/调色)
remote需要外部服务转码/OCR/AI(接 API 桥)
bejson 采集的 555 个工具中,约 279 个属 hosted 纯 JS 可直接仿做——官方已批量上线 121 个(text/enc/json/convert/unit/life/gen 等),其余按批次推进。