Skip to content

Repository files navigation

wpm-gui

WPM(WinuxCmd Package Manager)的图形前端。薄壳客户端:自身不实现任何包管理逻辑,读操作消费 wpm --json 的机器可读输出,变更操作直接 spawn wpm install ... 执行并流式展示进度。

架构

┌──────────┐  spawn + JSON   ┌─────────────┐      ┌──────────────────┐
│ wpm-gui  │ ──────────────► │ wpm.exe     │ ───► │ index.json (源)   │
│ (Tauri)  │ ◄────────────── │ --json 契约  │      │ usr\bin / opt\   │
└──────────┘  exit code/事件  └─────────────┘      └──────────────────┘
  • JSON 契约:unixwin/wpm-sourcedocs/index-schema.md(所有载荷带 schema: 1,只增不改)。
  • 已消费:list / search / info / categories / installed / index status / links list
  • 变更:install(进度经 Tauri 事件流式转发,退出码为准)。

单二进制

前端产物(Vite → dist/)在编译期由 Tauri 通过 generate_context! 嵌入可执行文件,运行时不从磁盘加载任何资源;WebView2 为系统组件。bundle.targets: [] 表示不产出安装器,tauri build 的产物就是一个自包含的便携 exe——未来作为 wpm 包(flat/shim 布局)分发。

wpm.exe 发现顺序

  1. 环境变量 WPM_GUI_WPM
  2. 与 wpm-gui.exe 同目录(经 wpm 安装后同在 usr\bin)
  3. PATH

开发

依赖:Rust(MSVC)、Node 22+、pnpm。

pnpm install
pnpm tauri dev      # 开发窗口
pnpm check          # svelte-check 类型检查
pnpm tauri build    # 产物: src-tauri/target/release/wpm-gui.exe

调试时若 wpm 不在 PATH:

$env:WPM_GUI_WPM = "D:\path\to\winuxcmd\build-vs\wpm.exe"

目录

src/            Svelte 5 + TypeScript 前端
src-tauri/      Rust 后端(wpm 进程编排 + IPC commands)
scripts/        gen_icon.py 等工具

About

GUI front-end for the WinuxCmd package manager (wpm)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages