@deltachat/stdio-rpc-server

中文文档
2.69.0发布于 2026/11/10MPL-2.0TypeScriptES Module零依赖构建来源已验证近 30 天下载 1.5万

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

中文使用文档
文档目录7 节
  1. 三角洲服务器 npm 软件包
  2. 使用量
  3. 在不支持的平台上如何使用
  4. 安装时如何操作
  5. 如何在CI中构建这个软件包
  6. 如何在主机上创建本地版本用于开发
  7. 感谢Nlnet

三角洲服务器 npm 软件包

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

使用量

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

npm i @deltachat/stdio-rpc-server @deltachat/jsonrpc-client
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 (中文(简体) ) (pr合并时TODO更改链接).

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

安装时如何操作

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

参考文献 :

当导入此软件包时, 它会在以下位置和顺序搜索 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供资,作为 德尔塔·陶里 项目.

版本与发布记录

@deltachat/stdio-rpc-server 共发布 142 个版本,首次发布于 2024/05/10;过去 12 个月发布了 41 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
2.69.0latest2026/11/101 天前
2.68.02026/11/056 天前
2.67.02026/11/039 天前
2.66.02026/10/2914 天前
2.65.02026/10/2320 天前
2.64.02026/10/2022 天前

关于 @deltachat/stdio-rpc-server 的常见问题

@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 和提交记录判断。