# @alwith/module-auth 中文文档

规范地址：https://npmcn.com/package/%40alwith/module-auth/

版本：0\.6\.0
npm 元数据更新时间：2026-11-03T14:47:01.819Z
中文译文更新时间：2026-11-06T08:07:52.795Z
软件包许可：SEE LICENSE IN LICENSE

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

原始 npm 页面：https://www.npmjs.com/package/%40alwith/module-auth
原文对照：https://npmcn.com/package/%40alwith/module-auth/?lang=original
项目主页：https://github.com/ALwith-ai/alwith-modules#readme
源码仓库：https://github.com/ALwith-ai/alwith-modules

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

- 包体积（解压后）：31.3 MB，871 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：13 个
- peer 依赖：react ^19\.3\.1，react-dom ^19\.3\.1，@alwith/api ^0\.6\.0，@tauri-apps/api ^3\.0\.0-alpha\.3，@alwith/module-chat ^0\.6\.0，@tauri-apps/plugin-os ^3\.0\.0-alpha\.3，@nyssance/codex-acp-v2 ^0\.7\.51，@agentclientprotocol/sdk ^2\.4\.0
- 首次发布：2026-09-17T05:25:28.307Z
- 最新版本发布：2026-11-03T14:47:01.386Z
- 近 30 天下载量：3974（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：23（近 12 个月 23 个）

## 中文简介

异能的TypeScript侧面,与其单独许可的Rust 箱子合用.

## 安装

```sh
npm install @alwith/module-auth
```

也可以使用：`pnpm add @alwith/module-auth`、`yarn add @alwith/module-auth`、`bun add @alwith/module-auth`

## README

# @alwith/module-auth (英语)

异能的TypeScript侧面,与其单独许可的Rust 箱子合用.

拥有现有的桌面认证类型、密码规则、OAuth PKCE/飞行核查员, 错误密钥映射,请求合同,状态生命周期和信使存储操作. 东道主供应现有 存储; 认证StoreName 保存认证。 名称空间。 托肯斯留在这 同一个商店,有相同的钥匙。 日志保存设备 id.

这不会将证书移动到 Rust, 替换 HTTP, 使登录页面 , 或执行交叉设备账户同步。 框架中立状态 工厂保存桌面的现有恢复、登录、登录和窗口活动 语义学;主机提供存储,HTTP,事件运输和产品效果. 桌面仍然拥有原生的OAuth回调,窗口,供应商加载和分析. U 消耗共享软件包; OAuth 调用仍为主机专用.

## 许可证和再分配

