@weibaohui/dsh-fde-tools
FDE 工具箱全家桶:安装一个插件,带上一批插件(当前 14 件)。
装进 profile 后,设置里出现「FDE 工具箱」,列出全家桶成员的安装状态:
缺什么点「安装」(或「补装」一键带齐);「检查更新」对照 npm latest,
有新版逐个或一键「更新」。宿主侧用 pnpm 装包并把成员追加进
dsh.profile.bundles,装完/更新完提示重启 dsh 生效。必装成员(登录门禁)缺失时面板会醒目提示。
panel
全家桶成员
成员清单在 src/installer.js 的 PACK,加一行即扩包(range 取 npm latest 加 ^),面板与接口自动跟上。
安装
dsh plugin --profile web add @weibaohui/dsh-fde-tools
- 重启 dsh,设置里出现「FDE 工具箱」
- 「补装 N 个」(或逐个点「安装」)
- 再重启一次,全家桶生效
装完显示「重启 dsh 后生效」提示:
- 用 **http://127.0.0.1:3080**(本机直连)打开 dsh 时,提示旁有「立即重启」按钮——插件按启动时的原样参数拉起新的 dsh 进程,等端口就绪后旧进程自动退出,页面自动刷新,不用去终端;
- 局域网地址或经 HTTPS 网关打开时,出于安全考虑(重启只信任本机直连请求)按钮不出现,请在终端重启;
- dsh 由 launchd / systemd 等服务守护时,一键重启自动停用(避免和服务管理器打架),请用系统服务方式重启。
工作原理
- dsh 的插件 = profile
package.json 的依赖 + dsh.profile.bundles 里的加载层;
纯 npm 依赖聚合带不动子插件(reconcile 只认 profile 直接依赖),
所以引导器在宿主侧替你执行 pnpm add <member>@<range> 并追加 bundles。
- 快照还原:pnpm 在 profile 里跑 add 有清掉
link:/file: 依赖的前科,
安装前把依赖和 bundles 快照到 <profile>/.fde-tools-install-snapshot.json,
装完 diff,丢了就按快照补回再 pnpm install(≤2 轮),仍失败则报错并给出快照路径。
- 构建脚本自动放行:依赖带安装期构建脚本(如 dsh-git-server 的 better-sqlite3、
dsh-better-sidebar 的 node-pty)时,pnpm 会拦下并退出非零;引导器识别
ERR_PNPM_IGNORED_BUILDS,把包以 包名@版本: true 写进 pnpm-workspace.yaml
的 allowBuilds 后自动重试一次。
- 已在 profile 依赖里的成员(无论 npm / link / github spec)一律跳过,不会覆盖现有安装方式。
环境变量
| 变量 | 作用 |
|---|
DSH_FDE_TOOLS_PROFILE | 手动指名所属 profile(名或绝对路径);缺省自动扫描 ~/.dsh/profiles |
DSH_FDE_TOOLS_PNPM | 手动指名 pnpm 可执行文件;缺省按 PATH → ~/.local/bin/pnpm → 宿主同前缀的 pnpm.cjs 顺序探测 |
DSH_HOME | dsh 主目录(缺省 ~/.dsh) |
License
MIT