@elaraai/e3-cli

中文文档
1.0.107发布于 2026/11/13BUSL-1.1TypeScriptES Module构建来源已验证近 30 天下载 4584

东执行引擎 CLI - 用于管理 e3 寄存器和任务的指令行工具

中文使用文档
文档目录23 节
  1. 安装
  2. 图标
  3. 仓库
  4. 软件包
  5. 工作空间
  6. 数据集
  7. 记录
  8. 任务
  9. 数据流执行
  10. 临时任务执行
  11. 函数调用
  12. 观察/现场开发
  13. 认证
  14. 公用事业
  15. 默认寄存器
  16. 内部输入
  17. 从早期版本迁移
  18. 示例
  19. Claude 代码插件
  20. 许可证
  21. 生态系统
  22. 链接
  23. 关于埃拉拉

@elaraai/e3-cli (英语)

E3(东行引擎)的命令行界面.

安装

npm install -g @elaraai/e3-cli

图标

每一个命令 <repo> 接受本地路径或 http(s):// URL (中文(简体) ). 迁移是从参数形状中检测到的. 设定 E3_REPO 在省略时默认 repo 参数(如果位置是可选的).

仓库

e3 repo create <repo> [--exist-ok]   # Create a new repository
e3 repo status <repo>                # Show repository status
e3 repo remove <repo> [-r]           # Remove a repository (-r removes workspaces first)
e3 repo gc <repo> [--dry-run] [--keep-runs <n>] [--keep-days <d>]   # Remove old history and unreferenced objects
e3 repo list <server-url>            # List repositories on a server

repo gc 保留每个工作空间的最后10个运行(--keep-runs),每跑从 过去7天--keep-days) 运行其当前状态来自 他们使用的处决方式; 每次处决都服务于工作空间的现状 从,所以重新运行 保留缓存; 每一个执行 从过去7天。 这个 历史的其余部分,只有它保留了产出.

软件包

e3 package import <repo> <zip>            # Import package from .zip
e3 package export <repo> <pkg> <zip>      # Export package to .zip
e3 package list <repo>                    # List installed packages
e3 package remove <repo> <pkg>            # Remove a package

工作空间

e3 workspace create <repo> <name>                            # Create empty workspace
e3 workspace copy <repo> <from> <to>                         # Make <to> what <from> is now: made, or replaced whole
e3 workspace deploy <repo> <ws> <pkg>[@<ver>]                # Deploy a package
e3 workspace deploy <repo> <ws> --from-zip <path.zip>        # Import + create + deploy in one shot
e3 workspace deploy <repo> <ws> --from-source <file.ts>      # Bundle a TypeScript source into a package, then import + create + deploy
e3 workspace deploy <repo> <ws> … --skip-file-sources        # Leave `file`-source inputs unset
e3 workspace deploy <repo> <ws> … --functions <path...>      # Function manifests for East.importFunction packages built elsewhere
e3 workspace deploy <repo> <ws> … --schema <policy>          # A record that cannot be kept as it is: migrate (default), fail, or reset
e3 workspace deploy <repo> <ws> … --inputs <policy>          # An input someone set: reset (default) or keep-edited
e3 workspace deploy <repo> <ws> … --allow-drop-records       # Drop a record the package no longer declares, with its state and history
e3 workspace deploy <repo> <ws> … --plan                     # Say what the deploy would do to each record, index and input; write nothing
e3 workspace deploy <repo> <ws> … --quiet                    # Errors only: no progress
e3 workspace export <repo> <ws> <zip>                        # Export workspace as a package
e3 workspace list <repo>                                     # List workspaces
e3 workspace status <repo> <ws>                              # Detailed workspace status
e3 workspace remove <repo> <ws>                              # Remove a workspace