见 [自由主义](https://npmcn.com/package/%40alwith/module-auth/LICENSE) 财务报告和审定财务报表 [第三方通知](https://npmcn.com/package/%40alwith/module-auth/THIRD_PARTY_NOTICES.md)。 。 。 . ALWE拥有的代码是专有的,而不是开源的. 你可以建造,定制,主机, 收取和分发您自己的申请 许可证,不按申请登记。 不提供托管服务 单独分布的 Rust 库或运行时二进制的访问或权限. Npm文物包括汇编/缩小联合来文、申报和必要资产, 不是私人 TS/TSX 执行或源地图。 微分不是加密的 .

## Vibemon资产

`@alwith/module-auth/vibemon` 是一种框架独立的账户资产服务。 注入认证请求,账户身份和修订,存储,二进制资源IO,以及可被删除的下载. 它揭露了现有的目录,相册,绘图,先行访问,分数,选择和缓存合同. 选择是本地的,所有权根据服务核实。 资源缓存保存现有的目录和遗留账户目录, `config.json`,工作表名称和资源版本。 Persisted相册快照只支持离线演示;它们不授权新绘图或更改服务器所有权.

## Vibemon 行为和反应

气相门能力有三个独立的切入点:

-   `@alwith/module-auth/vibemon`:账户资产,选择,下载和缓存 IO. 无反应依赖.
-   `@alwith/module-auth/vibemon/core`:主机合同,状态机,会话绑定,图示配置和资源同步. 没有反应, CSS 或本地窗口执行 .
-   `@alwith/module-auth/vibemon/react`:平面中心,覆盖,快速回复和模式按钮. React和React DOM必须由主机提供.

导入 `@alwith/module-auth/vibemon/styles.css` 一次并装入翻译 `@alwith/module-auth/vibemon/locales`。包含 `node_modules/@alwith/module-auth/dist/vibemon` 在主机的 Tailwind 源扫描中。 相干图像、视频、字体和 图标 URL 由主机的 Vite 构建及其配置的基础路径释放 . 录像仍然是单独的档案;不需要公共目录.

主机注入账户资产、存储、会话观察和窗口动作 结束 `VibemonHost`原生窗口生命周期、面板、放置和拖放 这仍然是东道国的责任。 拖放承诺在鼠标释放后解决; uI 线程在拖曳时必须仍然可用以渲染动画框架 . 迅速回复确认接受;运行状态确定完成. 只有活过渡触发完成动画,而不是重放快照.

格式 1 资源下载自 `resource_url` 作为完整的 ZIP 包. 缓存保留 ZIP, 显示, 图像和动画一起, 并比较 格式、修订和源 URL 相对于新的 API 描述符,然后再使用. 路径、 SHA-256 散列、图像解码和动画边界在之前被验证 替换已安装的目录。 更新失败保留了上一个软件包; 缺少可选图像和动画使用静态占位符.

新鲜的加查池可以供应 `vibemon_resource_url`: 不变不变 URL重用一个经过验证的格式-1缓存而无需其他细节请求. 冷藏库, 已更改的 URL 和遗留资源仍在获取描述符以确定格式 和审校。 输入加载包括主机和希望图像,从而打开希望 不启动第二个装入屏幕. 绘制结果获取 `/api/v1/vibemons/{uuid}` 以获取完整包描述符。 格式 0和 缺少格式字段继续使用遗留的工作表资源.

可能提供主机 `resources.url` 直接服务缓存图像 `validateImage` 在安装前验证他们的平台解码器. `onResourceError` 报告更新失败,但没有丢弃现有资源.

遗留资产缓存存储布局,工作表身份和资源版本. 回放默认值 由 `createSpriteConfig` 在核心条目中. `spriteConfig` 保留 遗产 `config.json` 不重写的时间、收成、面部和行为覆盖 已有缓存。 存储密钥和账户缓存路径保持不变;选定的vibemon是 保存在 `vibemon` 领域 `vibemon.accounts`,所以在前字段名下保存的选项是 不读,而是再次被选中.

运行 `bun test src` 财务报告和审定财务报表 `bun check --no-script` 从这个包 在建设前. `bun run build` 发出精密的Java脚本和声明; `bun pm pack` 包含 这些产出、视觉资产和再分配通知.

### 经认证的 HTTP 运输

`createAuthTransport` (也可从下列网址获得) `@alwith/module-auth/transport`拥有 API 请求重试并刷新协调 。 供应 `baseUrl`, (中文(简体) ), `fetch`,则 结果 `createTokenStorage`, (中文(简体) ), `refresh(token)`,以及 `expired()` 这个应用程序. 接受请求 `/api/v1/` 路径; 通过 `authenticated = false` 登录和 校验码电话,所以他们不会发送存储的证书.

同时进行的认证失败共享一个刷新 。 延迟失败 已经用当前符号旋转了符号重试 。 只有刷新失败 `kind: "unauthorized"` 过期的证书; 临时失败保存登录 . 在替换或清理账户之前, **等待时 `transport.invalidate()`**,则 保存新证书或清除旧证书。 这等飞机上的信号 保存并阻止延迟刷新结果恢复上一个账户. 原生的刷新和app特定的过期副作用仍然由宿主提供.

### 原生刷新桥

Token 刷新运行在私有本地认证库中, 发送到此套件 `native/` 并和应用程序的其他模块库一起上演. 公开的Tauri插件就是箱子 `alwith-auth` ;没有认证执行并拥有 没有证书店.

```toml
alwith-auth = "0.6"
```

登记册 `.plugin(alwith_auth::init(Config { development_directory, vibemon: None }))` 添加 `alwith-auth:default` 在允许的窗口。 发展可以提供其已上演的本土 目录; 创建总是解析捆绑 `native` 文件夹。 捆绑 `createTauriAuthRefresh()` 从 `@alwith/module-auth/tauri` (电话) `commands.refreshTokens` 从 `@alwith/module-auth/commands`),然后通过 `refresh: token => refreshTokens(apiBaseUrl, token)` 改为 `createAuthTransport`一个被拒绝的刷新是 `NativeError` `{ code, message, kind, status? }`数字 : `code` 等于刷新出错类型(`unauthorized`, (中文(简体) ), `network`, (中文(简体) ), `timeout`, (中文(简体) ), `server`, (中文(简体) ), `parse`和 `kind` 被保存在旁边,所以 `error.code === "unauthorized"` 财务报告和审定财务报表 `error.kind === "unauthorized"` (一) 确定过期的全权证书; `status` 带有 HTTP 状态。 仅 `unauthorized` 过期登录 。 登录页面仍可替换应用程序源 .

没有网页视图刷新( 主机的背景工作持有存储刷新) 的 Rust 代码 (代号)电话 `alwith_auth::refresh_tokens(api_base_url, refresh_token).await`。 与命令共享序列式刷新及其再利用窗口, 并使用相同的编码失败 `NativeError` (单位:千美元)`error.code == "unauthorized"`, (中文(简体) ), `error.details["kind"]`) (中文(简体) ). 插件的设置 配置本地库目录; 外部调用 `alwith_native_client::configure_host` 先说.

