Package Exports
- @lobehub/market-sdk
- @lobehub/market-sdk/dist/index.mjs
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@lobehub/market-sdk) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@lobehub/market-sdk
LobeHub Market 的 JavaScript SDK,提供对插件市场 API 的简单访问。
特性
- 使用原生
fetchAPI,无外部依赖 - 支持 TypeScript,提供完整类型定义
- 简单易用的 API 设计
- 支持 ESM 模块
安装
npm install @lobehub/market-sdk用法
基本使用
import { MarketSDK } from '@lobehub/market-sdk';
// 创建 SDK 实例
const market = new MarketSDK({
// 可选配置
baseUrl: 'https://market.lobehub.com/api', // 默认值
defaultLocale: 'zh-CN', // 默认值
});
// 获取服务发现文档
const discovery = await market.getDiscoveryDocument();
console.log(discovery);
// 获取插件列表
const plugins = await market.getPluginList({
page: 1,
pageSize: 10,
category: 'tools',
sort: 'installCount',
order: 'desc',
});
console.log(plugins);
// 获取插件清单
const manifest = await market.getPluginManifest('lobehub/web-search');
console.log(manifest);认证
对于需要管理员权限的操作,需要提供认证令牌:
// 创建时提供 API Key
const market = new MarketSDK({
apiKey: 'your-api-key',
});
// 或者稍后设置
market.setAuthToken('your-api-key');
// 导入插件清单 (需要管理员权限)
const result = await market.importManifests([
{
id: 'my-plugin',
name: 'My Plugin',
version: '1.0.0',
description: '一个示例插件',
// 其他清单字段...
},
]);
console.log(result);API 参考
MarketSDK
主要的 SDK 类
构造函数
constructor(options?: MarketSDKOptions)参数:
options.baseUrl: API 基础 URL,默认为 'https://market.lobehub.com/api'options.defaultLocale: 默认语言,默认为 'zh-CN'options.apiKey: 可选的 API 认证密钥
方法
getDiscoveryDocument()
获取市场服务发现文档。
getPluginList(params)
获取插件列表。
参数:
params.page: 页码,默认为 1params.pageSize: 每页数量,默认为 20params.category: 按分类筛选params.tags: 按标签筛选 (逗号分隔)params.q: 搜索关键词params.sort: 排序字段 ('installCount', 'createdAt', 'updatedAt', 'ratingAverage')params.order: 排序方向 ('asc' 或 'desc')params.locale: 语言,默认为构造函数中设置的值
getPluginManifest(identifier, locale?, version?)
获取插件清单。
参数:
identifier: 插件标识符 (必填)locale: 语言,可选,默认为构造函数中设置的值version: 版本号,可选,默认获取最新版本
importManifests(manifests, ownerId?)
导入插件清单 (需要管理员权限)。
参数:
manifests: 插件清单数组ownerId: 所有者 ID (可选)
setAuthToken(token)
设置认证令牌。
clearAuthToken()
清除认证令牌。
类型
SDK 导出以下类型:
PluginTypeConnectionTypeInstallationMethodSystemDependencyConnectionConfigDeploymentOptionPluginCompatibilityPluginItemPluginListResponsePluginManifestDiscoveryDocumentMarketSDKOptions
兼容性
此SDK使用了原生fetch API,适用于:
- 现代浏览器
- Node.js 18+
- Deno
- Bun
- 其他支持fetch API的运行时
许可证
MIT