部署决定如何处理每个记录 之前它写任何东西。 这个 薄荷新纪录 $init 从其初始价值中承付(已申报记录) 没有一个未分配到 e3 seed 实施第一个状态 等待着它 其移徙已全部实施(包括: $deploy 执行时 软件包已更改),并运行一个工作空间尚未应用的迁移, a $migrate:<name> 各执一意. 一个没有迁移而改变类型的记录, 或其应用步骤 软件包的链 不是从开始,被拒绝, 套件也不再公布,除非 --allow-drop-records。 。 。 . --schema fail 没有迁移,而是拒绝; --schema reset 将这样的记录重置到软件包的初始值, 并带有 $reset 承诺,或送一个 宣布,没有人返回未指定. --plan 打印计划 写什么? 它从一个拉链或一个来源不进口任何东西:它读取 包从拉链的所在位置。 服务器只计划它持有的软件包,所以 拒绝: e3 package import ,然后按 名称.

每个输入都取取了新软件包的值,而一个人也会设定,除非 --inputs keep-edited,它保留它,而它的类型是新软件包的。 一个 其类型改变取取了新包的价值,部署说明原因. 一个 输入从文件中取出的新软件包取出其文件,一个软件包取出其文件 更长时间的宣布 部署打印其保存的每个输入、重排或投放,以及 --plan 打印每个输入的命运.

workspace copy 制造 <to> 工作空间 <from> 现在——它的一揽子和 每一个输入、记录和任务输出, 所以不需要再次运行—— 写入 仅参考数据,所以其成本跟随数据集的数量,从不考虑其大小. A 类 <to> 整个被替换, 运行随它而去, 并写到 要么之后离开另一个 原样。 在数据流动时被拒绝 运行在 <to> 部署、拆除或出口 <from>。 。 。 .

