@dbx-tools/shared-model

中文文档
0.9.206发布于 2026/11/11Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 1.3万

Browser-safe model selection contract and classifier

原始使用文档
文档目录6 节
  1. Format model display names
  2. Validate a model lookup request
  3. Use classified endpoint catalogs
  4. Strip fields that Databricks rejects
  5. Runtime boundary
  6. Package exports

@dbx-tools/shared-model

Validate model lookups and ranked model responses in UIs, routes, tools, and tests without importing Databricks clients. Use the browser-safe model selection, capability, reasoning, and OpenAI Chat Completions contracts across client and server boundaries. Server-side normalization, classification, ranking, and fuzzy resolution live in @dbx-tools/model.

Format model display names

import { display } from "@dbx-tools/shared-model";

display.toModelDisplayName("databricks-claude-sonnet-4-6"); // "Claude Sonnet 4.6"
display.toModelDisplayName("system.ai.bge_large_en"); // "BGE Large En"
display.toModelDisplayName("x", "Claude 4.6 (Preview)"); // provided name wins

ServingEndpointSummary.displayName is the optional friendly label for the picker. name stays the invocation ID. A Databricks-provided name wins. Otherwise, the pure helper strips leading vendor prefixes and title-cases through @dbx-tools/shared-core's tokenizer.

The package also includes generated ModelClass, endpoint, query, status, profile, ranking, and reasoning-effort contracts, plus browser-safe OpenAI Chat Completions message and tool-call contracts.

Validate a model lookup request

import { model } from "@dbx-tools/shared-model";

const query = model.ModelQuerySchema.parse({
  search: "claude sonnet",
  modelClass: "chat-balanced",
  requiresTools: true,
  limit: 5,
});

Use model.ModelQuerySchema for route query/body validation and agent tool inputs. It keeps client model pickers and backend resolution endpoints on the same request shape.

Use classified endpoint catalogs

import { model } from "@dbx-tools/shared-model";

const fast = endpoints.filter((endpoint) => endpoint.class === model.ModelClass.ChatFast);
const agentModels = endpoints.filter((endpoint) => endpoint.supportsTools);

The server stamps class and capability fields before returning /models. Browser clients consume those fields directly. Model-family policy does not run in the browser.

Strip fields that Databricks rejects

import { openaiChat } from "@dbx-tools/shared-model";

const dropped = openaiChat.stripUnsupportedChatFields(body);

Databricks Model Serving validates Chat Completions bodies strictly. stripUnsupportedChatFields deletes known unsupported fields in place and returns the removed names so a caller can log the difference.

Runtime boundary

This package doesn't discover endpoints, read credentials, rank models, or send Model Serving requests. Use @dbx-tools/model for server-side model discovery and selection. Use @dbx-tools/shared-model-gateway for browser-safe model gateway responses and discovery clients.

Package exports

  • model: model classes, reasoning-effort schema, endpoint summaries, lookup requests, and ranked results.
  • display: human-readable endpoint labels.
  • openaiChat: Chat Completions message and tool-call types, content helpers, and rejected-field sanitization.

版本与发布记录

@dbx-tools/shared-model 共发布 364 个版本,首次发布于 2026/07/17;过去 12 个月发布了 364 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.9.206latest2026/11/11今天
0.9.2052026/11/111 天前
0.9.2042026/11/101 天前
0.9.2032026/11/074 天前
0.9.2022026/11/065 天前
0.9.2012026/11/056 天前

关于 @dbx-tools/shared-model 的常见问题

@dbx-tools/shared-model 是什么?

Browser-safe model selection contract and classifier

如何安装 @dbx-tools/shared-model?

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

@dbx-tools/shared-model 支持 TypeScript 吗?

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

@dbx-tools/shared-model 支持 ESM 还是 CommonJS?

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

@dbx-tools/shared-model 可以商用吗?

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

@dbx-tools/shared-model 的下载量有多少?

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

@dbx-tools/shared-model 还在维护吗?

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