npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@guandata/guanetl

v0.1.37

Published

观远 ETL 本地开发工具 - 拉取、编辑、导出、预览、保存 ETL

Readme

guanetl

观远 ETL 本地开发工具,支持拉取、编辑、导出、预览、保存 ETL。

本地安装(开发/测试阶段)

# 编译所有平台 binary(需要 Go 工具链)
npm run build

# 安装到本地 node global
npm link

安装后即可在终端使用:

guanetl edit <etl_id> --dir <work_dir>
guanetl export --dir <work_dir>
guanetl preview <node_id> --dir <work_dir>
guanetl preview <node_id> --dir <work_dir> --require-nonempty
guanetl save --dir <work_dir>

说明:npm 包名为 @guandata/guanetl,用户侧 CLI 命令统一为 guanetl

标准 ETL 写入闭环:create/edit → export → preview → save → run --wait。如果目标 ETL 依赖的智能 ETL 上游也需要刷新,可先用 guanetl run <etl_id> --run-upstream --dry-run 查看拓扑计划,再用 guanetl run <etl_id> --run-upstream 从最上游依次执行并等待完成。

多环境操作使用 GUANCLI_PROFILE=<profile> 固定当前进程链。写命令会先解析实际底层 CLI,再在 stderr 回显对应目标:guancli 显示 profile,guancli-lite 显示脱敏后的 GUANCLI_BASE_URL 主机,自定义 shim 不推测其环境语义。可先运行 GUANCLI_PROFILE=<profile> guancli auth status 核对环境名和 URL,不需要切换机器级默认 profile。

preview 返回 0 行时默认输出 warning 并保持兼容的成功退出码;自动化发布或要求输出必须有数据时使用 preview --require-nonempty,并仅在命令成功后继续 save

create 只申请 dataFlowId 并初始化本地工作区,首次 save 成功后才形成可被服务端 get/edit/move 查询和操作的完整 ETL。首次 save 时若服务端尚无 edit 基线,CLI 会输出 信息 [save.first_save_fallback] 并使用本地 base,这是正常路径。警告 [save.edit_fallback] 则表示其他 edit 读取故障后发生了兼容回退,需要检查网络、权限和本地基线。

触发成功 ≠ ETL 执行成功run 返回"执行已触发"仅表示后端接受了请求。使用 run --wait 等待终态,FAILED 时会展示真实错误消息;如果同一 ETL 已被级联触发并正在运行,run --wait 会通过当前 ETL 的最近执行信息恢复 taskId 并等待,不需要查询管理员级全局运行任务列表。触发前会检查直接上游数据集状态和服务端 JOIN 键类型;发现风险时先告警但继续执行,可分别用 --skip-upstream-check--skip-join-type-check 跳过检查。 run --run-upstream 会包含目标 ETL 本身,并对计划内每个 ETL 等待终态;任一上游执行失败时会停止后续节点。

新建 ETL 时注意目录树不同:create --parent-dir 使用 ETL 目录树 id,输出数据集目录使用 DATA_SET 目录树 id。可用 guancli etl tree / guancli ds tree 分别查询,或用 guanetl mkdir-pair 成对创建。guancli workflow tree 是工作流/经典数据流目录树,不能作为智能 ETL 的 create --parent-dir

移动已有 ETL 使用 guanetl move <etl_id> [etl_id...] --dir-id <etl_dir_id>;目标目录同样来自 guancli etl tree,可先加 --dry-run 查看请求体。

export 成功后会自动输出本地静态检查提示;previewsave 也会在远端调用前重新检查 _exported.json。其中 BasicCalculator 的每个 Formula 都应显式填写 Type,否则可能导致下游原生 GroupBy/Join 节点出现静态类型警告。JOIN 键两侧类型不一致时会提示隐式 coercion 风险;STRING 与数值类型 JOIN 时,纯数字字符串可能匹配,"001" 可能折叠后匹配数值 1,非数字值可能无法匹配,超长 ID 可能丢失精度,业务标识键应统一为 STRING。warning 不阻断执行,确定性 lint error 会在 preview/save 的远端调用前阻断;save --dry-run --format json 的 warning 只写 stderr,不污染 JSON stdout。

也可以为 AI Coding Assistant 安装 Skill:

guanetl install-skill

npm install -g --foreground-scripts @guandata/guanetl / npm link --foreground-scripts 会通过 postinstall 自动刷新 skill,并显示明确的成功、失败或跳过结果;上述 guanetl install-skill 仅用于失败后的手动修复或排查。CI 等无需 skill 的环境可设 GUAN_SKIP_INSTALL_SKILL=1 跳过。

