@dexto/storage

中文文档
1.17.0发布于 2026/11/10TypeScriptES Module近 30 天下载 1.8万

Dexto 代理存储后端和配置方案

中文使用文档
文档目录3 节
  1. 此套件导出什么
  2. 在图像中使用助手
  3. 示马斯和 .passthrough()

@dexto/storage

选择构建图像的混凝土节点存储助手和配置方案 DextoStores 从本地后端.

核心项目@dexto/core)拥有打入的域名存储合同,例如 ConversationStore, (中文(简体) ), SessionStore, (中文(简体) ), MemoryStore, (中文(简体) ), ArtifactStore,以及 ToolStateStore。此软件包提供了节点 后端执行,图像执行可以使用内部来构成 a DextoStores 执行.

产品层(CLI/server/apps)可以在图像内使用这些助手,或者提供 本地语言 DextoStores 直接执行。 核心代码应该取决于打字店,而不是这些 后端助手课.

此套件导出什么

  • 示马斯 (用于配置解析 + UI):
    • 从 @dexto/storage/schemas 用于仅用于浏览器安全计划导出.
  • 具体执行 (节点运行时间):
    • LocalBlobStore, (中文(简体) ), MemoryBlobStore, (中文(简体) ), SQLiteStore, (中文(简体) ), PostgresStore, (中文(简体) ), RedisStore等 (中文(简体) ).

在图像中使用助手

import type { DextoImage } from '@dexto/agent-config';
import {
  BackendDextoStores,
  DatabaseBackedArtifactStore,
  DatabaseBackedSessionStore,
  // ...other typed store adapters
} from '@dexto/core/storage';
import {
  StorageSchema,
  LocalBlobStore,
  LocalBlobStoreSchema,
  SQLiteStore,
  SqliteDatabaseSchema,
  MemoryCacheStore,
} from '@dexto/storage';

export const myImage: DextoImage = {
  /* metadata/defaults/tools/hooks/compaction/logger ... */
  storage: {
    configSchema: StorageSchema,
    async createStores(config, logger) {
      const blobStore = new LocalBlobStore(LocalBlobStoreSchema.parse(config.blob), logger);
      const database = new SQLiteStore(SqliteDatabaseSchema.parse(config.database), logger);
      const cache = new MemoryCacheStore();

      return new BackendDextoStores(
        {
          sessions: new DatabaseBackedSessionStore(database, cache),
          artifacts: new DatabaseBackedArtifactStore(blobStore),
          // ...provide every DextoStoreMap domain
        },
        {
          async connect() {
            await cache.connect();
            await database.connect();
            await blobStore.connect();
          },
          async disconnect() {
            await Promise.all([cache.disconnect(), database.disconnect(), blobStore.disconnect()]);
          },
          isConnected() {
            return cache.isConnected() && database.isConnected() && blobStore.isConnected();
          },
        },
      );
    },
  },
};

示马斯和 .passthrough()

代理配置解析需要接受 自定义 后端带有提供者特定字段,所以 顶级存储配置图 信封 只有歧视者能证实:

storage:
  blob:
    type: local
    storePath: ./data/blobs
  database:
    type: sqlite
    path: ./data/agent.db
  cache:
    type: in-memory

这些信封的用法 .passthrough() 所以,额外的字段 幸存的初步剖析。 详细 校验在装入的图像内进行 storage.createStores(...) 执行.

版本与发布记录

@dexto/storage 共发布 85 个版本,首次发布于 2026/02/18;过去 12 个月发布了 85 个版本。

版本发布日期距今
1.17.0latest2026/11/102 天前
1.16.62026/11/093 天前
1.16.52026/11/093 天前
1.16.42026/11/093 天前
1.16.32026/11/093 天前
1.16.22026/11/093 天前

其他发布通道:next → 1.15.0-beta.4。

关于 @dexto/storage 的常见问题

@dexto/storage 是什么?

Dexto 代理存储后端和配置方案

如何安装 @dexto/storage?

在项目目录运行 npm install @dexto/storage,或使用 pnpm add / yarn add / bun add。

@dexto/storage 支持 TypeScript 吗?

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

@dexto/storage 支持 ESM 还是 CommonJS?

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

@dexto/storage 可以商用吗?

@dexto/storage 使用 未声明 许可。package.json 没有声明许可证。没有许可证的代码默认保留全部权利,商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括,不构成法律意见,请以许可原文为准。

@dexto/storage 的下载量有多少?

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

@dexto/storage 还在维护吗?

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