调用包的 file 本机的源, 本地 -j 时间 一个时间。 收集物由各接收单位接收 e3找不到东-c的东-北-北-东-北-东-北-北-东-北-北-东-北-东-北-北-东-北-东-北-北-东-北-北-东-北-北-北-东-北-北-东-北-北-东-北-北-北-北-北-北-东-北-北-东-北-北-北-北-东-北-北-北-北-北-北-北-北-东-北-东-北-北-东-北-东-北-东-北-北-东-北-北-东-北-北-北-东-北-北-北-北-北-北-北-北-北-北-北-北-北-北-北-北-北-北-北-北-北-北-北-北-北-北-北-北-北-北-北-北-东-东-北-东-北-北-北-东-东-东-东-东-东-东- 预算,而部署停止 部分方式再次从它的碎片 结束了。 部署说明它有多远了 每个文件打印一行 一旦达到:其大小、时间和速度,以及其采用的方式(例如:unchanged, already in the store, (中文(简体) ), taken in by east-c,或 carried 值为 而不是收藏品,为什么一个跑者第一次掉回另一个。 A 类 终端也为飞行中的文件保留了一条直播线,有它们的部件 利率和剩下的时间。 对一个服务器,部署线 说服务器的工作是什么; 然后一次上传几条,每条都打印一条线, 和航站楼的直播线路名称 那些飞行中的人: 每一条散列有多远, 那么服务器的承诺就是用它.

数据集

数据集路径使用平面窗体 <ws>.<name>CLI决定 <name> 自动对照投入和任务产出.

e3 dataset get <repo> <ws.name> [-f east|json|beast2]
e3 dataset set <repo> <ws.name> <file> [--type <spec>] [--type-file <path>]
e3 dataset set <repo> <ws.name> --from-file <path.beast2> [-j <n>] [--memory <size>]   # Take a beast2 file in as the value, as a deploy does
e3 dataset list <repo> <ws> [-l]                # List dataset paths (with -l for table view)
e3 dataset status <repo> <ws.name>              # Show one dataset's kind/type/status/size
e3 dataset find <repo> <ws> <pattern>           # Substring or glob (`*`, `?`) match across names

记录

记录只能通过它的变异来写 原始的 dataset set 一个是 被拒绝——和 -w 名称 。 读取状态 dataset get,像任何数据集.

e3 mutate <repo> <record.mutation> [args...] -w <ws> [-v]    # Apply a mutation; args are .east literals or .beast2/.json/.east files
e3 seed <repo> <record> <file.beast2> -w <ws> [-j <n>] [--memory <size>]   # Commit a record's first state from a beast2 file, as its $init (a record declared with no initial value; local repositories)
e3 history <repo> <record> -w <ws> [--limit <n>] [--from <hash>] [--delta]   # The commit chain, newest first (--delta: local repositories)
e3 reindex <repo> <record> -w <ws> [--index <name>]          # Rebuild an index from the record (every one by default)
e3 compact <repo> <record> -w <ws>                           # Collapse the history to a $compact root; the state is kept

任务

e3 task list <repo> <ws>                        # List tasks with execution status
e3 task logs <repo> <ws.task>                   # The last 200 lines of a task's logs (-n <lines> for more, --all for the whole log)
e3 task logs <repo> <ws.task> --follow          # Tail, then stream live output
e3 task logs <repo> --execution <taskHash>/<inputsHash>/<executionId>   # One execution's own log — a unit a split task's log names (local repositories)

数据流执行

e3 dataflow run <repo> <ws> [--filter <task>] [-j <n>] [--memory <size>] [--force | --force-task <task>...] [-v]

--filter <task> 执行一项任务,按其确切名称,并取决于任务 继续. --force 重新运行运行运行的每个任务, 即使缓存所在 结果; 下 --filter过滤器的任务. --force-task <task>, (中文(简体) ), 给定每个任务一次, 重新运行它命名的任务, 例如其平台的任务 函数更改或从外部 e3 读取数据; 下游任务在 它的输出总是会改变。 给双旗跑步,任务是 工作空间没有,或者有任务 --filter 拒绝离开之前 任何东西运行.

-j 编号 : --jobs <n> 财务报告和审定财务报表 --memory <size> 是运行程序的预算 e3 产卵. -j 其核心是: 飞行中的跑者一次,穿过 数据流的任务及其分割的任务的片段和合并单位(每个 跑步需要一个,先到先到,不管发射什么. --memory 实值 这些跑者之间可能保留记忆,因为 8G 或者说 512M他们 默认为 E3_JOBS 财务报告和审定财务报表 E3_MEMORY,除此之外,e3可以使用: 亲和面罩,以 cgroup 配额封顶,以及 cgroup 的 memory.max 否则 物理内存,减去e3和OS的储备.

一个分裂任务单位保留着一个阶段最大的峰值记忆 (它的棋子,或者它的合并的一等)在跑步中已经达到. 关于 Linux 和 当跑者一起通过时 警卫会阻止最先进的部队 预算,一旦有了空间,就再运行它 单位一次,每个任务保留 最后一个高峰,或者,第一次,什么 它最大的一行被解码 因为它的程序读取它们。 打开 Windows每个舞台单独运行第一个单元,然后出场. 任何其它东西都一文不值.

e3 watch, (中文(简体) ), e3 run, (中文(简体) ), e3 call, (中文(简体) ), e3 mutate, (中文(简体) ), e3 reindex 财务报告和审定财务报表 e3 workspace deploy 为本地寄存器、部署取同两面旗帜 采用 file 来源 -j 一次; e3 dataset set --from-file 财务报告和审定财务报表 e3 seed 带他们两个都去 在服务器上,CLI拒绝他们,因为 服务器根据自己的预算运行此工作( u)e3-api-server -j 编号 : --memory) (中文(简体) ).

本地运行的 per execution 抓取目录将在 数据库,下 <repo>/tmp/scratch - 在对象商店的文件系统中,所以 非收藏的输出通过链接而不是副本存储——或 下级 E3_SCRATCH_DIR 当它被设置。 死过程留下的抓取目录被删除 下次运行或 e3 repo gc。 。 。 .

-v 编号 : --verbose 转发 -v 给每个任务的跑者打印出一个时间/perf 块到任务日志( c)e3 task logs <repo> <ws.task>() —— 情况相同 东-节点,东-平和东-克. 这是一个运行时间 唯一的切换,永远不会影响 缓存( 缓存任务保留缓存; 添加) --force 以一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取一取. 还有 e3 run, (中文(简体) ), e3 call,以及 e3 mutate 地方和远程储存库 (远载为一 ?verbose=1 查询参数).

输入未设定的任务——输入从未设定,或已宣布的记录 没有初始值,其第一个状态尚未执行——留给 等待,下游的任务也是如此:运行的指纹 [WAIT] 页:1 每一个, 命名输入, 完成没有输入, 计数到下面 Waiting:, (中文(简体) ), 在输入设定后运行它们 在同一运行中, 当它设定时 跑道在飞行中.

成功运行后, CLI 打印任务输出路径, 这样您就可以直接读取 :

Summary:
  Executed: 2
  Cached:   0
  Failed:   0
  Skipped:  0
  Waiting:  0
  Duration: 412ms

Outputs:
  dev.greet  14 B
  dev.shout  16 B

临时任务执行

e3 run <repo> <pkg.task> <inputs...> -o <out>
e3 run <repo> <[email protected]> <in.beast2> -o <out.beast2> [--force] [-v] [-j <n>] [--memory <size>]

函数调用

e3 call <repo> <pkg.fn> [args...]            # Call by package: pkg.fn or [email protected]
e3 call <repo> -w <ws> <fn> [args...]        # Call the workspace's deployed package
e3 call <repo> -w <ws> <fn> @.inputs.sales 5 # Pass a dataset of the workspace
e3 call <repo> <pkg.fn> 2 3 -o sum.beast2    # Write the raw result to a file

参数是 .east 文字或路径 .beast2 编号 : .json 编号 : .east 文档, 对照函数的参数类型解析 。 与 -w,写下一个参数 @<keypath> 是工作空间的数据集:函数读取它的位置 保存在呼叫开始时的散列处,而不是发送副本 与电话。 无 -w 一个被拒绝。 呼叫触发数据流 向寄存器写入任何信息.

观察/现场开发

e3 watch <source.ts> <repo> <ws> [--start] [--schema <policy>] [--inputs <policy>] [-j <n>] [--memory <size>] [--abort-on-change] [--functions <path...>]

--schema 财务报告和审定财务报表 --inputs 部署情况(e3 workspace deploy; 记录 其类型在无迁移的情况下变化 停止表,命名 --schema=reset, (中文(简体) ), 并每个保存显示哪些输入 由谁设置它重排.

认证

e3 auth login <server>      # OAuth2 device-flow login
e3 auth logout <server>     # Clear saved credentials
e3 auth status              # List saved credentials
e3 auth token <server>      # Print access token (curl integration)
e3 auth whoami [server]     # Show current identity
curl -H "Authorization: Bearer $(e3 auth token https://example.com)" \
  https://example.com/api/repos/my-repo/status

公用事业

e3 convert [input] [--from <fmt>] [--to <fmt>] [-o <out>] [--type <spec>]
e3 completion install        # Detect your shell and wire up tab completion
e3 completion uninstall      # Undo the above
e3 completion {bash|zsh|fish}  # Print the raw script (manual install)

e3 completion install 是一发的装置,它探测到 $SHELL后缀 eval "$(e3 completion bash)" (或zsh/鱼等量)与你的rc文件相接,在重跑时为一等能. 覆盖检测方式 --shell <bash|zsh|fish>。 。 。 .

如果你宁可自己把它绑起来, e3 completion bash > /etc/bash_completion.d/e3 (并等同)工也.

完成脚本代表动态查找( 工作空间名称、 数据集路径、 软件包名称) 到隐藏 e3 __complete 处理者.

默认寄存器

当位置 <repo> 是可选的(每个以一个为第一个参数的命令,但 run, (中文(简体) ), call, (中文(简体) ), mutate, (中文(简体) ), seed, (中文(简体) ), history, (中文(简体) ), compact, (中文(简体) ), reindex 财务报告和审定财务报表 watch),该值按此顺序解决:

  1. 明确的立场论证.
  2. E3_REPO 环境变量.
  3. . (现行目录).

所以一旦你进入重案组, export E3_REPO=. 让您放弃领先 .数字 :

export E3_REPO=.
e3 dataset get dev.greet
e3 dataflow run dev

内部输入

@elaraai/e3-cli/internal 再出口该件 e3 二进制另一个 第一当事方二进制股份而不是重新执行: parseRepoLocation 编号 : defaultRepoArg (单位:千美元) <repo> 参数语法和 E3_REPO 优先级) 证书存储和设备流程登录 e3 auth (单位:千美元)getValidToken, (中文(简体) ), createAuthCommand,...),数据集路径解析器,进度报告器和 CLI 格式化器 . @elaraai/e3-ui-cli 挂载这些 e3-ui auth login 财务报告和审定财务报表 e3 auth login 代码和代码相同 ~/.e3/credentials.json。 。 。 .

