UStackUStack
openGyver icon

openGyver

openGyver 是基于 Go 的开源 CLI 工具,提供编码、哈希、格式化、校验与生成等命令;可独立运行或集成自动化与 AI 代理。

openGyver

openGyver 是什么?

openGyver 是一个基于 Go 的开源瑞士军刀式 CLI 工具,提供 47 个命令和 180+ 子命令,用于日常转换和实用功能。它涵盖编码/解码、哈希、文件格式化、校验、生成(例如密码、QR 码、UUID)和时间相关辅助等任务。

该项目设计为可在 Linux、macOS 和 Windows 上作为独立单二进制可执行文件运行,还可集成到自动化工作流中,如 CI/CD 管道、Shell 脚本和 AI 代理。

主要特性

  • 单二进制 Go CLI,支持 Linux、macOS 和 Windows 的零依赖分发,可在常见环境中运行相同工具。
  • 广泛的转换覆盖,包括单位与货币转换(9 类,38 种货币),以及常见格式的文件转换,涵盖音频、文档/电子表格、图像、视频、矢量图形、字体、演示文稿和 CAD。
  • 编码、哈希和校验和实用工具,包括 Base64/Base32/Base58/URL/HTML/hex/binary、ROT13 和 Morse,以及 MD5、SHA-1/SHA-2 变体和 HMAC/bcrypt 等哈希(列出的)。
  • 数据和格式工具,如 JSON 格式化/校验,以及 YAML/TOML/XML/CSV 转换,加上 HTML/XML/CSS/SQL 格式化/压缩和文件差异(文本/JSON/CSV)。
  • 生成命令,用于常见工件,如密码、API 密钥/机密、OTP、nanoid/snowflake/short ID、UUID v4/v6,以及 QR/条码创建(终端 ASCII 输出,以及 QR 的 PNG/SVG)。
  • 每个命令支持多种输出模式(特别是用于脚本的 JSON 输出、简化的单值输出,以及文件转换器抑制确认消息的静默模式)。

如何使用 openGyver

  1. 使用仓库中列出的选项之一安装:Homebrew(通过 tap)、Go install,或使用 go build 从源码构建。
  2. 根据任务从简单命令开始。项目示例包括单位转换(convert)、编码(encode)、哈希(hash)和生成(generate password)。
  3. 集成到脚本或自动化时,使用输出模式,如 --json/-j 获取结构化结果,以及 --quiet/-q 减少文件转换的交互消息。

使用场景

  • 在 Shell 中转换单位和货币:例如,openGyver convert 100 cm inopenGyver convert 100 usd eur 获取转换值。
  • 无需编写自定义脚本即可编码或哈希字符串:例如,openGyver encode base64 "hello world"openGyver hash sha256 "hello"
  • 生成标识符和安全相关测试数据:openGyver generate password --length 32 生成密码,openGyver uuid 生成随机 UUID v4,或 openGyver testdata person --count 5 -j 生成 JSON 格式的假记录。
  • 从命令行转换文档和电子表格:使用 convertFile 将 CSV/XLSX/MD/HTML/DOCX/PDF/PS 等格式转换为目标格式(支持 -o 输出和 -q 静默选项)。
  • 开发中校验和格式化标记/数据格式:运行 openGyver validate html --file index.htmlopenGyver json format(format/beautify/minify),或使用 diff(文本/JSON/CSV)比较文件以审查变更。

常见问题

  • openGyver 是否提供编译二进制文件? 仓库说明它使用 Go 构建,支持 Linux、macOS 和 Windows 的“零依赖、单二进制分发”。

  • 它可用于自动化和脚本吗? 可以。每个命令支持输出模式,包括 JSON 输出(--json/-j)和静默模式(--quiet/-q),适用于管道和脚本。

  • 如何安装? 页面列出了安装选项:Homebrew、Go(go install github.com/mj/opengyver@latest)以及使用 git clonego build 从源码构建。

  • 它能与 AI 工具/代理一起使用吗? 仓库提到 Claude Code 插件,可安装“原生 MCP 工具”,并指向插件市场配置,包括安装 opengyver 和重新加载插件的示例。

  • 它支持哪些种类的转换? README 列出了单位与货币转换命令,以及多种文件类型转换,包括音频、CAD、电子书、文档/电子表格、字体、图像、演示文稿、矢量和视频。

替代方案

  • 通用文件转换套件(例如,转换媒体和文档的命令行工具):这些工具在特定领域可能更全面,但 openGyver 定位为单一 CLI,涵盖转换以及编码/哈希/校验/生成工作流。
  • 基于脚本的转换方法(Shell 脚本或调用语言库的小程序):灵活,但通常需要组装多个工具并自行处理格式化/校验/输出;openGyver 将众多常见任务封装在单一命令接口下。
  • 其他专注于编码/哈希/格式化操作的 CLI 工具集:根据需求,它们可能仅覆盖子集(如仅编码/哈希),而 openGyver 涵盖转换、生成、校验及结构化输出模式。
  • 专用数据格式化/校验工具:它们可能针对单一格式更专业,而 openGyver 在单一 CLI 下提供多格式工作流,并支持 JSON/quiet 输出选项。
openGyver | UStack