安装包会通过 npm optionalDependencies 自动选择当前系统的原生二进制。不要使用 --omit=optionaloptional=false;企业 npm 镜像也需要同步对应的 @guandata/guanetl-<平台>-<架构> 包。若平台包缺失,CLI 会显示对应包名和重新安装方法。

版本更新

@guandata/guanetl 0.1.37

  • 安装时自动选择当前系统和架构的原生程序,减少下载量与磁盘占用,原有安装命令不变;离线安装也支持自动选包。

@guandata/guanetl 0.1.36

  • 同步本次发布的内部依赖更新,无用户可见行为变化。

@guandata/guanetl 0.1.35

  • 同步共享鉴权与环境识别更新,支持识别内部 OAuth2 应用认证环境。

@guandata/guanetl 0.1.34

  • 新建 ETL 要求指定目标目录并确认落位计划,完成后返回访问链接和存储路径。
  • 执行等待改为按 ETL ID 跟踪,移除旧的全局任务查询入口。
  • DSL 提供类型化枚举和常量;缺失或非法选项会在提交前明确失败。

@guandata/guanetl 0.1.33

  • 修复 Windows npm 全局安装场景下的 CLI 执行器定位问题。
  • 区分 CLI 身份与程序路径,提升 Profile 上下文和底层调用稳定性。

@guandata/guanetl 0.1.32

  • 同步底层运行时兼容性与稳定性更新。

@guandata/guanetl 0.1.31

  • 修复历史 ETL 节点 ID 含下划线时被导出校验误判的问题,已有任务可正常导出并继续编辑。

@guandata/guanetl 0.1.30

  • 新增只删除空目录的 rmdir,非空目录会列出阻塞资源并拒绝操作。
  • 导出校验失败不再污染本地元数据,dry-run 的资源名称和后续提示更准确。
  • 调度新增 cron 与 ETL 存在性预检,任务不存在会立即返回真实错误。
  • 结构化错误和非零退出状态更适合自动化流程判断。

@guandata/guanetl 0.1.29

  • ETL 调度配置适配受限网络代理,提升客户环境中的保存成功率。
  • 支持企业 OIDC 认证上下文,并同步升级底层请求兼容能力。

@guandata/guanetl 0.1.28

  • 改进 Skill 自动安装反馈和删除确认流程。
  • 优化 Windows 环境下的 CLI 启动兼容性。

@guandata/guanetl 0.1.27

  • 优化 ETL 首次运行后的输出校验,临时输出数据集完成生成后再进行字段检查,首次运行更稳定。
  • 增强输出字段注册与查询结果校验,减少首次运行时的误报和阻断。

@guandata/guanetl 0.1.26

  • 新增输出数据集落位校验,提升 ETL 保存和运行后的结果一致性。
  • 修复 ETL 编辑往返时配置丢失和输出绑定字段错位问题。
  • 保存影响报告补充字段级变更明细,便于了解具体调整内容。

@guandata/guanetl 0.1.25

  • ETL 已在运行时可直接跟踪当前任务,无需管理员级全局任务权限。
  • 执行完成后会核验新增输出字段是否已完成物化、注册并可查询,避免任务成功但字段不可用。
  • 预览输出会明确区分 CLI 展示行数与后端样本或数据集总量,减少对数据规模的误判。

@guandata/guanetl 0.1.24

  • ETL 预览支持一次选择多个节点,并按批次并行执行,复杂流程的检查效率更高。
  • 创建 ETL 后会直接显示可编辑的 etl.go 骨架,Agent 可立即继续编写和保存流程。
  • 优化大型目录树的查询指引,并更新底层依赖以提升安全性和运行稳定性。

@guandata/guanetl 0.1.23

  • ETL 写操作会准确提示实际目标环境,混合安装或切换环境时更容易确认操作位置。
  • 创建流程会明确区分本地工作区初始化和首次保存,避免把尚未保存误判为创建失败。

@guandata/guanetl 0.1.22

  • 增强受控 Agent 运行环境中的 ETL 脚本执行与文件交换,大型导出不再受小缓冲区限制。

