# @deltachat/stdio-rpc-server 中文文档

规范地址：https://npmcn.com/package/%40deltachat/stdio-rpc-server/

版本：2\.69\.0
npm 元数据更新时间：2026-11-10T00:47:21.098Z
中文译文更新时间：2026-11-11T21:53:32.282Z
软件包许可：MPL-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40deltachat/stdio-rpc-server
原文对照：https://npmcn.com/package/%40deltachat/stdio-rpc-server/?lang=original
项目主页：https://github.com/chatmail/core#readme
源码仓库：https://github.com/chatmail/core

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

- 包体积（解压后）：10.8 kB，6 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：@deltachat/jsonrpc-client \*
- 首次发布：2024-05-10T04:29:06.206Z
- 最新版本发布：2026-11-10T00:47:20.760Z
- 近 30 天下载量：15196（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：142（近 12 个月 41 个）

## 中文简介

这是后继者 `deltachat-node`,它不使用NAPI绑定,而是使用stdio可执行文件让你在jsonrpc和stdio上与核心交谈. 这简化了交叉编译,甚至还减少了二进制大小(没有CFFI层,也没有NAPI层).

## 安装

```sh
npm install @deltachat/stdio-rpc-server
```

也可以使用：`pnpm add @deltachat/stdio-rpc-server`、`yarn add @deltachat/stdio-rpc-server`、`bun add @deltachat/stdio-rpc-server`

## README

## 三角洲服务器 npm 软件包

这是后继者 `deltachat-node`, (中文(简体) ), 它不使用NAPI绑定,而是使用stdio可执行文件 让你和核心谈谈jsonrpc和stdio. 这简化了交叉编译,甚至还减少了二进制大小(没有CFFI层,也没有NAPI层).

## 使用量

> 这个 **最低** 此软件包的节点版本是 `16`

```
npm i @deltachat/stdio-rpc-server @deltachat/jsonrpc-client
```

```js
import { startDeltaChat } from "@deltachat/stdio-rpc-server";
import { C } from "@deltachat/jsonrpc-client";

async function main() {
    const dc = startDeltaChat("deltachat-data");
    console.log(await dc.rpc.getSystemInfo());
    dc.close()
}
main()
```

比较完整的例子是指 [https://github.com/deltachat-bot/echo/pul/69/files (中文(简体) )](https://github.com/deltachat-bot/echo/pull/69/files) (pr合并时TODO更改链接).

## 在不支持的平台上如何使用

## 安装时如何操作

国家防范机制在以下情况下自动安装依赖平台的可选依赖性: `os` 财务报告和审定财务报表 `cpu` 字段设置正确.

参考文献 :

-   [https://napi.rs/docs/deep-dive/release#3-the-native-addon- for-difficient-plapforms-is-diffied-通过-diffient-npm-packages 互联网档案馆的存檔,存档日期2013-12-12](https://napi.rs/docs/deep-dive/release#3-the-native-addon-for-different-platforms-is-distributed-through-different-npm-packages), (中文(简体) ), [网络存档版本](https://web.archive.org/web/20240309234250/https://napi.rs/docs/deep-dive/release#3-the-native-addon-for-different-platforms-is-distributed-through-different-npm-packages)
-   [https://docs.npmjs.com/cli/v6/configuring-npm/package-json#cpu (中文(简体) )](https://docs.npmjs.com/cli/v6/configuring-npm/package-json#cpu)
-   [https://docs.npmjs.com/cli/v6/configuring-npm/package-json#os (英语)](https://docs.npmjs.com/cli/v6/configuring-npm/package-json#os)

当导入此软件包时, 它会在以下位置和顺序搜索 rpc 服务器 :

1.  `DELTA_CHAT_RPC_SERVER` 环境变量
2.  当 `{takeVersionFromPATH: true}` 选项中提供.
3.  npm 包中的预建

因此默认它使用预建.

## 如何在CI中构建这个软件包

-   要建立平台软件包,请运行 `build_platform_package.py` 脚本 :
    
    ```
    python3 build_platform_package.py <cargo-target>
    # example
    python3 build_platform_package.py x86_64-apple-darwin
    ```
    
-   然后把它作为一件文物传递给出版主包的最后一个CI动作.
-   上传所有软件包 `deltachat-rpc-server/npm-package/platform_package`。 。 。 .
-   然后发布 `deltachat-rpc-server/npm-package`, (中文(简体) ),
    -   这将运行 `update_optional_dependencies_and_version.js` (单位:千美元) `prepack` 脚本, 将所有平台软件包输入 `optionalDependencies` 并更新 `version` 内 `package.json`

## 如何在主机上创建本地版本用于开发

您不能从本地安装上一节的 npm 数据包, 除非您在本地设置了 npm 注册簿, 您也可以上传它 。 这就是为什么我们有单独的脚本 使它工作的地方安装.

-   如果你只需要您的主机平台运行 `python scripts/make_local_dev_version.py`
-   说明:这清除了 `platform_package` 文件夹
-   (高级) 如果您需要多个本地安装平台, 您可以运行 `node scripts/update_optional_dependencies_and_version.js` 在建立多个平台之后 `build_platform_package.py`

## 感谢Nlnet

这套软件的初始工作由nlnet供资,作为 [德尔塔·陶里](https://nlnet.nl/project/DeltaTauri/) 项目.

## 常见问题

### @deltachat/stdio-rpc-server 是什么？

这是后继者 deltachat-node,它不使用NAPI绑定,而是使用stdio可执行文件让你在jsonrpc和stdio上与核心交谈\. 这简化了交叉编译,甚至还减少了二进制大小\(没有CFFI层,也没有NAPI层\)\.

### 如何安装 @deltachat/stdio-rpc-server？

在项目目录运行 npm install @deltachat/stdio-rpc-server，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@deltachat/jsonrpc-client（\*）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @deltachat/stdio-rpc-server 支持 TypeScript 吗？

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

### @deltachat/stdio-rpc-server 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @deltachat/stdio-rpc-server 可以商用吗？

@deltachat/stdio-rpc-server 使用 MPL-2\.0 许可。弱 Copyleft：可以商用，也可以和闭源代码一起使用；但如果分发时修改了 MPL 授权的文件，这些文件的修改需以 MPL 开源。以上为概括，不构成法律意见，请以许可原文为准。

### @deltachat/stdio-rpc-server 的下载量有多少？

根据 npm 官方下载统计，@deltachat/stdio-rpc-server 在 2026/10/12 – 2026/11/10 这 30 天内被下载 15,196 次，日均约 507 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @deltachat/stdio-rpc-server 还在维护吗？

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

