# @dbx-tools/shared-genie 中文文档

规范地址：https://npmcn.com/package/%40dbx-tools/shared-genie/

版本：0\.9\.206
npm 元数据更新时间：2026-11-10T19:18:37.028Z
中文译文更新时间：2026-11-11T17:26:40.807Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40dbx-tools/shared-genie
原文对照：https://npmcn.com/package/%40dbx-tools/shared-genie/?lang=original
项目主页：https://github.com/reggie-db/dbx-tools#readme
源码仓库：https://github.com/reggie-db/dbx-tools

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：560 kB，22 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：2 个
- 首次发布：2026-07-17T16:16:32.634Z
- 最新版本发布：2026-11-10T19:18:36.654Z
- 近 30 天下载量：10100（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：358（近 12 个月 358 个）

## 中文简介

浏览器- 安全 Genie 计划、 事件词汇和快照 diff 助手

## 安装

```sh
npm install @dbx-tools/shared-genie
```

也可以使用：`pnpm add @dbx-tools/shared-genie`、`yarn add @dbx-tools/shared-genie`、`bun add @dbx-tools/shared-genie`

## README

# @dbx-工具/共享基因

验证 AI/BI Genie 电线有效载荷并从原始消息中得出 UI 事件 不导入 Databricks SDK 的快照。 使用浏览器安全计划, 事件词汇,以及客户端,路由和测试中的快取 diff 助手. 这个 给Genie打电话的节点驱动程序是 [@dbx-工具/基因](https://npmcn.com/package/node/genie)。 。 。 .

## 快开始

```ts
import { genieModel } from "@dbx-tools/shared-genie";

const response = genieModel.GenieResponseSchema.parse(await request.json());
```

将合同用于:

-   用于 Genie 消息、 响应、 空格、 附件和附件的运行时计划 状态,包括在活线上观察到的字段.
-   前置相容代理 Mode SSE 计划外加一个纯还原器 推理、 SQL、 Markdown 输出、 语句ID、 可视化元数据以及 终端状态进入 `GenieMessage`。 。 。 .
-   一个公寓 `GenieChatEvent` 用于思考的词汇SQL,行,结果,状态, 和错误渲染.
-   快照 diff 助手只发出新观察到的语义事件.
-   UI 显示逻辑的附件和状态助手 .
-   浏览器安全类型,使客户可以验证Genie 有效载荷而无需 捆绑 Databricks SDK运行时代码.
-   生成 Zod 为上游 SDK Dashboard/Genie 形状,所以 验证未加宽的 SDK 有效载荷也不需要 SDK 导入 .

## 在 AppKit 和共享基因类型之间选择

直接构建时使用 AppKit 的 Genie 插件和 UI 类型 本地的AppKit Genie路线。 需要浏览器安全时使用此软件包 独立于 AppKit 传输的事件词汇 :

-   验证从 Databricks SDK 中捕获的原始 Genie 信件 .
-   重放持续快照作为语义事件.
-   共享一个平面事件联盟 [@dbx-工具/基因](https://npmcn.com/package/node/genie), (中文(简体) ), [@dbx-tools/appkit-mastra (英语)](https://npmcn.com/package/node/appkit-mastra)客户端.
-   检测铁丝网上存在但没有的附属物和状态形状 在生成的 SDK 类型中方便.

## 验证信件快照

```ts
import { genieModel } from "@dbx-tools/shared-genie";

const message = genieModel.GenieMessageSchema.parse(rawMessage);
const attachments = genieModel.GenieResponseSchema.parse(rawMessage);
```

计程器扩展生成了 Databricks SDK Genie 类型,其字段观测在 线条,包括查询想法、可视化附件、附件 和序列化的空间数据.

## 处理打入的聊天事件

```ts
import { type GenieChatEvent } from "@dbx-tools/shared-genie";

function render(event: GenieChatEvent) {
  switch (event.type) {
    case "thinking":
      return showThought(event.thought_type, event.text);
    case "query":
      return showSql(event.sql);
    case "result":
      return markDone(event.status);
  }
}
```

活动联盟是平的:每个变体都有 `type` 加上它自己的田地和共享 位置字段,例如 `space_id`, (中文(简体) ), `conversation_id`,以及 `message_id`。 。 。 .

## 来自快照的衍生事件

```ts
import { event } from "@dbx-tools/shared-genie";

for (const evt of event.eventsFromMessage(current, previous, spaceId)) {
  render(evt);
}
```

使用 `eventsFromMessage()` 当重放时坚持 Genie 消息, 测试 UI 事件处理、分发代理模式或投票 `GenieMessage` 镜头进入 共享词汇,或构建自定义投票循环. 单个探测器是 还出口用于定向检查: `detectStatus`, (中文(简体) ), `detectThinking`, (中文(简体) ), `detectQuery`, (中文(简体) ), `detectRows`,以及其他特定事件帮助者.

## 具有地位和附属性的工作

```ts
import { genieModel } from "@dbx-tools/shared-genie";

export function describeMessage(input: unknown) {
  const message = genieModel.GenieMessageSchema.parse(input);
  const statusLabel = genieModel.isTerminalStatus(message.status)
    ? genieModel.humanizeStatus(message.status)
    : undefined;
  const attachmentType = genieModel.detectAttachmentType(message.attachments?.[0]);
  return { statusLabel, attachmentType };
}
```

`humanizeStatus()` 是共享的显示标签函数. `detectAttachmentType()` 让消费者打开 `query`, (中文(简体) ), `text`, (中文(简体) ), `suggested_questions`,或 `viz` 而不是测试可选的字段.

## 事件模式

事件检测器将当前 Genie 消息与上一个快照进行比较 从同一转弯。 这使得流出 UI 无法重报重复的想法 或查询片段,同时仍允许完整历史重放 留言。 消费者可以使用全 `eventsFromMessage()` 帮助者或个人 当测试需要证明一种特定行为时,探测器.

## 验证生成的 SDK 形状

`dashboards` 持有 由上游产生的Zod计划 `@databricks/sdk-experimental` 仪表板申报. 代码需要时导入 在SDK自身外形上验证原始 Databricks Genie/Dashboard有效载荷:

```ts
import { dashboards } from "@dbx-tools/shared-genie";

const space = dashboards.genieSpaceSchema.parse(rawSpace);
```

使用 `genieModel` 用于包括在Genie线上观察到的字段的图案。 使用 `dashboards` 只有在需要未扩展的 Databricks SDK 形状时 合同。 SDK是一个开发依赖,所以浏览器捆绑包括了Zod 但不是Databricks SDK运行时间.

## 软件包出口

-   `agentMode`: 前相兼容的 Zod 计划外加纯代理模式事件 减少和活/历史 `GenieMessage` 投影仪.
-   `genieModel`: 精灵计划、状态助手、附件助手和事件 工会计划/类型.
-   `event`:事件探测器工厂、个别探测器和 `eventsFromMessage()`。 。 。 .
-   `dashboards`: 生成、只读 Zod 计划以及推断类型 上游 SDK Dashboard/Genie 形状 `genieModel` 扩展.

这个软件包不给Genie打电话 管理证书 也不给自己说话 生命周期。 服务器侧流流在 [@dbx-工具/基因](https://npmcn.com/package/node/genie)。 。 。 .

## 常见问题

### @dbx-tools/shared-genie 是什么？

浏览器- 安全 Genie 计划、 事件词汇和快照 diff 助手

### 如何安装 @dbx-tools/shared-genie？

在项目目录运行 npm install @dbx-tools/shared-genie，或使用 pnpm add / yarn add / bun add。

### @dbx-tools/shared-genie 支持 TypeScript 吗？

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

### @dbx-tools/shared-genie 支持 ESM 还是 CommonJS？

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

### @dbx-tools/shared-genie 可以商用吗？

@dbx-tools/shared-genie 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @dbx-tools/shared-genie 的下载量有多少？

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

### @dbx-tools/shared-genie 还在维护吗？

最新版本 0\.9\.206 发布于 2026/11/11（今天）；至今共发布 358 个版本，其中过去 12 个月发布了 358 个；首次发布于 2026/07/18。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

