Back to Nodes

@ohos-ports/n8n-n8n-nodes-langchain

v2.40.3-beta.1
Last updated Oct 29, 2026

![Banner image](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)

47 Weekly Downloads
325 Monthly Downloads

Description

ohos-ports

项目介绍

ohos-ports 致力于将 npm 生态中的三方库移植到 OpenHarmony(以下简称鸿蒙)平台。

项目采用 ports 模式——仓库中只维护补丁和构建脚本,不存储完整源码。当前 Node.js 运行时已经支持鸿蒙系统,大部分纯 JS 的 npm 包可直接运行,但使用 native addon 的包需要针对鸿蒙重新编译。理想情况下应直接向上游社区提 PR 支持鸿蒙,本项目则承载那些短期内无法合入上游、但社区又有迫切使用需求的包。

适配后的包统一发布到 npm 中心仓的 @ohos-ports scope 下,构建产物以社区版 OpenHarmony 为目标,通常也兼容 HarmonyOS 商用版本。

📦 已发布的包

当前 ports/ 目录下维护的包(CI 流水线发布):


| 包名 | 版本 | 安装 |
|——|——|——|
| @ohos-ports/better-sqlite3 | 13.0.3 | npm i @ohos-ports/better-sqlite3 |
| @ohos-ports/bufferutil | 4.1.0-2 | npm i @ohos-ports/bufferutil |
| @ohos-ports/bun-pty | 0.4.10-2 | npm i @ohos-ports/bun-pty |
| @ohos-ports/chrome-devtools-mcp | 1.7.0-beta.1 | npm i @ohos-ports/chrome-devtools-mcp |
| @ohos-ports/lightningcss | 1.33.0-1 | npm i @ohos-ports/lightningcss |
| @ohos-ports/mermaid-cli | 11.16.0 | npm i @ohos-ports/mermaid-cli |
| @ohos-ports/opentui-core | 0.5.3 | npm i @ohos-ports/opentui-core |
| @ohos-ports/oxlint-tsgolint | 7.0.2001-beta.0 | npm i @ohos-ports/oxlint-tsgolint |
| @ohos-ports/pprof | 5.0.0-beta.2 | npm i @ohos-ports/pprof |
| @ohos-ports/puppeteer | 25.6.0-beta.0 | npm i @ohos-ports/puppeteer |
| @ohos-ports/resvg-js | 2.6.2 | npm i @ohos-ports/resvg-js |
| @ohos-ports/tailwindcss-oxide | 4.3.3-beta.1 | npm i @ohos-ports/tailwindcss-oxide |

> 以上表格由 python3 docs/update-packages.py 自动生成,请勿手动编辑。

完整的 @ohos-ports 包列表(含本地发布的 Beta 包)请通过在线查询页查看。

端到端运作流程

本项目采用 npm 分阶段发布(staged publishing)机制,CI 通过 NPM_TOKEN 认证执行 npm stage publish,发布后需维护者在 npmjs.com 上 2FA 审核通过后包才正式上线。

阶段一:适配开发(贡献者操作)

1. 在 ports/<包名>/<版本>/ 目录下创建:

   patchs/
   └── 0001-xxx.patch    # 鸿蒙适配补丁
   build.sh               # 构建脚本
   publish.sh             # 发布脚本
   

2. 本地或容器中执行 build.sh 验证构建
3. 本地 npm install + 验证 require/import 可正常加载
4. 提交 PR 到主仓

阶段二:CI 自动构建和发布(GitHub Actions 自动执行)

PR 合入主仓后,CI 自动触发:

1. 检测 ports/ 下变更的目录
2. 执行 build.sh 构建原生 addon
3. 执行 publish.sh → npm stage publish(通过 NPM_TOKEN 认证)
4. 维护者在 npmjs.com 审核通过(2FA)后,包正式上线

贡献指南

1. Fork 仓库

Fork 本仓库,在个人仓的 Settings → Actions 中启用工作流。

2. 准备构建环境

