Skip to content

JS 插件 ​

接口列表 ​

方法路径说明
GET/jsplugin-assets/{path}插件公共资源
GET/jsplugin-assets/web-core/{path}Web-core 静态资源
GET/jsplugin/{entryPath}插件根页面(动态路由)
POST/jsplugin/{entryPath}/{path}插件 API 转发 catch-all(动态路由)
PUT/jsplugin/{entryPath}/{path}插件 API 转发 catch-all(动态路由)
DELETE/jsplugin/{entryPath}/{path}插件 API 转发 catch-all(动态路由)
GET/jsplugin/{entryPath}/{path}插件 API 转发 catch-all(动态路由)
HEAD/jsplugin/{entryPath}/files/{path}插件文件直接访问
GET/jsplugin/{entryPath}/files/{path}插件文件直接访问
GET/jsplugin/{entryPath}/static插件 static 目录根(动态路由)
GET/jsplugin/{entryPath}/static/{path}插件静态资源文件(动态路由)

GET /jsplugin-assets/{path} ​

插件公共资源

服务由主程序嵌入的插件公共资源(theme.css / components.css / common.js 及字体),自动注入到所有插件 HTML 页面。

路径参数 ​

参数类型必填说明
*string是资源路径

响应 ​

200 - 资源文件 ​

404 - 资源不存在 ​

类型: map[string]string

内容类型 ​

  • 响应: application/octet-stream

GET /jsplugin-assets/web-core/{path} ​

Web-core 静态资源

服务 Lynx 渲染引擎的 Web 端运行时(CSS/JS/WASM),供声明 renderEngine=lynx 的插件在系统 WebView 中使用。

路径参数 ​

参数类型必填说明
*string是资源路径(如 static/js/client.js)

响应 ​

200 - 资源文件 ​

404 - 资源不存在或 web-core 目录未配置 ​

类型: map[string]string

内容类型 ​

  • 响应: application/octet-stream

GET /jsplugin/{entryPath} ​

插件根页面(动态路由)

JS 插件入口 HTML。{entryPath} 由运行时按已安装插件决定,注入 <base> 标签和 auth-bridge 脚本后返回 static/index.html。无需认证。

路径参数 ​

参数类型必填说明
entryPathstring是插件入口标识(运行时动态)

响应 ​

200 - 插件 index.html(已注入 <base> 与 auth-bridge) ​

类型: string

404 - 插件未安装或缺 static/index.html ​

类型: string

内容类型 ​

  • 响应: text/html

POST /jsplugin/{entryPath}/{path} ​

插件 API 转发 catch-all(动态路由)

接受任意 HTTP 方法,分发到插件 static 兜底、入站 WebSocket upgrade(调用 onWebSocket),或转发到 QuickJS 沙盒中的插件代码。{entryPath} 和子路径均由运行时决定,OpenAPI 仅作占位。需要 BearerAuth。 支持 UPnP 事件订阅的 SUBSCRIBE/UNSUBSCRIBE 扩展方法(OpenAPI 2 无对应方法,仅在此说明)。插件 publicPaths 中声明的路径免 JWT,由插件自行校验协议访问范围。

需要认证

此接口需要 Bearer Token 认证

路径参数 ​

参数类型必填说明
entryPathstring是插件入口标识(运行时动态)

请求头参数 ​

参数类型必填说明
X-Plugin-Timeout-Msinteger否可选:放宽本次插件调用的超时(毫秒),宿主 clamp 到 [30000, 300000]。慢端点(如 yt-dlp 展开歌单)用于避免默认 30s 超时

响应 ​

200 - 插件自定义响应 ​

类型: map[string]any

403 - 插件未启用 ​

类型: map[string]string

404 - 插件不存在 ​

类型: map[string]string

503 - 插件不可用或运行异常(健康检查会自愈) ​

类型: map[string]string

504 - JS 运行时调用超时 ​

类型: map[string]string

内容类型 ​

  • 请求: application/json
  • 响应: application/json

PUT /jsplugin/{entryPath}/{path} ​

插件 API 转发 catch-all(动态路由)

接受任意 HTTP 方法,分发到插件 static 兜底、入站 WebSocket upgrade(调用 onWebSocket),或转发到 QuickJS 沙盒中的插件代码。{entryPath} 和子路径均由运行时决定,OpenAPI 仅作占位。需要 BearerAuth。 支持 UPnP 事件订阅的 SUBSCRIBE/UNSUBSCRIBE 扩展方法(OpenAPI 2 无对应方法,仅在此说明)。插件 publicPaths 中声明的路径免 JWT,由插件自行校验协议访问范围。

需要认证

此接口需要 Bearer Token 认证

路径参数 ​

参数类型必填说明
entryPathstring是插件入口标识(运行时动态)

请求头参数 ​

参数类型必填说明
X-Plugin-Timeout-Msinteger否可选:放宽本次插件调用的超时(毫秒),宿主 clamp 到 [30000, 300000]。慢端点(如 yt-dlp 展开歌单)用于避免默认 30s 超时

响应 ​

200 - 插件自定义响应 ​

类型: map[string]any

403 - 插件未启用 ​

类型: map[string]string

404 - 插件不存在 ​

类型: map[string]string

503 - 插件不可用或运行异常(健康检查会自愈) ​

类型: map[string]string