它不是一个精密稳定的API——它存在于工作空间自己的二进制和一个 释放可能会重塑它。 应用代码应使用 @elaraai/e3-api-client (远地)或 @elaraai/e3-core (当地)取而代之.

从早期版本迁移

旧新设
e3 get <repo> <ws>.tasks.<name>.outpute3 dataset get <repo> <ws>.<name>
e3 set <repo> <ws>.inputs.<name>e3 dataset set <repo> <ws>.<name>
e3 list <repo>e3 workspace list <repo>
e3 list <repo> <ws>e3 dataset list <repo> <ws>
e3 status <repo> <path>e3 dataset status <repo> <path>
e3 logs <repo> <ws>e3 task list <repo> <ws>
e3 logs <repo> <ws>.<task>e3 task logs <repo> <ws>.<task>
e3 start <repo> <ws>e3 dataflow run <repo> <ws>
e3 login <server> 编号 : e3 logout <server>e3 auth login <server> 编号 : e3 auth logout <server>
e3 workspace import <repo> <ws> <zip>e3 workspace deploy <repo> <ws> --from-zip <zip>
e3 run <repo> <pkg>/<task>e3 run <repo> <pkg>.<task>
e3 watch <repo> <ws> <source>e3 watch <source> <repo> <ws>
--concurrency <n>, (中文(简体) ), --partition-concurrency <n>-j <n> 编号 : --jobs <n>

