@12-apps/desktop-shell

中文文档
1.3.0发布于 2026/11/04MITES Module零依赖构建来源已验证近 30 天下载 3.2万

桌面 AGENT 的可重复使用的一半: 背景 Electron app, 指向主机自己的网页签名( 无第二个认证路径) , 从托盘上继续工作, 每个窗口都关闭, 并且从 Windows 、 macOS 和 Linu 的机器开始

中文使用文档
文档目录7 节
  1. 问题解决
  2. 塑造一切的规则:没有第二条路可签
  3. 表面
  4. 两个事实,一个字
  5. 崩溃、更新和发布
  6. 它没有文字
  7. 收 养

@ 12- apps/ desktop- shell

背景桌面的可重用部分 代理人: 标志的电动app 与主机本身的网络登录页面相对应, 继续与每个窗口合作 关闭,然后从Windows,macOS和Linux上的机器开始.

pnpm add @12-apps/desktop-shell electron

问题解决

有些工作不能通过标签完成,列表短而固执:

  • 到达商店本身网络上的设备(打印机、比例尺、抽屉);
  • 无对话框打印;
  • 关闭浏览器时继续运行;
  • 机器开始.

需要这些产品中的任何一种 都会产生一个小的桌面伴奏。 那个 伴侣每次约90%相同——签入,签入,持入 连接,做工作,活下来, 说它是如何走在一个托盘图标——和 剩下的10%是应用程序的全部点。 这个包裹是90%.

塑造一切的规则:没有第二条路可签

桌面应用程序不能收集密码 。 产品一出现就 两个 认证路径:网络一——费率限制,关闭,电子邮件 校验、 OAuth 按钮、 密码重置、 每种语言的复制 在本地窗口中的文本字段没有这些字段,永远不会保留 与第一个水平.

所以,壳打开 主机自己的登录页面 在窗口和监视器中 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}会话饼干降落 网上添加的提供者可供 同一日的代理,而且本套件中根本没有证书处理: grep -ri password src/ 任何回报都不是无常.

   tray icon ─┐
              ├─ sign-in window ──▶ the host's /sign-in page ──▶ cookie
   the work ──┘                                                   │
        ▲                                                         │
        └──────────── net.fetch bound to the same partition ◀──────┘

表面

导出这是什么
@12-apps/desktop-shell托盘绘制的状态( E)deriveShellStatus以及保持背景工作的主管。 纯一.
…/autostart横跨三个平台的"从机器开始"——一个在macOS/Windows上的登录项目,一个XDG .desktop 在 Linux 上的文件.
…/session饼干手表, 本地签注 guardSession 401移动了托盘 403没有.
…/telemetry崩溃报告显示崩溃的寿命超过:会话标记,面包屑,磁盘队列,和丢失运行 / 崩溃/ 安装失败检测. 纯一.
…/updates自相残杀 electron-updater数字 : createUpdateManager, (中文(简体) ), createAutoInstall, (中文(简体) ), updateBanner, (中文(简体) ), createMenuGate,并带有“帮助”下更新器的菜单栏(buildAppMenu, (中文(简体) ), updateText. 纯.
…/electron适配器:单实例,托盘,窗口-隐藏-永远不关闭,背景开始, startDesktopShell, (中文(简体) ), startCrashReporting, (中文(简体) ), updaterFileLogger, (中文(简体) ), sessionCookieReader, (中文(简体) ), installAppMenu 财务报告和审定财务报表 wireUpdates (更新器通过一个安装路径加入了菜单,窗口条,面包屑和自动安装).
…/server网络主机半: serveDesktopAsset 编号 : serveNamedDesktopAsset (磁盘先是,然后通过主机的存储端口进行预先签名的重定向;通道) .yml 流; 编码为 404 否则), platformFor,以及崩溃报告摄入量—— desktopReportSchema (zod,可选的同级), describeDesktopReport, (中文(简体) ), createReportBudget。仅节点.
选项 desktop-shell-upload-release将放出的文件放入S3相容的桶中, 任何CI 跑者都配有节点—— 不 aws 二进制.

