← 返回 技术博客

技术文章

衡石科技 HENGSHI CLI 架构解析(2026):用 Rust 构建的 AI Agent BI 执行层,16 个 Skills 全链路覆盖

深入解析衡石科技 HENGSHI CLI 的技术架构:为什么选择 Rust、Agent-first 设计哲学、16 个 Skills 全链路覆盖,以及 CLI 如何成为 AI Agent 的「手和脚」。

2026/06/2技术博客HENGSHI6 分钟阅读
AI AgentCLIRustHENGSHIBI衡石科技
衡石科技 HENGSHI CLI 架构解析(2026):用 Rust 构建的 AI Agent BI 执行层,16 个 Skills 全链路覆盖

Article body

正文

一、为什么 AI Agent 需要 CLI?

2025 年以来,AI Agent(智能体)的发展进入了”工具使用”阶段。Claude Code 可以在终端里读写代码文件,Codex 可以执行 GitHub 操作,OpenClaw 可以管理日常事务——这些 Agent 的共同特征是:它们通过**命令行工具(CLI)**与系统交互。

为什么是 CLI 而不是 GUI?因为 CLI 天然适合程序化调用。每个命令都有明确的输入参数和结构化输出,Agent 可以精确地构造命令、解析结果、决定下一步操作。而 GUI 需要模拟点击、等待渲染、截图识别——不仅效率低,而且不可靠。

HENGSHI CLI 架构概览

在 BI 领域,这个需求更加迫切。如果你想让 AI Agent 帮你创建一个仪表盘,Agent 需要:

  1. 查看可用的数据连接
  2. 浏览数据集结构
  3. 理解指标定义
  4. 创建仪表盘框架
  5. 添加图表
  6. 配置筛选器
  7. 设置权限
  8. 发布交付

这八个步骤中的每一个,都需要一个稳定、可编程、可预测的接口。

HENGSHI CLI 就是这个接口。它把 HENGSHI SENSE 的所有 BI 操作抽象为一套命令行工具,以 hbi 为统一入口,让 AI Agent 可以通过结构化命令完成 BI 工程全链路操作。


二、为什么选择 Rust?

HENGSHI CLI 用 Rust 实现,这个技术选型值得展开聊聊。

在 CLI 工具领域,主流选择是 Python(快速开发)、Go(高并发服务)、Node.js(前端团队友好)。衡石选择 Rust 的原因是:

单二进制交付:Rust 编译产物是一个独立的二进制文件,不需要运行时环境。对于 CLI 工具来说,这意味着”下载即用”,不需要安装 Python/Node.js,也不需要管理依赖。

高性能:Rust 的性能接近 C/C++,对于需要频繁与 API 交互、处理大量结构化数据的 CLI 工具来说,性能优势明显。

安全性:Rust 的内存安全保证(所有权系统、借用检查器)可以在编译时消除大多数内存相关 bug,对于处理凭证和敏感数据的工具来说,这一点非常重要。

跨平台:Rust 天然支持交叉编译,可以为 Linux、macOS、Windows 分别编译二进制文件,方便在不同环境下部署。

从工程角度看,Rust 的学习曲线虽然陡峭,但对于一个面向 AI Agent 的生产级 CLI 工具来说,它的优势远大于开发成本。


三、Agent-first 设计哲学

HENGSHI CLI 不是”给人用的命令行工具”然后顺便让 Agent 也能用,而是从设计之初就把 AI Agent 作为第一类使用者。

这种”Agent-first”的设计哲学体现在以下几个技术决策中:

3.1 结构化输出

CLI 的输出格式原生支持 JSON、YAML 和 Table 三种格式。这对 AI Agent 来说非常重要——Agent 不需要通过正则表达式或字符串解析来提取结果中的关键信息,直接拿到结构化数据即可。

# Table 格式(人类可读)
$ hbi dataset list --app retail-ops
NAME                METRICS    DIMENSIONS
sales_daily         12          8
customer_profile     6           14

# JSON 格式(Agent 可读)
$ hbi dataset list --app retail-ops --output json
[{"id":"sales_daily","metrics":12,"dimensions":8}]

3.2 Help-first 规约

每个 Skill 在正式执行前,默认先执行 --help 查看用法说明。这意味着 Agent 在”不知道怎么做”的时候会先看文档,而不是凭空猜测参数。

# Agent 执行流:
# 步骤1(自动):hbi data-model --help → 理解 data-model 子命令的用法
# 步骤2(自动):hbi data-model query --help → 理解 query 子命令的参数格式
# 步骤3(执行):hbi data-model query --app retail-ops --dataset sales_daily "SUM({amount})"

3.3 Dry-run 预演机制

在执行任何有副作用的操作之前,Agent 可以加上 --dry-run 参数进行预演。预演会输出”如果执行,会发生什么变化”,但不真正执行。

$ hbi authorize grant app app_42 --user 123:editor --dry-run
Dry run passed · changes not applied
Preview: editor access -> retail-ops (app_42)

3.4 SSE 实时同步