504 - JS 运行时调用超时 ​

类型: map[string]string

内容类型 ​

  • 请求: application/json
  • 响应: application/json

DELETE /jsplugin/{entryPath}/{path} ​

插件 API 转发 catch-all(动态路由)

接受任意 HTTP 方法,分发到插件 static 兜底、入站 WebSocket upgrade(调用 onWebSocket),或转发到 QuickJS 沙盒中的插件代码。{entryPath} 和子路径均由运行时决定,OpenAPI 仅作占位。需要 BearerAuth。 支持 UPnP 事件订阅的 SUBSCRIBE/UNSUBSCRIBE 扩展方法(OpenAPI 2 无对应方法,仅在此说明)。插件 publicPaths 中声明的路径免 JWT,由插件自行校验协议访问范围。

需要认证

此接口需要 Bearer Token 认证

路径参数 ​

参数类型必填说明
entryPathstring是插件入口标识(运行时动态)

请求头参数 ​

参数类型必填说明
X-Plugin-Timeout-Msinteger否可选:放宽本次插件调用的超时(毫秒),宿主 clamp 到 [30000, 300000]。慢端点(如 yt-dlp 展开歌单)用于避免默认 30s 超时

响应 ​

200 - 插件自定义响应 ​

类型: map[string]any

403 - 插件未启用 ​

类型: map[string]string

404 - 插件不存在 ​

类型: map[string]string

503 - 插件不可用或运行异常(健康检查会自愈) ​

类型: map[string]string

504 - JS 运行时调用超时 ​

类型: map[string]string

内容类型 ​

  • 请求: application/json
  • 响应: application/json

GET /jsplugin/{entryPath}/{path} ​

插件 API 转发 catch-all(动态路由)

接受任意 HTTP 方法,分发到插件 static 兜底、入站 WebSocket upgrade(调用 onWebSocket),或转发到 QuickJS 沙盒中的插件代码。{entryPath} 和子路径均由运行时决定,OpenAPI 仅作占位。需要 BearerAuth。 支持 UPnP 事件订阅的 SUBSCRIBE/UNSUBSCRIBE 扩展方法(OpenAPI 2 无对应方法,仅在此说明)。插件 publicPaths 中声明的路径免 JWT,由插件自行校验协议访问范围。

需要认证

此接口需要 Bearer Token 认证

路径参数 ​

参数类型必填说明
entryPathstring是插件入口标识(运行时动态)

请求头参数 ​

参数类型必填说明
X-Plugin-Timeout-Msinteger否可选:放宽本次插件调用的超时(毫秒),宿主 clamp 到 [30000, 300000]。慢端点(如 yt-dlp 展开歌单)用于避免默认 30s 超时

响应 ​

200 - 插件自定义响应 ​

类型: map[string]any

403 - 插件未启用 ​

类型: map[string]string

404 - 插件不存在 ​

类型: map[string]string

503 - 插件不可用或运行异常(健康检查会自愈) ​

类型: map[string]string

504 - JS 运行时调用超时 ​

类型: map[string]string

内容类型 ​

  • 请求: application/json
  • 响应: application/json

HEAD /jsplugin/{entryPath}/files/{path} ​

插件文件直接访问

通过 Go 原生 http.ServeFile 直接返回插件可访问范围内的文件,支持 Range 请求和 HTTP 缓存。

需要认证

此接口需要 Bearer Token 认证

路径参数 ​

参数类型必填说明
entryPathstring是插件入口标识
pathstring是文件路径

响应 ​

200 - 文件内容 ​

类型: file

206 - 部分文件内容(Range 请求) ​

类型: file

404 - 文件不存在或权限不足 ​

类型: string

内容类型 ​

  • 响应: application/octet-stream

GET /jsplugin/{entryPath}/files/{path} ​

插件文件直接访问

通过 Go 原生 http.ServeFile 直接返回插件可访问范围内的文件,支持 Range 请求和 HTTP 缓存。

需要认证

此接口需要 Bearer Token 认证

路径参数 ​

参数类型必填说明
entryPathstring是插件入口标识
pathstring是文件路径

响应 ​

200 - 文件内容 ​

类型: file

206 - 部分文件内容(Range 请求) ​

类型: file

404 - 文件不存在或权限不足 ​

类型: string

内容类型 ​

  • 响应: application/octet-stream

GET /jsplugin/{entryPath}/static ​

插件 static 目录根(动态路由)

服务 static/index.html,是 handlePluginStatic 的「带 /static 后缀」变体。无需认证。

路径参数 ​

参数类型必填说明
entryPathstring是插件入口标识(运行时动态)

响应 ​

200 - 插件 index.html ​

类型: string

404 - 插件未安装或缺 static/index.html ​

类型: string

内容类型 ​

  • 响应: text/html

GET /jsplugin/{entryPath}/static/{path} ​

插件静态资源文件(动态路由)

从插件磁盘目录返回 CSS/JS/图片等静态资源;未命中且非 index.html 时 SPA fallback 到 index.html。无需认证。

路径参数 ​

参数类型必填说明
entryPathstring是插件入口标识(运行时动态)

响应 ​

200 - 静态资源文件内容 ​

类型: file

404 - 文件不存在且无 index.html fallback ​

类型: string

内容类型 ​

  • 响应: application/octet-stream