# ALCOMD3

语言: [English](README.md) | [日本語](README.ja.md) | [繁體中文](README.zh-TW.md) | 简体中文

ALCOMD3 是用于管理 VRChat 项目和 VPM 软件包的独立桌面工具。它提供项目流程、
VPM 仓库与软件包管理、Windows 发布和更新，以及可选的本地 MCP 集成。
本项目起源于 vrc-get/ALCOM。

本项目不是 VRChat 或 VCC 的官方产品。

## 什么是 ALCOMD3？

ALCOMD3 可管理 VRChat 项目、VPM 仓库、软件包、模板、备份、更新，并通过 MCP
提供本地 AI Agent 可见性。

主要 ALCOMD3 功能：

- Material Design 3 风格界面。
- 可自定义应用主题色。
- 应用名称、窗口标题、安装器名称、快捷方式和图标使用 ALCOMD3 品牌。
- VPM 仓库排序 / 优先级调整。
- 可查看仓库所包含的包列表。
- 软件包操作进度窗口，支持逐包状态、重试和终止。
- 项目复制进度弹窗，支持取消和任务协调。
- 备份进度显示，以及从备份恢复的流程。
- 更安全的项目删除行为。目录删除失败时会保留项目入口。
- ALCOMD3 更新源、更新弹窗官网入口，以及官网下载安装兜底。
- `vcc://` URL 快捷方式关联默认开启。
- 启动显示和 Windows URL 打开稳定性修复。
- 首次设置流程中的主题自定义入口。
- Windows 安装器使用带版本号的 `alcomd3` 命名，例如
  `alcomd3-2.0.0-setup.exe`。
- 可选的本地 MCP bridge，提供项目、仓库和软件包的只读工具。
  请参阅 [docs/mcp.md](./docs/mcp.md)。

## 兼容性说明

Windows 安装器保持既有安装路径和协议关联的兼容性。

- 在 Windows 安装 ALCOMD3 会更新既有应用安装，而不是并排安装。
- 为了兼容既有安装路径和协议关联，安装后的主程序保留 legacy file name。
- 用户可见的应用品牌是 ALCOMD3。

## 下载

预构建版本从 ALCOMD3 仓库发布：

<https://github.com/CQMHV/ALCOMD3>

当前 ALCOMD3 版本：

- Stable：`2.0.0`
    - 发布说明：[release-notes/ALCOMD3_2.0.0.md](./release-notes/ALCOMD3_2.0.0.md)
    - Windows 安装器：`alcomd3-2.0.0-setup.exe`
    - Windows 安装器 zip：`alcomd3-2.0.0-setup.exe.zip`
- Beta：`2.0.1-beta.1`
    - 发布说明：[release-notes/ALCOMD3_2.0.1-beta.1.md](./release-notes/ALCOMD3_2.0.1-beta.1.md)
    - Windows 安装器：`alcomd3-2.0.1-beta.1-setup.exe`
    - Windows 安装器 zip：`alcomd3-2.0.1-beta.1-setup.exe.zip`

由此仓库之外维护的软件包管理器条目可能不会安装 ALCOMD3，也可能不会使用
ALCOMD3 的更新路径。如果你需要 ALCOMD3，请使用本仓库的发布资产。

## 构建

### 需求

- Rust stable toolchain
- Node.js 和 npm
- 构建 Windows MSVC target 时需要 Windows build tools
- Inno Setup 会在需要时由 bundling task 下载 / 缓存

### Windows 发行版安装器

完整的 ALCOMD3 发布流程记录在 [docs/RELEASE.zh-CN.md](./docs/RELEASE.zh-CN.md)。

```powershell
cargo xtask release-build --version 2.0.1 --channel stable
```

预期输出：

- `artifacts/release/v{version}/alcomd3-{version}-setup.exe`
- `artifacts/release/v{version}/alcomd3-{version}-setup.exe.sig`
- `artifacts/release/v{version}/alcomd3-{version}-setup.exe.zip`

已知非阻塞警告：

- `xtask/src/bundle_alcom/linux.rs` 可能出现未使用 `mode` 变量警告。
- Vite 可能提示 `vrc-get://localhost/global-info.js` 缺少 `type="module"` 因而无法
  bundle。

### 开发服务器

启动 Vite 开发服务器和 Tauri 开发版应用：

```powershell
cd vrc-get-gui
npm run tauri dev
```

仅进行前端开发：

```powershell
cd vrc-get-gui
npm run dev
```

## 仓库结构

- `vrc-get-gui/`：ALCOMD3 桌面 GUI。
- `vrc-get/`：命令行兼容代码。
- `vrc-get-vpm/`：VPM 相关库代码。
- `xtask/`：构建、打包和发行辅助任务。
- `docs/README.zh-CN.md`：文档索引和导航入口。
- `docs/mcp.md`：MCP bridge 使用方式、工具、生命周期和排障说明。
- `docs/MAINTENANCE.zh-CN.md`：ALCOMD3 维护笔记和兼容性边界。

## 外部变更引入

ALCOMD3 以本仓库作为品牌、安装器行为、图标资源、UI 行为、仓库管理功能、
MCP 边界、发布流程和 GitHub 设置的基准。

从其他仓库引入变更前，请阅读：

[docs/MAINTENANCE.zh-CN.md](./docs/MAINTENANCE.zh-CN.md)

该文件记录了套用变更时应保留的 ALCOMD3 行为和兼容性边界。

## GitHub Workflows

通用继承而来的 GitHub workflows 已有意移除。ALCOMD3 的发行自动化应针对本仓库设计。

目前保留：

- `.github/ISSUE_TEMPLATE/*`

目前仓库内不维护发行 workflow 或签名 action。

## 许可证

主要项目代码使用 MIT License。请参阅
[LICENSE](./LICENSE)。

应用内含 Licenses 页面，用于显示依赖项和第三方资源声明。重要的随附第三方资源：

- ALCOMD3 图标资源，使用 CC BY 4.0。
- Anton font，使用 SIL Open Font License。
- Noto Sans font，使用 SIL Open Font License。

更多第三方资源说明请参阅
[vrc-get-gui/THIRD-PARTY.md](./vrc-get-gui/THIRD-PARTY.md)。

## 贡献

本仓库为 ALCOMD3 维护。Issue 和 pull request 应聚焦于 ALCOMD3 的行为、文档、
发布、兼容性和工具。

贡献指南：

- [CONTRIBUTING.zh-CN.md](./CONTRIBUTING.zh-CN.md)
- [vrc-get-gui/CONTRIBUTING.zh-CN.md](./vrc-get-gui/CONTRIBUTING.zh-CN.md)