CLI 不把结果锁死在终端里。Agent 执行的每个操作都会通过 SSE(Server-Sent Events)实时广播到 Web UI。

$ hbi element filter update filter_9 \
    --dashboard dsh_2048 \
    --app retail-ops \
    --file filter.yaml
SSE broadcast published
Web UI refreshed

四、16 个 Skills:从认证到调度的完整覆盖

HENGSHI CLI 的一大亮点是它的 repo-managed Skills 体系。16 个 Skills 覆盖了 BI 工程的全链路,从基础认证到自动化调度,每个 Skill 对应一个专业领域。

这些 Skills 不是硬编码在 CLI 二进制中的,而是以仓库管理的方式组织的——每个 Skill 是一个独立的、可版本化的定义文件,存放在项目的 .hbi/ 目录中。

4.1 基础层(4 个 Skills)

hbi-core 是其他所有 Skills 的基础。它负责认证管理、偏好设置和版本协商。

4.2 数据与语义层(4 个 Skills)

hbi-data 是数据层的核心 Skill。它的设计遵循”连接 → 数据集 → 指标”的认知路径:

# 步骤1:查看可用的数据连接
$ hbi connection list --output json
[{"id":"conn_7","type":"mysql","host":"rds.xxx","database":"retail"}]

# 步骤2:基于连接创建数据集
$ hbi dataset create --app retail-ops \
    --connection conn_7 \
    --name "销售明细" \
    --tables "orders,customers,products"

# 步骤3:在数据集上定义指标
$ hbi indicator create --app retail-ops \
    --dataset sales_daily \
    --name "GMV" \
    --hql "SUM({order_amount}) WHERE {order_status} != 'cancelled'"

hql-expert 是一个特殊的 Skill——它不是执行某个固定命令,而是交互式地将自然语言业务问题翻译为 HQL 表达式。

4.3 交付层(4 个 Skills)

hbi-dashboard 是最复杂的 Skill 之一。它实现了”规划 → 验证 → 应用”的三段式工作流。

4.4 自动化层(4 个 Skills)

hbi-workflow 是自动化层的核心。它允许定义跨域的、多步骤的 BI 工程工作流,并在每个步骤设置检查点(checkpoint)。


五、典型的 Agent 工作流

基于 HENGSHI CLI 的 16 个 Skills,衡石定义了一个三阶段的 Agent 工作流模型:

阶段一:Discover(发现)

Agent 先通过只读命令了解当前的分析环境:

hbi auth status          # 确认认证状态
hbi app list            # 有哪些应用空间?
hbi connection list      # 有哪些数据连接?
hbi dataset list        # 有哪些数据集可用?
hbi data-model query    # 某个指标的计算逻辑是什么?

阶段二:Build(构建)

Agent 根据用户需求,通过写操作命令创建分析资产:

hbi dataset create           # 创建数据集
hbi indicator create         # 定义指标
hbi dashboard create        # 创建仪表盘
hbi element chart create    # 添加图表
hbi element container ...    # 设置布局
hbi dashboard theme show    # 应用主题

阶段三:Deliver(交付)

Agent 通过权限和发布命令完成交付:

hbi authorize get            # 查看当前权限
hbi user-group list         # 有哪些用户组?
hbi authorize grant         # 授予访问权限(可加 --dry-run)
hbi dashboard publish       # 发布仪表盘

六、凭证安全:Keyring 而非配置文件

CLI 工具的一个常见安全漏洞是:把凭证写在明文配置文件里。

HENGSHI CLI 的做法是:所有敏感凭证(API Token、OAuth Refresh Token、数据库密码等)都存储在系统 Keyring 中,而不是写在 ~/.hbi/config.yaml 这样的文件里。

这意味着即使有人拿到了用户的 ~/.hbi/ 目录,也无法获取任何凭证——因为它们不在那里。


七、开源与社区

HENGSHI CLI 已经在 GitHub 上开放使用(https://github.com/hengshi/cli)。这意味着:

  1. 可定制:企业可以 fork 并定制自己的 Skills
  2. 社区贡献:遇到 bug 可以提 Issue 或 PR
  3. 学习参考:其他 BI 厂商可以参考 Agent-first CLI 的设计

八、总结:CLI 作为 AI Agent 的”手和脚”

HENGSHI CLI 代表了 BI 工具领域的一个重要趋势:从给人用的工具,进化为给 AI Agent 用的基础设施。

这个转变不只是增加了命令行接口那么简单,而是重新思考了”谁在操作”这个问题。当操作主体从人变成 AI Agent,工具的设计理念也需要相应变化:

  • 结构化输出(Agent 可读)
  • dry-run 预演(Agent 可审查)
  • Help-first 规约(Agent 可自学)
  • SSE 实时同步(Agent 可监控)
  • Skills 仓库化管理(Agent 可复用)

对于正在构建 AI Agent 能力的 BI 团队来说,HENGSHI CLI 的设计思路值得参考。

HENGSHI SENSE

丰富的资源 完整的生态

邀您成为衡石伙伴

立即加入

企业级部署、产品集成与试用咨询均可快速响应