@elaraai/e3-ui-cli

中文文档
1.0.107发布于 2026/11/13AGPL-3.0-or-laterTypeScriptES Module构建来源已验证近 30 天下载 3415

在终端浏览一个 e3 寄存器,并将 East- ui 组件转换为 PNG

中文使用文档
文档目录15 节
  1. 特征
  2. 安装
  3. 终端用户界面
  4. 截图
  5. 无头服务器 & CI
  6. 来源
  7. 程序化 API
  8. 发展
  9. 查询计划:一个单位对块
  10. 规模查询计划
  11. 文档
  12. 许可证
  13. 生态系统
  14. 链接
  15. 关于埃拉拉

e3- ui CLI

浏览终端中一个e3寄存器,并将 East-ui / e3-ui 组件渲染成 PNG .

License Node Version

e3- ui CLI 是两件事在一个命令。 没有子命令就是全屏 终端用户界面 超过一个 电子 3 存储器 —— 本地或远程 —— 显示工作空间的任务和数据集状态, 显示其数据流运行( 启动和取消, 并监视它们运行的预算) , 显示每个任务作为懒散的分页值树的输出, 显示其日志和运行历史, 可编辑输入, 以及记录 —— 他们的行, 通过任何索引, 以及承诺 。 与 shot 编号 : shots 它让 东方大学 函数返回 a UIComponentType ——到PNG图像使用无头铬,用于UI/UX评论自动化并生成截图. East-React渲染器被预先分解入包;组件在运行时被注入为数据,因此截图唯一运行时的依赖性是浏览器引擎,终端UI从不需要.

