@seams/voiceid

中文文档
0.41.1发布于 2026/11/02Apache-2.0TypeScriptES Module构建来源已验证

可选的浏览器VoiceID认证为接缝钱包

中文使用文档
文档目录4 节
  1. 在应用程序中启用
  2. 配置签名挑战
  3. 在Wallet主机上安装
  4. 装载和储存

@seams / voiceid

可选浏览器的语音id认证 @seams/wallet 1.0.0. 这个包拥有麦克风捕获,注册,本地推理,语音UI, 以及模型/运行时资产。钱包SDK拥有托管,会话,签名, 和可信主机API。现有的语音登记保持其存储身份。

在应用程序中启用

安装匹配的Wallet和VoiceID版本,然后导入描述符:

pnpm add @seams/[email protected] @seams/[email protected]
import { defineSeamsConfig } from '@seams/wallet';
import { voiceIdAuthMethod } from '@seams/voiceid';

const config = defineSeamsConfig({
  walletOrigin,
  relayerUrl,
  publishableKey,
  authMethods: [voiceIdAuthMethod({ transcriptionModel: 'citrinet' })],
});

选择 transcriptionModel: 'aurora' 对于较小的语音模型。Citrinet是 省略此选项时的默认值。这种选择适用于入学, 解锁,以及交易审批。每个操作始终保持其选择的模型 准备和记录。

语音模式未压缩的Gzip
Citrinet INT810.48 MB8.84 MB
极光INT81.34 MB1.02 MB

这两种型号都附带了这个包。浏览器只下载选中的 语音模型,加上共享说话人模型,语音检测器和推理 引擎。每个模型都有自己的完整性检查缓存。改变演讲方式 模型保留保存的说话人样本和验证阈值。

根条目只包含描述符。导入它或启用它则不需要 加载捕获代码、ONNX运行时或模型。开始选择VoiceID操作 在可信钱包框架中加载。Passkey和Email OTP流保持独立。

可选 VoiceBeam 和 VoiceAssistantCard 视觉效果是从 @seams/voiceid/react。进口 @seams/voiceid/styles 使用信用卡时。

配置签名挑战

通过 voiceId.confirmationCommand 在 options 一个现有的审查NEAR 或EVM签名请求:

const options = {
  voiceId: {
    confirmationCommand: 'Sell 100 NEAR for USDC at $5.5',
  },
};

钱包选择一个简短的仅限操作的挑战,例如“批准此销售” 或者“让这笔交易完成吧。”它省略了金额、资产和价格 口语短语。完整的交易审查仍然具有权威性。

引导动词选择短语族: sell, buy, swap,或者 send/transfer。其他措辞使用默认的随机挑战。命令 非空字符串,不含控制字符,不超过256个字符。 应用程序无法提供最终短语或更改验证阈值。 重试,选择所选家族中的不同短语。

此选项仅更改措辞。对于不支持的,它不启用VoiceID 交易或解释交易命令。VoiceID目前支持审核 在NEAR测试网和Arc测试网上进行本地传输。批准仍然与 完成签名请求和审查截止日期,包括提供的命令。 注册和解锁保留默认短语库。这不会增加任何模型或API 请求并将音频保存在Wallet iframe中。

在Wallet主机上安装

钱包主机操作员也必须安装这个包。应用配置不能 提供可执行代码或选择插件URL。一个普通 @seams/wallet 部署 不包含VoiceID实现、引擎或模型。

从两个已安装的包组成一个单独的部署目录:

npx --no-install seams-voiceid-host ./wallet-with-voiceid

该命令自动查找已安装的钱包包,包括pnpm布局。 输出目录必须是新的,并且与已安装的包树分开。 服务于 /wallet-service, /sdk/*,以及来自钱包源的清单文件。 该命令保留了普通的Wallet包并扩展了现有的资产 清单与 /sdk/voiceid/*.

组成特定钱包构建的节点部署可以直接调用该操作:

import { composeVoiceIdWalletAssets } from '@seams/voiceid/hosting';

await composeVoiceIdWalletAssets({
  walletPublicDirectory: './node_modules/@seams/wallet/dist/public',
  outputDirectory: './wallet-with-voiceid',
});

主机负载 /sdk/voiceid/host.js 仅用于启用的VoiceID操作。双方 检查主机API版本。缺少的包将产生显式安装 错误。它不能退回到其他身份验证方法。

装载和储存

一个累计指标涵盖了发动机WASM和三种车型。然后显示 准备VoiceID…… 直到推理准备好。检查下载的资源 长度和SHA-256使用前。浏览器缓存保留是最好的方法。

中断的下载会自动重试一次。下载停滞超时 30秒后没有进展。进一步的失败表明 重新加载 在 相同的卡片。Retry保留已验证的资产和语音注册。将卡片关闭到 选择一个密码。缺失或不兼容的主机包需要 运营商解决;其他模块故障包括连接和重新加载指令。

事务审查在启用前准备VoiceID 请输入VoiceID确认. 点击后,语音尝试计时器开始计时。事务的到期仍然存在 加载或重试时生效,因此过期的事务需要重新审查。

VoiceID记住这个浏览器中可用音频所用的麦克风。招生, 即使在系统默认值更改时,也可以解锁和签名输入请求。 如果不可用,VoiceID可以使用当前默认值。重新连接保存的文件 麦克风恢复它。中断的录音需要重新尝试。的声音 登记和验证阈值保持不变。 选择 使用系统麦克风 在重试提示中切换输入。接下来的 记录点击使用系统默认值,并在可用音频后记住它。

传输压缩前的冷有效载荷在Aurora或 36 MB的Citrinet。 拆分它可以从仅钱包安装中删除该负载。事实并非如此 减少第一个VoiceID操作所需的字节。

使用 公共语音指南 用于注册、解锁、转移审批和存储行为。 看到 实现注意事项 用于代码边界和注册存储。

版本与发布记录

@seams/voiceid 共发布 18 个版本,首次发布于 2026/10/27;过去 12 个月发布了 18 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.41.1latest2026/11/021 天前
0.41.02026/11/011 天前
0.40.02026/11/012 天前
0.39.02026/11/012 天前
0.37.02026/11/012 天前
0.36.02026/10/312 天前

关于 @seams/voiceid 的常见问题

@seams/voiceid 是什么?

可选的浏览器VoiceID认证为接缝钱包

如何安装 @seams/voiceid?

在项目目录运行 npm install @seams/voiceid,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@seams/wallet(0.41.1)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。它还提供命令行工具 seams-voiceid-host,可以用 npx seams-voiceid-host 直接运行。

@seams/voiceid 支持 TypeScript 吗?

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

@seams/voiceid 支持 ESM 还是 CommonJS?

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

@seams/voiceid 可以商用吗?

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

@seams/voiceid 还在维护吗?

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