# @inploi/sdk 中文文档

规范地址：https://npmcn.com/package/%40inploi/sdk/

版本：2\.4\.0
npm 元数据更新时间：2026-11-01T09:29:01.215Z
中文译文更新时间：2026-11-01T11:25:09.175Z
软件包许可：MIT

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40inploi/sdk
原文对照：https://npmcn.com/package/%40inploi/sdk/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：377 kB，9 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：3 个
- 首次发布：2023-10-09T16:19:05.292Z
- 最新版本发布：2026-11-01T09:29:01.019Z
- 已发布版本数：112（近 12 个月 23 个）

## 中文简介

这个包包含inploi SDK的核心功能。

## 安装

```sh
npm install @inploi/sdk
```

也可以使用：`pnpm add @inploi/sdk`、`yarn add @inploi/sdk`、`bun add @inploi/sdk`

## README

# @inploi / sdk

这个包包含inploi SDK的核心功能。

## 安装

```bash
npm install @inploi/sdk
```

> 2.0.0-2.1.4版本声明了private `github:inploi/talent-bank` 存储库作为运行时依赖项，所以 `npm install` 失败与 `git ls-remote … Permission denied` 除非环境可以进行身份验证 到inploi的GitHub组织（线性PROD-6970）。后来的版本将 在没有GitHub凭证的情况下从npm签约并安装Talent Bank。

## 使用

初始化SDK `initialiseSdk`：

```javascript
import { initialiseSdk } from '@inploi/sdk';

const sdk = initialiseSdk({
    publishableKey: 'your-publishable-key',
    env: 'sandbox',
});
```

## 插件

根导出 `saveSearchEndpoint`， `JobAlertsFilters` 和 `JOB_ALERT_FREQUENCIES` 用于共享的工作警报合同。小部件可以调用 `saveClosedRoleJobAlerts(rpcClient, { contact, job? })` 明确选择加入后； 它验证已知作业的标识，使用其可用的城市/城镇/类别作为 过滤和保存每周警报。查找失败将传播到调用方。 RPC响应在验证响应之前拒绝非成功HTTP状态码 模式，包括具有纯类型响应模式的端点。

可以编写自定义插件 `createPlugin` 函数。该插件将被注入两个依赖项 `logger` 服务和服务 `apiClient` 该服务可用于向inploi API发出请求。

例子:

```javascript
export const myCounterPlugin = createPlugin(({ logger, apiClient }) => {
    let count = 0;
    logger.info('myCounterPlugin initialised');

    return {
        add: () => {
            count++;
            logger.info(`count is now ${count}`);
        },
        getCount: () => count,
    };
});
```

## 外部依赖关系

如果你的插件需要外部依赖，你可能想要包装 `createPlugin` 函数，然后生成一个返回插件的函数：

```javascript
import { createPlugin } from '@inploi/sdk';

type CounterExternalDeps = {onUpdate: (newCounter: number) => void};

export const myCounterPlugin = ({onUpdate}: CounterExternalDeps) =>
  createPlugin(({ logger, apiClient }) => {
    let count = 0;
    logger.info('myCounterPlugin initialised');

    return {
      add: () => {
        count++;
        logger.info(`count is now ${count}`);
        onUpdate(count);
      },
      getCount: () => count,
    };
  });
```

## 使用插件

注册一个插件 `sdk.register`． 插件接收它声明的服务 返回的对象向调用者公开。

```javascript
const sdk = initialiseSdk({
    publishableKey: 'your-publishable-key',
    env: 'sandbox',
});

const simple = sdk.register(mySimplePlugin);

const myCounterPlugin = sdk.register(myPluginWithDeps({ onUpdate: newCounter => console.log(newCounter) }));

myCounterPlugin.add();
```

## 常见问题

### @inploi/sdk 是什么？

这个包包含inploi SDK的核心功能。

### 如何安装 @inploi/sdk？

在项目目录运行 npm install @inploi/sdk，或使用 pnpm add / yarn add / bun add。

### @inploi/sdk 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @inploi/sdk 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @inploi/sdk 可以商用吗？

@inploi/sdk 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @inploi/sdk 还在维护吗？

最新版本 2\.4\.0 发布于 2026/11/01（2 天前）；至今共发布 112 个版本，其中过去 12 个月发布了 23 个；首次发布于 2023/10/10。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