特征

  • 终端用户界面 (单位:千美元)e3-ui [repo] [workspace]:工作空间仪表板——在部署运行时,其文件来源及其步骤的记录—— /run 财务报告和审定财务报表 /stop 包含实时事件种子和调度器(使用的核心和内存、等待房间和重新排队的单位、每个任务的峰值内存),任务视图(一个页码值树 /find 财务报告和审定财务报表 /goto尾随而来,运行历史,a ui() 、可编辑输入,并带有承诺栏和冲突检测、记录(仅读取其行的视图,通过任何索引,以及其承诺)、一个完成、vim样式密钥和鼠标、远程存储器的命令框 e3 auth。 。 。 .
  • 组件截图: 制作一个 .ts编号 :.tsx 来源(--from-source)或序列化 .beast2编号 :.json IR (爱尔兰语)--from-ir给一个巴布亚新几内亚人.
  • 实时任务截图: 将一个已部署的e3 UI任务输出与真实的、已经计算的工作空间数据(--from-task) (中文(简体) ).
  • 自成一体: 渲染器(React + Chakra UI v3 + 完整组件集)被预分拆;在使用时没有应用服务器或构建步骤.
  • 符合e3-cli标准: 基于扩展格式的检测,带有 --from 覆盖, -o/--output,并安装了 TypeScript 载入.

安装

npm install -g @elaraai/e3-ui-cli   # small — downloads no browser
e3-ui ./my-repo                     # the terminal UI needs nothing else
e3-ui install-browser               # for screenshots: fetch the version-matched headless Chromium once

终端用户界面

e3-ui                                    # $E3_REPO, then the current directory
e3-ui ./my-repo main                     # a workspace's dashboard
e3-ui ./my-repo main --task forecast     # straight to a task (--input <name> for an input)
e3-ui https://e3.example.com/repos/demo  # remote — after: e3-ui auth login https://e3.example.com
e3-ui https://e3.example.com             # a bare origin: the repositories list
e3-ui --no-mouse --ascii ./my-repo       # keyboard only, box-drawing off (also E3_UI_ASCII=1)
e3-ui -j 8 --memory 16G ./my-repo        # the embedded server's budget, as for e3 dataflow run

本地寄存器由嵌入式服务 @elaraai/e3-api-server 会议费用由预算支付 -j 编号 : --memory 设置( 默认 ): E3_JOBS 编号 : E3_MEMORY,否则机器的; 远程的,用符号到达 e3-ui auth login 保存( 相同的设备流和 ~/.e3/credentials.json 存储为 e3 auth,所以两个登录都服务于两者). 每件事物都是一个屏幕——存储器,工作空间,工作空间的仪表板,一个任务(1 Output · 2 Stdout · 3 Stderr · 4 Runs附加时 5 Reads (单位:千美元) ui() 工作、输入、记录(1 State · 2 History)——带有 命令框 沿着底部 :

类型效果
/task <name> • 妇女 /input <name> • 妇女 /record <name> • 妇女 /workspace <name> • 妇女 /repo <path|url>打开; 没有纯文本 / 闪闪发光地跳到其中任何一个
/run [--force | --force-task <task>…] [--filter <task>] • 妇女 /stop开始/ 取消数据流( e)r 编号 : x 预填: --force 重新执行每一项任务, --force-task 它所命名的任务, --filter 以它所依赖的任务的确切名称进行一项任务; 头丸和执行面板跟踪它进行直播, 核心和内存是服务器的预算
/find <key> • 妇女 /goto <row|N%> • 妇女 /save [file]在数值树中:精确 "key"前缀或结构键字段 a|b; 跳; 写入 .beast2 字节
/index <name> • 妇女 /index primary记录中:页通过其索引之一(/find 然后搜索索引的密钥,或者再次搜索其行
e a x t • 妇女 ⏎ APPLY • 妇女 esc DISCARD输入中:编辑一叶,添加,去除,标记 / set;承诺栏将未决更改合并在一起
?帮助您访问的页面; q 辞职, esc 回头

钥匙是无害的(j k h l, (中文(简体) ), gg G, (中文(简体) ), ^u ^d),鼠标滚动,选择并拖动滚动条,终端在每个出站路径上被恢复. 在两端没有TTY(e3-ui | cat,CI)UI拒绝1出入口,并点数在: e3 workspace status 编号 : e3 dataset get 换句话说 状态( 最后一个寄存器和工作空间, 每个值树的扩展集) 生活于 $XDG_STATE_HOME/e3-ui/state.json (单位:千美元)E3_UI_STATE 覆盖; 模式 0600; E3_UI_DEBUG=1 写入 debug.log 旁边 60x16以下的应用拒绝;更窄的终端得到更紧的表格. 设计与模拟在 docs/tui/DESIGN_TUI.md。 。 。 .

截图

# A .tsx exporting an East function returning a UIComponentType:
e3-ui shot --from-source ./dashboard.tsx -o dashboard.png

# Pick one export, set a viewport, also emit standalone HTML:
e3-ui shot --from-source ./widgets.tsx --export statCard --viewport 800x600 --html

# Serialized component IR (e.g. produced by an e3 export):
e3-ui shot --from-ir ./component.beast2 -o component.png

# A live e3 UI task's rendered output (dataflow must have already run):
e3-ui shot --from-task main.dashboard --repo ./my-repo -o dashboard.png

CLI取决于 playwright-core (没有安装时间浏览器下载). e3-ui install-browser 获取 chromium-headless-shell 构建(~100 MB比完整的Chrimium,没有X11/D-Bus库)为共享剧作家缓存,版本与CLI相匹配. 在一个 新鲜 Linux 服务器,在同一步骤中添加OS库:

sudo e3-ui install-browser --with-deps   # Linux only; Windows/macOS need no system libraries

如果CLI已经找到一个系统安装的Chrome/Chrome/Edge, install-browser 可选的——发射命令是:

  1. E3_UI_CHROMIUM_PATH (或 PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH)——明确可执行的胜出.
  2. 剧作家管理的缓存( 什么 install-browser 填充; 荣誉 PLAYWRIGHT_BROWSERS_PATH) (中文(简体) ).
  3. A system Chrome / Chromium / Edge 在标准每个OS地点. 检测出Ubuntu的快取铬并跳过 - 其禁闭中断自动化;使用Google Chrome的 .deb 或者说 install-browser 换句话说.

在引擎盖下,CLI为其预建的渲染器启动一个被丢弃的本地网络服务器,向它发射无头铬,注入你的组件,并截取结果. Chromium运行 sandbox-off(玩家默认)——适合渲染可信赖的本地组件,为什么在服务器上作为root运行只是工作.

无头服务器 & CI

e3-ui doctor   # diagnoses the browser setup: env overrides, launch cascade, remediation
  • 与用户/代理共享一个浏览器缓存 PLAYWRIGHT_BROWSERS_PATH=/opt/pw-browsers (为两者设定) install-browser 财务报告和审定财务报表 shot) (中文(简体) ).
  • 重新设置/升级 CLI 可以移动到一个新的浏览器修订版——如果 shot 报告缺少可执行文件, 重新运行 e3-ui install-browser。 。 。 .
  • 嵌入器 : mcr.microsoft.com/playwright 图像在框外工作,或添加 e3-ui install-browser --with-deps 给自己的形象.

来源

1个截图动词,每个运行一个源(mirroring e3-cli's) --from-zip 编号 : --from-source:

来源说明
--from-source <file>A 类 .ts编号 :.tsx 组件源。 静态和 State- 仅生成组件,没有后端. 以节点代码运行文件及其导入 (像ts-node)——只指你信任的代码.
--from-ir <file>序列化组件 IR.beast2编号 :.json(三); - 从stdin读取.
--from-task <ws.task> --repo <repo>一个活的 e3 UI 任务输出与真实绑定数据( 通过) @elaraai/e3-api-client) (中文(简体) ). 工作空间数据流必须已经产生了任务输出.

e3-ui shot --help 列出所有旗帜( e)--export, (中文(简体) ), --output, (中文(简体) ), --html, (中文(简体) ), --viewport, (中文(简体) ), --dpr, (中文(简体) ), --full-page, (中文(简体) ), --element, (中文(简体) ), --wait, (中文(简体) ), --timeout, (中文(简体) ), --storage-key) (中文(简体) ).

--from-source 也接受导出 e3 的文件 ui() 任务(例如创建-e3) --ui 脚手架 src/ui/index.tsx)——任务存储组件功能被提供. 带有计算时间输入的任务不能独立化; 使用 --from-task 面对一个已经部署的工作空间.