示例

# Create a repository, deploy a package, run the dataflow
e3 repo create ./my-project
e3 workspace deploy ./my-project dev --from-zip ./hello.zip
e3 dataset set ./my-project dev.name ./name.east
e3 dataflow run ./my-project dev

# Read the results
e3 dataset get ./my-project dev.greet

Claude 代码插件

东方生态系统也运载a 克劳德代码 插件 — East 语言技能, 实例搜索, 以及 East 代码的先发制人诊断 elaraai 市场:

# Inside Claude Code
/plugin marketplace add elaraai/east-workspace
/plugin install east@elaraai
# From a terminal
claude plugin marketplace add elaraai/east-workspace
claude plugin install east@elaraai

许可证

BSL 1.1. 见 利比里亚。 。 。 .

生态系统

  • 东: statical地打出,以表达为主的语言有可序列的IR. 运行跨 TypeScript, Python, C 等运行时间的可移植逻辑.

    • @elaraai/东边: 有类型系统、表达式和参考JS编译器的核心语言SDK
  • 东节点: Node.js 平台用于I/O,数据库和系统操作的功能.

  • 东 C: C11本土运行时间用于执行东IR. 通过npm(发射器+每个平面的可选依赖)进行分配,并在每个GitHub放出上作为tarball.

    • @elaraai/东-克-克利: npm 发射器 – 安装匹配的本地二进制作为可选依赖
    • east-c: Core 运行时间 – 类型系统,IR 解释器,内置,序列化(Beast2, JSON, CSV, East text)
    • east-c-std: 控制台、 文件系统、 获取、 加密、 时间、 路径、 随机
    • east-c-cli: 用于在本地运行 East IR 程序的 CLI
  • 东 Py: Python 运行时间,标准平台,I/O,以及数据科学平台功能. 发布至PyPI.

    • 东平: Core Python 运行时间——类型系统,IR编译器,212+内建,Cython加速热路
    • 东平-上: 控制台、 文件系统、 获取、 加密、 时间、 路径、 随机
    • 东比欧: SQLite, PostgreSQL, MySQL, MongoDB, Redis, S3, FTP, SFTP, XLSX, XML, 压缩
    • 东-平-克利: 用于在 Python 运行 East IR 程序的 CLI
    • 东平数据科学 (平价)+ @elaraai/东平数据科学 (npm):优化(MADS, Optuna, ALNS, GoogleOR),ML(XGBoost, LightGBM, NGBoost, PyTorch, Lightning, GP), 贝叶斯推论(PyMC),可解释性(SHAP),相通性预测(MAPIE)
  • 东方大学:已打入UI组件定义和React渲染器,外加VS代码预览.

  • e3——东行发动机: 大规模运行东方管线的持久执行引擎。 类似Git的内容可处理存储,自动记忆,反应数据流,实时监测.

