文档

快速开始

从源码构建 EdgeLinkd,用内置编辑器运行第一个流程,再以 headless 模式部署。

本指南从源码构建发布版二进制,带内置的 Node-RED 编辑器运行,然后介绍生产环境使用的 headless 部署方式。GitHub Releases 上也提供 Beta 版本的预编译包。

项目状态: EdgeLinkd 目前处于 beta 阶段,接口与行为可能在不同的 Beta 版本之间发生变化。

前置条件

  • Rust 1.88 或更高版本——通过 rustup 安装的稳定版工具链。
  • Git——仓库以子模块形式固定了 Node-RED 版本。
  • 仅 Windows——MSVC 工具链(Visual Studio Build Tools),以及位于 PATH 中的 patch.exe(随 Git for Windows 提供)。

1. 获取源码

git clone --recursive https://github.com/oldrev/edgelinkd.git
cd edgelinkd

如果克隆时没有加 --recursive,可以之后再拉取子模块:

git submodule update --init --recursive

2. 构建

cargo build --release

发布配置以体积为优化目标:opt-level = "z"、链接时优化、单个代码生成单元,并剥离符号。生成的二进制位于 target/release/edgelinkd。

支持的目标平台

目标三元组平台
x86_64-unknown-linux-gnuLinux,x86-64
aarch64-unknown-linux-gnuLinux,64 位 ARM
armv7-unknown-linux-gnueabihfLinux,ARMv7 硬浮点
armv7-unknown-linux-gnueabiLinux,ARMv7 软浮点
x86_64-pc-windows-msvcWindows,MSVC
x86_64-pc-windows-gnuWindows,MinGW

3. 带编辑器运行

./target/release/edgelinkd run

EdgeLinkd 会启动引擎,并在 http://127.0.0.1:1888 提供 Node-RED 编辑器。设计流程、点击部署,流程便立即运行在 Rust 运行时上——全程不需要另外安装 Node-RED。

运行指定的流程文件:

./target/release/edgelinkd run ./flows.json

若要从其他机器访问编辑器,可绑定到所有网卡:

./target/release/edgelinkd run ./flows.json --bind 0.0.0.0:1888

请只在可信网络中暴露编辑器及其管理 API。

4. 以 headless 模式部署

在生产设备上通常不需要 Web 服务:

./target/release/edgelinkd run ./flows.json --headless

headless 模式运行同样的流程,但不启动编辑器与管理 API——这是 EdgeLinkd 资源占用最小的运行方式。

命令行参考

edgelinkd [OPTIONS] [COMMAND]

命令:
  run [FLOWS_PATH]         运行 EdgeLinkd 流程引擎
      --headless           不启动 Web 服务
      --bind <ADDR>        Web 界面地址(默认 127.0.0.1:1888)
  list                     列出所有可用的节点类型

全局选项:
  -u, --user-dir <DIR>     使用指定的用户目录
      --home <DIR>         主目录(默认 ~/.edgelink)
      --env <ENV>          运行环境:dev | prod(默认 dev)
  -l, --log-path <FILE>    日志配置文件路径
  -v, --verbose <N>        输出详细程度,0 为静默(默认 2)

edgelinkd --help 与 edgelinkd run --help 会打印你所用构建的权威参数列表。

配置文件

EdgeLinkd 还会读取 edgelinkd.toml 配置文件。命令行参数优先于配置文件中的值;流程、设置与运行时数据保存在用户目录中。

下一步

  • 阅读架构概览,了解流程是如何执行的。
  • 迁移现有流程前,请先查看兼容性说明。