@guandata/guanetl 0.1.21

  • JOIN 字段类型检查覆盖预览、保存和运行全过程,可提前发现字符串、数值、日期等类型不匹配风险。
  • 增强字段别名、计算字段和多级上游 ETL 的识别,复杂 ETL 保存与运行前的诊断更准确。
  • 优化多数据集结构读取效率,批量检查复杂 ETL 时等待更少。

@guandata/guanetl 0.1.20

  • save 会在同目录同名输出唯一匹配时自动恢复原输出节点 id 和 dsId,避免编辑已有 ETL 时误建新输出数据集。
  • 替换或移除已绑定输出默认阻断;确需替换时显式使用 --allow-output-replacement,并自行迁移下游 dsId 引用。
  • 预览结果为空时会明确提醒;自动化流程可要求必须返回数据后再继续保存。
  • 全局安装或升级后自动刷新 AI Skill,并随包提供完整使用说明和参考资料。

@guandata/guanetl 0.1.19

  • 新增 move 命令,支持将一个或多个智能 ETL 移动到指定 ETL 目录,并在接口异常时读回确认移动结果。
  • run 新增 --run-upstream 与配套 --dry-run,支持递归解析智能 ETL 上游链路、按拓扑顺序执行并等待每个节点完成。
  • run --wait 遇到同一 ETL 已在运行的 40001 响应时,会从当前 ETL 的最近执行信息恢复 taskId 并等待其完成,不依赖管理员级全局运行任务接口。
  • export 静态检查新增 JOIN 键类型不一致 warning,提示 STRING/LONG 等隐式 coercion 风险。

@guandata/guanetl 0.1.18

  • 创建 ETL 时目录类型诊断更清晰,会识别误用工作流/经典数据流目录的场景,并提示使用智能 ETL 目录。
  • 更新使用说明,明确智能 ETL、数据集输出目录和工作流目录的边界。

@guandata/guanetl 0.1.17

  • install-skill 适配 WorkBuddy 配置目录,提升本机编码助手安装兼容性。

@guandata/guanetl 0.1.16

  • save --dry-run 增加保存影响预览基础能力,帮助在提交前检查关键配置变化。
  • run 会在执行前提示上游数据集失败状态,降低基于异常上游继续执行的风险。
  • schedule 修复上游触发调度的默认输入处理,减少调度配置误差。
  • export / save 增强输入字段类型校验,并在 preview 中提示 LEFT JOIN 桥接列全空样本。

@guandata/guanetl 0.1.15

  • save 增强输出数据集保护,保留级联相关配置,并对追加写入场景的行数据结构提前校验。
  • 补充多输出数据集和追加写入保存流程说明,降低 ETL 保存时误改输出配置的风险。

@guandata/guanetl 0.1.14

  • 移除 delete 命令。ETL / 数据集删除属于高风险操作,后续不再通过 guanetl 暴露。
  • 修复 edit -> export -> save 保存已绑定输出数据集时,导出空 dataSource 覆盖服务端绑定并触发保存保护的问题。
  • run --wait 明确区分触发响应状态与最终执行结果,避免把触发任务的 FINISHED 误读为 ETL 执行成功。
  • 修复 ETL 导出与 merge 过程中部分节点字段丢失问题,并补充相关测试覆盖。

@guandata/guanetl 0.1.13

  • lint 增加字段 raw name 与 alias/displayName 疑似误用诊断,帮助识别 SQL/算子字段引用风险。
  • create / save 增加目录树类型 preflight,区分 ETL 目录和 DATA_SET 输出目录,并支持必要时跳过检查。
  • save 增加输出数据集绑定风险检查,提前拦截可能创建重名输出或输出数据集 rename 未同步的 payload。
  • export 成功后会输出静态检查提示,并补充 BasicCalculator / Formula.Expr 字段引用、类型和函数说明。

@guandata/guanetl 0.1.12

  • import 去掉对 guanetl-server 的依赖,改为基于 BI 数据集 schema 在本地生成 SQL。
  • 新增本地 SQL 生成与 schema provider 测试覆盖,提升 ETL 导入链路稳定性。
  • create / edit / import 路径适配新的本地导入链路。
  • install-skill 增加 WorkBuddy skill 安装路径支持。

0.1.11

  • 优化试用账号场景下的运行上下文识别,提升命令执行记录与问题排查的一致性。
  • 重新构建发布产物,纳入共享运行上下文处理更新。

卸载

npm unlink -g @guandata/guanetl

支持平台

  • macOS (Apple Silicon / Intel)
  • Windows (x64)

开发

# 编译所有平台 binary(需要 Go 工具链)
npm run build