上传说明

AI 或自动化脚本可通过以下接口,将工具文件及说明上传到本站私密区。上传成功后,工具会自动出现在私密工具列表中,并生成受密码保护的下载链接。

接口信息

POST https://你的域名/上传路径

认证

所有请求必须在请求头中携带 API Token,支持以下两种方式(任选其一):

# 方式一:自定义头
X-API-Token: YOUR_TOKEN

# 方式二:标准 Bearer
Authorization: Bearer YOUR_TOKEN

Token 缺失或错误时返回 401 Unauthorized

API Token

上传需要 API Token 进行认证,Token 由站点管理员单独提供。请妥善保管,不要泄露到公开仓库或客户端代码中。

请求参数

接口接收以下表单字段。其中 file 为必填,其余均为可选:

字段类型必填说明
fileFile必填要上传的工具文件(zip、脚本、二进制等任意类型)
idstring可选工具唯一标识。不传则自动生成;传入已存在的 ID 会覆盖该工具(旧文件被删除)
namestring可选工具显示名称。不传则使用文件名(去掉扩展名)
descriptionstring可选工具的一句话说明,会显示在卡片上
langstring可选编程语言或技术栈,如 PythonGoRustShell,默认 Unknown
tagsstring可选标签,多个用英文逗号 , 或中文逗号 分隔,如 运维,脚本
iconstring可选一个 emoji 作为工具图标,如 🤖,默认 📦
statusstring可选状态:已完成WIP(开发中)、自用,默认 WIP

调用示例

curl

# 最简上传(仅文件)
curl -X POST 上传地址 \
  -H "X-API-Token: 你的Token" \
  -F "file=@my-tool.zip"

# 带上完整元数据
curl -X POST 上传地址 \
  -H "Authorization: Bearer 你的Token" \
  -F "file=@my-tool.zip" \
  -F "id=my-tool" \
  -F "name=我的工具" \
  -F "description=这是一个好用的工具" \
  -F "lang=Python" \
  -F "tags=运维,脚本" \
  -F "icon=🤖" \
  -F "status=已完成"

Python

import requests

url = "上传地址"
headers = {"X-API-Token": "你的Token"}

with open("my-tool.zip", "rb") as f:
    resp = requests.post(
        url,
        headers=headers,
        files={"file": f},
        data={
            "name": "我的工具",
            "description": "这是一个好用的工具",
            "lang": "Python",
            "tags": "运维,脚本",
            "status": "已完成",
        },
    )

print(resp.status_code)
print(resp.json())

Node.js

const fs = require("fs");
const form = new FormData();
form.append("file", fs.createReadStream("./my-tool.zip"));
form.append("name", "我的工具");
form.append("description", "这是一个好用的工具");
form.append("lang", "Node.js");
form.append("tags", "工具,CLI");

fetch("上传地址", {
  method: "POST",
  headers: {
    "X-API-Token": "你的Token",
    ...form.getHeaders(),
  },
  body: form,
}).then(r => r.json()).then(console.log);

响应

成功响应(HTTP 200)

{
  "ok": true,
  "id": "my-tool",
  "name": "我的工具",
  "file": "my-tool.zip",
  "size": 17408,
  "size_human": "17 KB",
  "url": "/私密路径/dl/my-tool.zip",
  "replaced": false,
  "created_at": "2026-08-26"
}
字段说明
ok是否成功,固定为 true
id工具 ID(传入的或自动生成的)
name工具名称
file服务器上保存的文件名(已做安全清洗,同名自动加序号)
size文件大小,单位字节
size_human人类可读的文件大小
url下载路径(需登录私密区后才能访问)
replaced是否覆盖了已有的同 ID 工具
created_at上传或更新日期

错误响应

错误时 HTTP 状态码表示错误类型,响应体为 JSON,包含 error 字段:

{ "error": "错误信息" }
状态码含义
400请求格式错误:缺少 file 字段、不是 multipart 请求、表单解析失败等
401API Token 缺失或不正确
404请求路径错误
413文件超过 500 MB 大小限制

上传后的行为