关于埃拉拉

东方由 Elara AI Pty有限公司一个由AI驱动的平台 创造经济数字双胞胎 企业优化业绩。 Elara将业务目标、决定和数据结合起来,以帮助各组织在业务、采购、销售和客户参与以及项目和投资规划方面作出由数据驱动的决定。 东能给以埃拉拉解决方案的计算层,使得复杂的商业逻辑和数据能够以简单,类型安全和可移植的语言来表达.


开发者 Elara AI Pty有限公司。 。 。 .


开发者 Elara AI Pty有限公司

版本与发布记录

@elaraai/e3-cli 共发布 165 个版本,首次发布于 2025/12/12;过去 12 个月发布了 165 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.0.107latest2026/11/13今天
1.0.1062026/11/094 天前
1.0.1052026/11/085 天前
1.0.1042026/11/067 天前
1.0.1032026/11/049 天前
1.0.1022026/11/0310 天前

其他发布通道:alpha → 0.0.1-alpha.3,beta → 0.0.2-beta.54。

关于 @elaraai/e3-cli 的常见问题

@elaraai/e3-cli 是什么?

东执行引擎 CLI - 用于管理 e3 寄存器和任务的指令行工具

如何安装 @elaraai/e3-cli?

在项目目录运行 npm install @elaraai/e3-cli,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@elaraai/east(1.0.107)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。它还提供命令行工具 e3,可以用 npx e3 直接运行。

@elaraai/e3-cli 支持 TypeScript 吗?

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

@elaraai/e3-cli 支持 ESM 还是 CommonJS?

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

@elaraai/e3-cli 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.2.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@elaraai/e3-cli 可以商用吗?

@elaraai/e3-cli 使用 BUSL-1.1 许可。声明的许可为 BUSL-1.1,请阅读许可原文确认使用条件。以上为概括,不构成法律意见,请以许可原文为准。

@elaraai/e3-cli 的下载量有多少?

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

@elaraai/e3-cli 还在维护吗?

最新版本 1.0.107 发布于 2026/11/13(今天);至今共发布 165 个版本,其中过去 12 个月发布了 165 个;首次发布于 2025/12/12。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。