除了所有东西 …/electron 财务报告和审定财务报表 …/server 无框架,在平地节点测试中运行—— 自动启动引用和地位排名如何在 没有显示的机器.

两个事实,一个字

一个会话和一个活链接分别失败并单独恢复. 一个特工 他们被粉碎了,不能告诉别人要修理,所以他们 被分开跟踪 deriveShellStatus 就是他们变成一个词的地方.

排名为 接下来怎么办,不严重:失踪 会话排序超过一个已丢弃的链接( 链接是结果) 和本地错误 排序高于链接(链接自行恢复;故障不恢复).

degraded 不是一个错误。 意思是现场连线断了 主持人的 倒计时的民意调查正在推动这项工作——速度较慢,没有中断。 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}一个讨厌的主持人 有人过来 degraded 让他们为重新连接而烦恼.

崩溃、更新和发布

一个托盘程序失败了,没有人在寻找, 每一个修复它会 否则,一个电话。 所以,包裹 也携带三件事 使一种剂能够从远处维护:

  • 遥测. startCrashReporting() 开始时写一个会话标记 在一个干净的退出上删除它。 留下的标记只报告为坠机 当 Crashpad 写了一个垃圾箱在运行中—— Windows 关闭也留下一个, 没有垃圾。 重新启动以重新安装 报告为 install-failed 但只有两件 在要求重启几分钟后:在Windows上,旧的二进制可以来 在安装器关闭并启动新设备之前, 返回几秒钟 版本,然后按计划读取重新启动,不报告 (FUT-3309) (中文(简体) ). 报表队列 磁盘和 flush(send) 通过东道主拥有的路线运送; a 不更改的 4xx 被丢弃, 而不是屏蔽队列 .
  • 最新进展. createUpdateManager 每天检查一次,每次主机检查一次 询问, 在背景中下载, 绝不允许跳过检查覆盖 一个版本已经下载或准备就绪。 宿主传出 autoUpdater (本软件包不依赖于 electron-updater) 和答案 (中文(简体) ) settings() 使用开关和种子 URL 检查 - null 设置时 未完成 。 一个有闸门的种子得到会话作为 Cookie 页眉通过 sessionCookieReader. macOS报告 unsupported: S. 麦克拒绝 下载后未签名更新 .
  • 释出. desktop-shell-upload-release <key-prefix> <file>... 上传 与 @aws-sdk/client-s3 作为缓冲器,对象是 字节换字节文件大小 。 报告并跳过缺少的文件;否 配置的桶是带有注释的 0 出口 .

它没有文字

没有一句话,在任何语言。 托盘菜单、工具提示、窗口标题和 启动列表条目全部是副本,副本是主机的——所以 TrayCopy 是一个 所需包装和 ShellState.fault 是一个 代码没有留言 读者 这里有一个店主, 而字是大部分的产品.

收 养

见 采用.md。 。 。 .

版本与发布记录

@12-apps/desktop-shell 共发布 8 个版本,首次发布于 2026/09/23;过去 12 个月发布了 8 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.3.0latest2026/11/042 天前
1.2.12026/10/1027 天前
1.2.02026/09/261 个月前
1.1.02026/09/261 个月前
1.0.32026/09/241 个月前
1.0.22026/09/231 个月前

关于 @12-apps/desktop-shell 的常见问题

@12-apps/desktop-shell 是什么?

桌面 AGENT 的可重复使用的一半: 背景 Electron app, 指向主机自己的网页签名( 无第二个认证路径) , 从托盘上继续工作, 每个窗口都关闭, 并且从 Windows 、 macOS 和 Linu 的机器开始

如何安装 @12-apps/desktop-shell?

在项目目录运行 npm install @12-apps/desktop-shell,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 desktop-shell-upload-release,可以用 npx desktop-shell-upload-release 直接运行。

@12-apps/desktop-shell 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/12-apps__desktop-shell 是否存在。

@12-apps/desktop-shell 支持 ESM 还是 CommonJS?

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

@12-apps/desktop-shell 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@12-apps/desktop-shell 可以商用吗?

@12-apps/desktop-shell 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@12-apps/desktop-shell 的下载量有多少?

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

@12-apps/desktop-shell 还在维护吗?

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