## 默认桌面氛围

`@alwith/module-auth/vibemon/tauri` 提供共享桌面资源、窗口和会话主机。 配置 `VibemonApplication` 一旦每个网页视图使用应用程序的认证存储,现有的 Codex 客户端,运行时连接,账户扫描存储和导航回调. 在主窗口呼叫中 `initializeVibemonMain`; 使用 `updateMainVibemonSurface`。蝴蝶和泡沫窗口呼叫 `bootstrapVibemonWindow` 打开前 `VibemonWindow` 或者说 `VibemonQuickReply`。 。 。 .

在认证插件中启用相感元 `Config { vibemon: Some(VibemonOwner::new(owner)), .. }`时 `owner` 在每个 symemmon 请求前, 对照主机已有的运行时间验证当前执行所有者 。 Vibemon政策(窗口授权,验证,气泡演示,索赔,资源,下载)在私人本土库中运行;插件只执行窗口动作. 添加 `alwith-auth:vibemon` 主窗和相机窗,并捆绑 `vibemon.html` 财务报告和审定财务报表 `vibemon-bubble.html`。资源下载和IPC请求在不自动重复的情况下明显失败.

在项目创建时,账户整合是可选的。 空闲聊天项目略去此软件包, 本地认证, 其权限和 sympermon 入口; 模型提供者认证仍然独立 .

## 常见问题

### @alwith/module-auth 是什么？

异能的TypeScript侧面,与其单独许可的Rust 箱子合用\.

### 如何安装 @alwith/module-auth？

在项目目录运行 npm install @alwith/module-auth，或使用 pnpm add / yarn add / bun add。

### @alwith/module-auth 支持 TypeScript 吗？

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

### @alwith/module-auth 支持 ESM 还是 CommonJS？

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

### @alwith/module-auth 可以商用吗？

@alwith/module-auth 使用 SEE LICENSE IN LICENSE 许可。许可条款写在包内的独立文件中，请阅读该文件确认可否商用。以上为概括，不构成法律意见，请以许可原文为准。

### @alwith/module-auth 的下载量有多少？

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

### @alwith/module-auth 还在维护吗？

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