本项目的 CI 基于 OpenHarmony ARM64 容器运行。本地开发建议使用相同环境:

  • 鸿蒙电脑(推荐)
  • 或 DockerHarmony 容器(arm 服务器为佳)
  • 构建过程中通常需要从 GitHub 下载源码,注意网络连通性。

    3. 编写适配脚本

    参考 ports/bufferutil/4.1.0/ 的结构,在 ports/<包名>/<版本>/ 下创建以下文件:

    #### 目录结构

    ports/<包名>/<版本>/
    ├── patchs/
    │   └── 0001-update-package-json.patch   # 修改包名、仓库地址等
    ├── build.sh                              # 构建脚本(需可执行权限)
    └── publish.sh                            # 发布脚本(需可执行权限)
    

    #### patchs/ — 鸿蒙适配补丁

    补丁用于将原始包的 package.json 中的 name 改为 @ohos-ports/<包名>,并更新仓库地址等信息。示例:

    --- a/package.json
    +++ b/package.json
    @@ -1,5 +1,5 @@
     {
    
  • "name": "bufferutil",
  • + "name": "@ohos-ports/bufferutil", "version": "4.1.0",

    #### build.sh — 构建脚本

    构建脚本负责下载源码、应用补丁、编译原生 addon、合并多平台预构建产物。典型流程:

    #!/bin/sh
    set -e

    1. 下载上游源码

    curl -fsSL https://github.com///archive/refs/tags/v.tar.gz -o -.tar.gz tar -zxf -.tar.gz rm -.tar.gz cd -

    2. 应用补丁

    patch -p1 < ../patchs/0001-update-package-json.patch

    3. 编译原生 addon(生成 prebuilds/-/@ohos-ports+.node)

    npm install npm run prebuild

    4. 从官方 npm 包复制其他平台的预构建产物

    cd .. curl -fsSL https://registry.npmjs.org//-/-.tgz -o -.tgz tar -zxf -.tgz rm -.tgz

    cp -r package/prebuilds/* -/prebuilds/ rm -rf package

    5. 重命名其他平台的 .node 文件为 scoped 格式

    prebuildify 已自动为当前平台生成 @ohos-ports+.node,无需处理

    其他平台的文件需手动重命名

    cd -/prebuilds mv darwin-arm64/.node darwin-arm64/@ohos-ports+.node

    ... 其他平台同理

    #### publish.sh — 发布脚本

    发布脚本通过 npm stage publish --provenance 进行分阶段发布,--provenance 生成来源证明,CI 中通过 NPM_TOKEN 认证:

    #!/bin/sh
    set -e

    cd - npm stage publish --provenance --tag latest --access public

    > stage 后包不会自动上线,需维护者在 npmjs.com 上 2FA 审核通过后正式发布。

    5. 本地构建和验证

    以下两种方式任选其一:

    方式一:通过容器构建

    启动鸿蒙容器

    docker pull ghcr.io/hqzing/dockerharmony:latest docker run -itd --name=ohos ghcr.io/hqzing/dockerharmony:latest

    将仓库复制到容器中

    docker cp ohos-ports ohos:/root

    进入容器

    docker exec -it ohos sh

    准备环境

    cd /root/ohos-ports source setup-tools.sh source setup-env.sh

    构建

    cd ports/<包名>/<版本> ./build.sh

    方式二:通过个人 Fork 仓的 GitHub Actions 调试

    将代码推送到个人 Fork 仓,CI 会自动触发构建。在 Actions 页面观察 build.sh 的执行日志,确认构建是否通过。publish.sh 因缺少 NPM_TOKEN 会失败,属正常行为。

    > 构建后需验证包是否可用:新建一个测试项目,npm install 构建产物,确认能正常 require/import。

    6. 提交 PR

    将 PR 提到本仓库。PR 合入后,CI 会自动触发构建和发布。

    注意事项

    1. 根目录的 setup-tools.sh 和 setup-env.sh 可支撑常规构建环境配置。深度场景可自行在 build.sh 中编写环境配置命令。
    2. 适配过程要注意兼容性,请勿破坏包在其他 OS 上的行为。
    3. 发布软件包时建议使用 x.y.z-1、x.y.z-2 等修订版本号,便于在不改变 semver 版本的情况下迭代补丁。
    4. 尊重他人知识产权,改包时请勿改动原有的作者和开源许可证信息。

    鸣谢

    本项目的构建和 CI 流水线基于 DockerHarmony 提供的 OpenHarmony 容器环境,感谢该项目为鸿蒙原生编译提供的标准化基础设施。

    项目治理

  • 本仓库中的包主要供临时使用,当包正式被上游官方接纳后,维护者会将其从本仓库中移除
  • 若有问题咨询求助,可联系项目维护者:[email protected]
From our network Other tools and sites we build