程序化 API

import { renderToPng } from "@elaraai/e3-ui-cli";

await renderToPng({
    input: { path: "./dashboard.tsx" },
    output: "dashboard.png",
});

发展

make build, (中文(简体) ), make test, (中文(简体) ), make lint 从此目录。 见 MAKEFILE_TARGETS.md 全部目标列表。 浏览器应用在 app/ 捆绑到 dist/app 以 scripts/build-app.mjs 作为 make build. 终端UI 生活在 src/tui/ (一个墨子应用在减量器商店之上;每个视图都有一个帧光谱来对抗一个内膜API假;); E3_UI_INTEGRATION=1 make test 将集成烟雾运行在一个真正的嵌入式服务器和测试时播种的寄存器上,查询构建者的计划是,在它发现的每一个跑道上都有一个真正的e3——东-节点,在PATH上时是东-C(src/query-plans.spec.ts——及其等同性src/query-equivalence.spec.ts页:1.

查询计划:一个单位对块

src/query-equivalence.spec.ts 认为计划会改变一个查询的成本,绝不是答案(# 942). 东线的每个查询 检查共享固定的根 作为e3根, 每一个基准的问题, 规划者 分裂为一个一发呼叫 和作为一个分裂呼叫 在许多小块上(E3_TEST_PIECE_BYTES:答案是字节相等,圆形范围内的浮点数,在东-节点,东-c和东-py,位于 -j 1 财务报告和审定财务报表 -j 4,每块并合并后都会写出相同的字节. 数据是缩放的平面图 所以每个集合是数块 基准的生成器很小 它运行在每一个它发现的跑道上,所以把这棵树的东-C和东-平放在PATH上——从另一个放行的跑道上的跑道不需要讲这棵树的单位协议. e3 看起来像一个跑步在每一个 node_modules/.bin 和第一个 .venv 位于 PATH 之前的寄存器和工作目录之上, 所以一个检出器本身 node_modules/.bin/east-c在它内部的一棵工作树上,运行在 PATH 的前面: 两种光谱都为每个跑者命名文件 e3 运行,拒绝一个不是这棵树的构造.

cmake -S ../../../east-c -B ../../../east-c/build -DCMAKE_BUILD_TYPE=Release
cmake --build ../../../east-c/build --target east-c-cli -j
(cd ../../../east-py && uv venv && uv pip install scikit-build-core cython numpy setuptools ninja \
  && CMAKE_GENERATOR=Ninja uv sync --all-packages --no-build-isolation --reinstall-package elaraai-east-py)
mkdir -p /tmp/east-py-bin && ln -sf "$PWD/../../../east-py/.venv/bin/east-py" /tmp/east-py-bin/east-py
export PATH="$PWD/../../../east-c/build/packages/east-c-cli:/tmp/east-py-bin:$PWD/node_modules/.bin:$PATH"

npm run build
E3_UI_INTEGRATION=1 node --enable-source-maps --test-reporter=spec --test dist/query-equivalence.spec.js

规模查询计划

src/query-scale.spec.ts 是查询构建者分拨调用的基准( # 941, #1093, #942) make test 和CI跳过它。 它编写共享查询固定的种类的订单,种子,每发订单有10万客户和一发货;在它写时计算每个基准查询的答案;将其输入存储库;并按构建者的计划运行每个查询,每个被e3状态所权衡的数据集,其存储的字节和行——在东-C上进行分拨,或者将订单与装运的相接,两者都大于一分,重键相接的两分——在这个过程中通过e3-分数计算出每个基准查询的答案,一个服务器的天花板被抬高,每个执行被遗忘,首先持有对甲骨文的每一个答案. 它报告每个查询的时间,e3计划棋子和运行其单位的时间,棋子按每个核心顺序的工作,每个顺序使用的CPU及其跑取器,每个棋子的峰值和运行开始的负载;一个被重键接合的行是它的双调. 除了他们之外,它还报告规划者按其估计(#1143)为每个查询选择的路径,其中预算的核心是运行棋子,两个路径的估计和测量时间.

# east-c built Release from this tree, first on PATH — never the -O0 `make build`
cmake -S ../../../east-c -B ../../../east-c/build-release -DCMAKE_BUILD_TYPE=Release
cmake --build ../../../east-c/build-release --target east-c-cli -j
export PATH="$PWD/../../../east-c/build-release/packages/east-c-cli:$PATH"

make build
E3_QUERY_SCALE=1 E3_QUERY_SCALE_SIZES=1g,4g E3_QUERY_SCALE_DIR=/var/tmp/e3-query-scale \
  node --test-reporter=spec --test dist/query-scale.spec.js
变量默认
E3_QUERY_SCALE—— 说1 运行它
E3_QUERY_SCALE_SIZES100m100m, (中文(简体) ), 1g, (中文(简体) ), 4g, (中文(简体) ), 16g - 290个、29个、116个和4.63亿个订单,每个订单储存约36个B——或若干订单,以逗号分隔
E3_QUERY_SCALE_DIR$TMPDIR/e3-query-scale由于16克需要17克订单和1.1克发货——运货的载体和日数来自其订单的代号,因此它们储存在3 B以下的订单中——以及同样多地存放在存储库中
E3_QUERY_SCALE_QUERIES全部q1 总数, q2 总计4个, q3 按区域分列的收入(客户阅读全数), q4 不同的客户身份证, q5 (单位:千美元) reduce 顾客, q6 最大0.1%的身份证, q6t 相同的排序,前100 (这种类型的第一行保存在片中), q7 承运人的收入,货物合并(重新按键)
E3_QUERY_SCALE_RUNS1每个查询的冷运行
E3_QUERY_SCALE_ONE_SHOT—— 说1 并运行每个查询,如建设者在 E3_QUERY_SCALE_ONE_SHOT_MS (一万二千),并且每个选择都走在更快的道路上,或者在20%之内(# 1143)
E3_QUERY_SCALE_NOTE—— 说报告正上方的一行:

报告将文件 e3 用于East-c 及其提供的版本。 一定是第一个 east-c 在路径 : e3 显示在每张 node_modules/.bin 和第一个 .venv 在数据目录和工作目录上方,运行在对方持有时拒绝启动 east-c它将运行它,故从一个目录中运行它,上面没有一本目录 /var/tmp预算是E3自己的, E3_JOBS 财务报告和审定财务报表 E3_MEMORY 或进程可能使用什么。 每个表格均被打印并附后 report.md 在数据目录中,各行 report.jsonl。时间随机器运行的其他内容移动: 报告命名了每个呼叫开始的负载, 因此运行在静静的机器上, 并将运行进行反向比较; CPU / 命令( Linux, from /proc移动最少,因为等待核心的跑者没有用。 在cgroup内存限制下,它计算出文件缓存和飞行中的写作,写出一个大中间体的电话运行得更慢——16 GB的重键加盟在5 GiB范围取了541 s,在外取了312 s(# 1093)——所以在外取出一个.

文档

许可证

持有AGPL-3.0规定的双重许可证和商业许可证。 见 利比里亚。 。 。 .

生态系统

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

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

  • 东 C: C11本土运行时间用于执行东IR. 被压死 linux-x64 财务报告和审定财务报表 linux-arm64,附于每个 GitHub 发布.

    • east-c: Core 运行时间 — 类型系统, IR 解释器, 200+内置, 序列化( 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有限公司。 。 。 .

版本与发布记录

@elaraai/e3-ui-cli 共发布 80 个版本,首次发布于 2026/07/02;过去 12 个月发布了 80 个版本。最新版本附带 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 天前

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

@elaraai/e3-ui-cli 是什么?

在终端浏览一个 e3 寄存器,并将 East- ui 组件转换为 PNG

如何安装 @elaraai/e3-ui-cli?

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

@elaraai/e3-ui-cli 支持 TypeScript 吗?

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

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

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

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

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

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

@elaraai/e3-ui-cli 使用 AGPL-3.0-or-later 许可。最严格的 Copyleft:除分发外,通过网络向用户提供基于它的服务也需要开源对应源码。闭源 SaaS 使用前务必评估。以上为概括,不构成法律意见,请以许可原文为准。

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

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

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

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