docs: 更新文档域名和SEO配置

feat(web): 添加robots.txt和og-image.png
refactor(web): 重构config.mts优化SEO和sitemap
fix(web): 修复文档页面元信息缺失问题
chore: 清理.gitignore中的冗余规则
This commit is contained in:
Maple
2026-04-28 21:45:46 +08:00
parent 35d5cad711
commit b4388d8ee3
29 changed files with 1094 additions and 67 deletions

225
.claude/index.json Normal file
View File

@@ -0,0 +1,225 @@
{
"meta": {
"project": "PVE-Tools-9",
"description": "Proxmox VE 9.x 一键运维脚本与文档站",
"version": "7.2.0",
"license": "GPL-3.0",
"generated_at": "2026-04-28T20:59:34+08:00",
"generator": "claude-init 自适应架构师",
"truncated": false
},
"scan_coverage": {
"estimated_total_files": 75,
"scanned_files": 62,
"coverage_percent": 82.7,
"skipped_by_ignore": 8,
"skipped_binary_large": 2,
"skipped_other": 3,
"skip_reasons": {
"binary_large": [
"Modules/VGPU/libvgpu_unlock_rs_20230207_44d5bb3.so",
"Web/assets/images/Proxmox-Corporate-Brandguideline.pdf"
],
"ignore_rules": [
"Web/bun.lock (类似 bun.lockb)",
"Web/.vitepress/dist/ (构建产物)",
"Web/.vitepress/cache/ (缓存)",
"node_modules/ (依赖)",
".codebuddy/ (项目忽略)",
".cache/ (缓存)",
".spec-workflow/ (项目忽略)",
".claude/ (项目忽略)"
],
"too_large_full_read": [
"PVE-Tools.sh (430KB使用分段读取覆盖率约60%)"
]
}
},
"modules": [
{
"path": "/",
"name": "根模块 (主脚本)",
"language": "Bash",
"claude_md": "CLAUDE.md",
"entry_points": ["PVE-Tools.sh"],
"interfaces": ["主菜单 (9个一级选项多个二级/三级子菜单)"],
"dependencies": ["bash", "curl/wget", "qm/pct/pvesh (PVE CLI)"],
"data_models": ["VERSION文件", "legal_acceptance marker文件", "/var/lib/pve-tools/ 运行时数据"],
"tests": ["CI: shellcheck, bash -n, 版本一致性检查"],
"config_files": ["VERSION", "UPDATE"],
"scanned_sections": [
"颜色系统 (lines 23-55)",
"日志函数 (lines 103-137)",
"许可与风险体系 (lines 209-241)",
"配置文件管理 (lines 244-331)",
"GRUB 管理 (lines 333-410)",
"主菜单 (lines 5480-5499)",
"VM 高级运维 (lines 6065+)",
"宿主机网络 (lines 7873+)"
],
"scan_gaps": [
"RDM/NVMe 直通完整逻辑 (lines 1954-2240 仅部分阅读)",
"引导配置辅助 (lines 2669+ 仅部分阅读)",
"所有子菜单实现函数体 (数量庞大,仅了解入口)",
"GPU 直通各子功能详细实现",
"存储/磁盘维护二级菜单实现"
],
"coverage": "medium"
},
{
"path": "Web/",
"name": "Web 文档站",
"language": "TypeScript/Vue/Markdown",
"claude_md": "Web/CLAUDE.md",
"entry_points": ["Web/index.md", "Web/.vitepress/config.mts"],
"interfaces": ["VitePress 配置 (nav/sidebar)", "5个自定义Vue组件", "18个Markdown页面"],
"dependencies": ["vitepress ^1.6.4", "vue ^3.5.27", "lucide-vue-next ^0.563.0", "bun"],
"data_models": ["todo-data.json (开发计划+时间线)"],
"tests": ["构建验证 (bun run build)"],
"config_files": ["package.json", "wrangler.jsonc", ".vitepress/config.mts"],
"scanned_files": [
"index.md", "guide.md", "features.md", "faq.md", "update.md",
"todo.md", "submit-plugin.md", "ula.md", "sponsor.md", "pay.md",
"config.mts", "theme/index.ts", "theme/custom.css",
"Announcement.vue", "CopyCodeBox.vue", "Giscus.vue",
"HomeFeaturesWithTimeline.vue", "TodoList.vue",
"package.json", "bun.lock", "wrangler.jsonc", "index.js",
"todo-data.json", "advanced/index.md"
],
"scan_gaps": [
"advanced/ 下 10 篇 Markdown 教程详情(仅读取了索引,未逐篇阅读内容)"
],
"coverage": "high"
},
{
"path": "Tools/",
"name": "第三方工具集",
"language": "Bash",
"claude_md": "Tools/CLAUDE.md",
"entry_points": ["各 .sh 文件独立运行"],
"interfaces": ["13个独立 Bash 脚本"],
"dependencies": ["bash", "apt", "各脚本特定依赖"],
"data_models": ["无持久化数据模型"],
"tests": ["无CI覆盖由tteck社区人工验证"],
"config_files": ["Tools/README.md"],
"scanned_files": ["README.md"],
"scan_gaps": [
"13个.sh脚本均未读取详细内容仅记录文件名和来源"
],
"coverage": "low"
},
{
"path": "Modules/",
"name": "插件市场",
"language": "Bash + 二进制",
"claude_md": "Modules/CLAUDE.md",
"entry_points": ["install-zsh.sh (示例插件)", "VGPU/*.so (二进制资源)"],
"interfaces": ["GitHub API 自动发现", "插件元信息头部注释"],
"dependencies": ["GitHub API", "主脚本下载框架"],
"data_models": ["插件元信息 (name/author/version/github)"],
"tests": ["无自动化测试"],
"config_files": [],
"scanned_files": ["install-zsh.sh (前30行)"],
"scan_gaps": [
"install-zsh.sh 完整实现 (仅读了前30行)",
"VGPU/*.so 二进制文件 (仅记录路径)"
],
"coverage": "low"
},
{
"path": "Docs/",
"name": "补充文档",
"language": "Markdown",
"claude_md": null,
"entry_points": ["Docs/future-guide.md", "Docs/README-EN.md"],
"interfaces": ["2个 Markdown 文档"],
"dependencies": [],
"data_models": [],
"tests": [],
"config_files": [],
"scanned_files": [],
"scan_gaps": [
"future-guide.md 和 README-EN.md 均未读取"
],
"coverage": "none"
},
{
"path": ".github/",
"name": "CI/CD 与社区",
"language": "YAML",
"claude_md": null,
"entry_points": ["workflows/release.yml", "workflows/beta-release.yml", "workflows/pr-validation.yml"],
"interfaces": ["release流水线 (shc编译+GitHub Release)", "beta-release流水线", "PR验证 (shellcheck+版本检查+安全扫描)"],
"dependencies": ["GitHub Actions", "shc", "shellcheck"],
"data_models": [],
"tests": ["PR验证流水线自动执行"],
"config_files": ["FUNDING.yml", "ISSUE_TEMPLATE/*.yml"],
"scanned_files": [
"release.yml (前60行)", "beta-release.yml (前40行)", "pr-validation.yml (前50行)"
],
"scan_gaps": [
"FUNDING.yml 未读取",
"4个 Issue 模板未读取"
],
"coverage": "medium"
}
],
"next_steps": {
"priority": [
{
"module": "根模块",
"action": "深度扫描 PVE-Tools.sh 未覆盖区域",
"paths": [
"RDM 裸磁盘映射完整实现 (约1954-2240行)",
"PCIe/NVMe 控制器直通 (约2240-2669行)",
"GPU 直通各子菜单 (Intel/NVIDIA/AMD)",
"存储与磁盘维护二级菜单",
"软件源与系统升级二级菜单",
"诊断工具与项目信息菜单"
],
"reason": "主脚本是项目的核心但目前仅覆盖了约60%的关键区域"
},
{
"module": "Tools",
"action": "抽样阅读代表性脚本",
"paths": [
"Tools/post-pve-install.sh",
"Tools/kernel-clean.sh",
"Tools/netdata.sh"
],
"reason": "了解第三方脚本的代码风格和风险等级"
},
{
"module": "Web",
"action": "补充阅读高级教程内容",
"paths": [
"Web/advanced/gpu-passthrough.md",
"Web/advanced/host-network-firewall-ipv6.md",
"Web/advanced/vm-backup-migration-cloudinit.md"
],
"reason": "这些教程直接对应主脚本的高风险功能区域"
},
{
"module": "Docs",
"action": "首次读取",
"paths": [
"Docs/future-guide.md",
"Docs/README-EN.md"
],
"reason": "此前未覆盖,含项目发展路线和英文文档"
}
],
"optional": [
{
"module": "Modules",
"action": "完整阅读 install-zsh.sh",
"reason": "作为插件规范参考示例"
},
{
"module": ".github",
"action": "阅读 FUNDING.yml 和 Issue 模板",
"reason": "了解社区治理流程"
}
]
}
}

10
.gitignore vendored
View File

@@ -34,16 +34,6 @@ report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
.env
.env.*.local
# Project specific ignores
.codebuddy/
.cache/
.spec-workflow/
.claude/
Proxmox-Helper-Script/
QWEN.md
CLAUDE.md
AGENTS.md
# Python
__pycache__/
*.pyc

42
AGENTS.md Normal file
View File

@@ -0,0 +1,42 @@
# Repository Guidelines
## Project Structure & Module Organization
`PVE-Tools.sh` is the main Bash entry point for Proxmox VE 9.x operations. `Tools/` contains standalone maintenance scripts for host setup, LXC cleanup, monitoring, kernel handling, and backups. `Modules/` contains plugin-market modules and bundled binary assets such as `Modules/VGPU/*.so`; do not edit binary files unless the change is intentional and documented. `Web/` is the VitePress documentation site, with pages in Markdown and static assets under `Web/public/` and `Web/assets/`. `Docs/` stores supplemental guides, `images/` stores README and site screenshots, and `.github/` contains issue templates and CI/release workflows.
## Build, Test, and Development Commands
Run Bash checks from the repository root:
```bash
bash -n PVE-Tools.sh
shellcheck -f gcc PVE-Tools.sh
```
For the documentation site:
```bash
cd Web
bun install
bun run dev
bun run build
bun run preview
```
`bun run build` copies `VERSION`, `UPDATE`, and `PVE-Tools.sh` into the generated site output.
## Coding Style & Naming Conventions
Bash scripts use `#!/bin/bash`, 4-space indentation, and `snake_case` function names. Use `UPPER_SNAKE` for constants and global configuration, and `lower_case` for local variables. Prefer existing helpers in `PVE-Tools.sh`, especially logging, confirmation, backup, UI, and idempotent configuration functions. Web components should follow VitePress/Vue 3 conventions with `<script setup>` and scoped CSS where applicable.
## Testing Guidelines
There is no full automated end-to-end test suite. At minimum, run `bash -n PVE-Tools.sh` and `shellcheck -f gcc PVE-Tools.sh` for script changes. Keep `CURRENT_VERSION` in `PVE-Tools.sh` synchronized with `VERSION` when releasing. High-risk workflows must be manually verified on an appropriate Proxmox VE 9.x environment with backups and a rollback plan.
## Commit & Pull Request Guidelines
Follow the existing Conventional Commit style: `feat:`, `fix(scope):`, `docs:`, and `chore:`. Keep commits focused and describe operational risk when touching networking, firewall, storage, GRUB, passthrough, or VM lifecycle logic. Pull requests should include a clear summary, linked issue when relevant, validation commands, screenshots for documentation or UI changes, and notes about manual PVE testing.
## Security & Configuration Tips
Avoid introducing `eval` or unreviewed `source` usage. Back up host configuration before modifying production-facing behavior. Treat network, firewall, storage, kernel, and passthrough changes as high risk.

184
CLAUDE.md Normal file
View File

@@ -0,0 +1,184 @@
# PVE-Tools-9 -- 项目总览
## 项目愿景
PVE-Tools-9 是一个面向 Proxmox VE 9.x 的交互式 Bash 运维工具集。目标是把高频、易错、需要大量人工检查的 PVE 运维动作收口为一个更清晰的菜单驱动工具,配合更严格的校验和更明确的高风险提示,降低误操作概率。
**官网**: https://pve.oowo.cc | **仓库**: https://github.com/Mapleawaa/PVE-Tools-9
## 架构总览
```mermaid
graph TD
A["(根) PVE-Tools-9"] --> B["PVE-Tools.sh (主脚本)"]
A --> C["Web"]
A --> D["Tools"]
A --> E["Modules"]
A --> F["Docs"]
A --> G[".github"]
C --> C1["VitePress 文档站"]
C --> C2["Vue 组件 (5个)"]
C --> C3["高级教程 (10篇)"]
D --> D1["PVE 后安装配置"]
D --> D2["LXC 容器管理"]
D --> D3["系统维护工具"]
D --> D4["监控工具"]
E --> E1["插件市场"]
E --> E2["VGPU .so"]
G --> G1["CI/CD Workflows"]
G --> G2["Issue Templates"]
click B "./PVE-Tools.sh" "主入口脚本"
click C "./Web/CLAUDE.md" "查看 Web 模块文档"
click D "./Tools/CLAUDE.md" "查看 Tools 模块文档"
click E "./Modules/CLAUDE.md" "查看 Modules 模块文档"
```
- **核心入口**: `PVE-Tools.sh`(约 430KB单一 Bash 脚本),通过 `bash <(curl -sSL ...)` 方式分发执行。
- **文档站**: `Web/` 目录承载 VitePress 构建的官方文档网站,部署于 Cloudflare Pages。
- **辅助工具集**: `Tools/` 集成来自 tteck 社区的 13 个系统维护脚本。
- **插件市场**: `Modules/` 提供第三方脚本的自动发现与执行框架。
- **CI/CD**: `.github/workflows/` 提供 release、beta-release、pr-validation 三条流水线。
## 模块结构图
```mermaid
graph TD
ROOT["PVE-Tools-9 (根)"] --> MAIN["PVE-Tools.sh<br/>主脚本 430KB"]
ROOT --> WEB["Web/"]
ROOT --> TOOLS["Tools/"]
ROOT --> MODS["Modules/"]
ROOT --> DOCS["Docs/"]
ROOT --> GHA[".github/"]
WEB --> VITEPRESS[".vitepress/<br/>主题/配置/组件"]
WEB --> PAGES["*.md 文档页面"]
WEB --> ADVANCED["advanced/<br/>高级教程 10篇"]
WEB --> ASSETS["assets/ + public/<br/>图片/Logo/SVG"]
TOOLS --> SYS["系统配置: 5个脚本"]
TOOLS --> LXC["容器管理: 3个脚本"]
TOOLS --> MAINT["系统维护: 4个脚本"]
TOOLS --> MONITOR["监控: 2个脚本"]
MODS --> PLUGINS["插件脚本 (.sh)"]
MODS --> VGPU["VGPU/libvgpu_*.so"]
GHA --> WF["workflows/<br/>release/beta/PR"]
click ROOT "./CLAUDE.md" "返回根文档"
click WEB "./Web/CLAUDE.md" "查看 Web 模块文档"
click TOOLS "./Tools/CLAUDE.md" "查看 Tools 模块文档"
click MODS "./Modules/CLAUDE.md" "查看 Modules 模块文档"
```
## 模块索引
| 模块路径 | 语言 | 职责 | 入口文件 | 文档 |
|---|---|---|---|---|
| `/` (根) | Bash | 主脚本,全部功能入口 | `PVE-Tools.sh` | `README.md` |
| `Web/` | TypeScript/Vue/Markdown | VitePress 文档站 | `Web/index.md`, `Web/.vitepress/config.mts` | [Web/CLAUDE.md](./Web/CLAUDE.md) |
| `Tools/` | Bash | 第三方系统维护脚本集 | 各 `.sh` 文件 | [Tools/CLAUDE.md](./Tools/CLAUDE.md) |
| `Modules/` | Bash/二进制 | 插件市场与模块 | `install-zsh.sh`, `VGPU/*.so` | [Modules/CLAUDE.md](./Modules/CLAUDE.md) |
| `Docs/` | Markdown | 补充文档 | `future-guide.md`, `README-EN.md` | -- |
| `.github/` | YAML | CI/CD 工作流与 Issue 模板 | `workflows/*.yml` | -- |
## 技术栈
| 层面 | 技术 | 版本/说明 |
|---|---|---|
| 运行环境 | Proxmox VE 9.x (Debian 13 Trixie) | 要求 root 权限 |
| 主脚本语言 | GNU Bash | 单一文件,通过 curl 管道分发执行 |
| 文档站构建 | VitePress | v1.6.4,部署于 Cloudflare Pages |
| 前端框架 | Vue 3 | v3.5.27,仅用于文档站主题组件 |
| 图标库 | lucide-vue-next | v0.563.0 |
| 运行时 | Bun | Web 目录依赖管理bun.lock |
| CI/CD | GitHub Actions | release / beta-release / PR validation |
| 编译工具 | shc | 将 Bash 编译为二进制(仅 release 流程) |
| 许可证 | GPL-3.0 | 详见 `LICENSE` |
| 分析 | Umami | 文档站匿名访问统计 |
## 运行与开发
### 使用脚本(用户侧)
```bash
# Cloudflare 短域名(推荐)
bash <(curl -sSL https://pve.oowo.cc/PVE-Tools.sh)
# 中国大陆网络
bash <(curl -sSL https://ghfast.top/raw.githubusercontent.com/Mapleawaa/PVE-Tools-9/main/PVE-Tools.sh)
# 国际网络 / 本地
wget https://raw.githubusercontent.com/Mapleawaa/PVE-Tools-9/main/PVE-Tools.sh
chmod +x PVE-Tools.sh
sudo ./PVE-Tools.sh
```
### 开发文档站Web 模块)
```bash
cd Web
bun install # 或 npm install
bun run dev # 启动本地开发服务器
bun run build # 构建到 .vitepress/dist/
bun run preview # 预览构建结果
```
### CI/CD 流水线
- **PR 合并到 main/beta**: 触发 shellcheck、Bash 语法检查、版本一致性校验、安全扫描。
- **推送版本标签 (v*.*.*)**: 触发 Release 工作流,用 shc 编译二进制,自动生成 GitHub Release。
- **推送 beta/alpha 标签**: 触发 Beta Release 工作流。
## 测试策略
| 类型 | 方式 | 说明 |
|---|---|---|
| 语法检查 | `bash -n PVE-Tools.sh` | CI 中强制通过 |
| 静态分析 | `shellcheck -f gcc PVE-Tools.sh` | CI 中强制通过 |
| 版本一致性 | 比较脚本内 `CURRENT_VERSION``VERSION` 文件 | CI 中强制通过 |
| 安全扫描 | 检测 `eval`/`source` 使用 | CI 中告警 |
| 功能测试 | 手动在 PVE 9.x 环境验证 | 无自动化 E2E 测试 |
**注意**: 本项目目前没有自动化单元测试或集成测试。所有功能验证依赖人工在真实或模拟的 PVE 9.x 环境中测试。
## 编码规范
### Bash 脚本规范
- Shebang: `#!/bin/bash`
- 缩进: 4 空格
- 函数命名: `snake_case`(如 `vm_validate_new_vmid``host_network_get_bridges`
- 变量命名: `UPPER_SNAKE`(全局配置常量)、`lower_case`(局部变量)
- 颜色: 通过 `setup_colors()` 统一管理 ANSI 颜色变量,兼容 `NO_COLOR` 环境变量
- 日志: 使用统一日志函数 `log_info``log_warn``log_error``log_step``log_success``log_tips`
- UI: 使用 `UI_BORDER``UI_DIVIDER``UI_HEADER``UI_FOOTER` 统一边框风格
- 风险控制: 高风险写入操作必须使用 `confirm_high_risk_action()` 要求输入确认词
- 配置备份: 修改系统配置文件前调用 `backup_file()` 自动备份到 `/var/backups/pve-tools/`
- 幂等性: GRUB 参数等配置通过专用幂等管理函数修改,支持增删查
- 日志文件: 所有操作记录到 `/var/log/pve-tools.log`
### 文档站 (Vue/TypeScript) 规范
- 使用 VitePress 默认主题扩展
- 自定义组件放置在 `Web/.vitepress/theme/components/`
- 组件使用 `<script setup>` + TypeScript
- 样式使用 scoped CSS
## AI 使用指引
- **主脚本分析**: `PVE-Tools.sh` 约 430KB读取时建议使用 offset/limit 分段读取。关键函数区域: 颜色系统(23-55行)、日志系统(103-137行)、主菜单(5480-5499行)、VM 运维(6065+行)、宿主机网络(7873+行)。
- **模块理解**: 优先阅读各模块的 `CLAUDE.md` 而非直接扫描源代码。
- **忽略的构建产物**: `.vitepress/dist/``.vitepress/cache/``node_modules/` 均被 `.gitignore` 忽略且不参与分析。
- **二进制文件**: `Modules/VGPU/*.so` 只记录路径,不读取内容。
## 变更记录 (Changelog)
| 日期 | 变更 | 来源 |
|---|---|---|
| 2026-04-28 | 初始化 CLAUDE.md 体系(根 + Web + Tools + Modules | claude-init 架构师(自适应版) |

103
Modules/CLAUDE.md Normal file
View File

@@ -0,0 +1,103 @@
[根目录](../CLAUDE.md) > **Modules**
# Modules -- 第三方插件市场与模块
## 模块职责
提供 PVE-Tools-9 的第三方插件/模块市场。主脚本通过 GitHub API 自动扫描本目录中的 `.sh` 脚本根据脚本头部元信息name/author/version/github展示并允许用户选择执行。同时存放附加二进制资源如 NVIDIA vGPU Unlock .so 文件)。
## 入口与启动
| 项目 | 说明 |
|---|---|
| 发现机制 | 主脚本通过 GitHub API 获取 `Modules/` 树结构,自动发现 `.sh` 文件 |
| 元信息格式 | 脚本第 2-5 行必须包含 `## name:``## author:``## version:``## github:` 注释 |
| 执行入口 | 用户在主菜单的"第三方工具集"中选择对应插件执行 |
| 下载方式 | 从 `https://raw.githubusercontent.com/Mapleawaa/PVE-Tools-9/main/Modules/<name>.sh` 下载 |
### 插件元信息模板
```bash
#!/bin/bash
## name:插件名称
## author:作者名
## version:1.0.0
## github:https://github.com/xxx/xxx
```
## 当前模块清单
| 文件 | 类型 | 说明 |
|---|---|---|
| `install-zsh.sh` | Bash 脚本 | ZSH 安装脚本 v3.0 (by Maple),自动安装 oh-my-zsh 并配置 |
| `VGPU/libvgpu_unlock_rs_20230207_44d5bb3.so` | 二进制 (.so) | NVIDIA vGPU Unlock 补丁库,用于解锁消费级 GPU 的 vGPU 功能 |
### install-zsh.sh 概述
- **作者**: Maple
- **版本**: 3.0
- **功能**: 在 Debian 系系统上自动安装 ZSH + oh-my-zsh
- **流程**: 环境预检(检查是否为 Debian) -> 网络诊断与镜像选择 -> 安装 ZSH -> 安装 oh-my-zsh -> 配置主题和插件
- **特点**: 支持检测 GitHub 连通性并自动切换镜像源
### VGPU/libvgpu_unlock_rs.so
- **来源**: 基于 Rust 重写的 vgpu_unlock 项目(第三方开源项目)
- **用途**: 用作 NVIDIA vGPU 破解的共享库
- **大小**: 较大二进制文件,仅记录路径不读取内容
- **风险**: 主脚本对此功能采用"文档引导优先"策略,先全屏警告并引导到 Wiki 文章后再继续
## 关键依赖与配置
| 依赖 | 说明 |
|---|---|
| GitHub API | 主脚本通过 `GET /repos/Mapleawaa/PVE-Tools-9/git/trees/main?recursive=1` 发现模块 |
| raw.githubusercontent.com | 模块脚本的下载源 |
| 主脚本配置变量 | `THIRD_PARTY_MODULES_TREE_API_MAIN_URL``THIRD_PARTY_MODULES_RAW_BASE_URL` |
## 数据模型
插件元信息数据结构(从脚本头部注释解析):
```
name: string # 插件名称
author: string # 作者名
version: string # 版本号
github: string # GitHub 项目地址
```
## 测试与质量
- **插件审核**: 通过 GitHub PR 或 Issue Template 提交,由维护者人工审核
- **执行前风险确认**: 主脚本在执行任何第三方模块前强制要求用户确认
- **无自动化测试**: 模块为第三方贡献,无 CI 覆盖
## 常见问题 (FAQ)
**Q: 如何提交新插件?**
两种方式:
1. Fork 仓库 -> 添加 `.sh``Modules/` -> 提交 PR推荐
2. 在 GitHub Issues 选择"插件提交"模板,填写元信息和脚本内容
**Q: 插件需要遵守什么规范?**
- 文件名以 `.sh` 结尾
- 第 2-5 行包含元信息name/author/version/github
- 高风险操作必须在脚本中给出交互确认
**Q: VGPU 模块如何工作?**
主脚本不再自动执行 vGPU 配置。用户通过主菜单进入后,会先看到全屏警告和 Wiki 链接,确认后手动操作。`.so` 文件作为可选资源供高级用户使用。
## 相关文件清单
```
Modules/
install-zsh.sh # ZSH 安装插件 v3.0
VGPU/
libvgpu_unlock_rs_20230207_44d5bb3.so # NVIDIA vGPU Unlock 库(二进制)
```
## 变更记录 (Changelog)
| 日期 | 变更 |
|---|---|
| 2026-04-28 | 初始化 Modules 模块 CLAUDE.md |

View File

@@ -202,7 +202,7 @@ vm_show_data_risk_banner() {
echo -e "${RED}高风险提示:以下操作可能直接改写 VM 配置、磁盘、快照、克隆、恢复或迁移状态。${NC}"
echo -e "${YELLOW}开始前请确认:已有可验证备份、已核对 VMID/磁盘槽位/目标存储、业务已处于维护窗口。${NC}"
echo -e "${YELLOW}一旦误操作,数据恢复成功率通常取决于后续写入量、存储类型以及是否立即停止写入。${NC}"
echo -e "${RED}恢复参考: https://pve.u3u.icu/advanced/data-recovery-after-mistake${NC}"
echo -e "${RED}恢复参考: https://pve.oowo.cc/advanced/data-recovery-after-mistake${NC}"
echo -e "${RED}${UI_DIVIDER}${NC}"
}
@@ -221,8 +221,8 @@ ensure_legal_acceptance() {
clear
show_menu_header "许可与服务条款"
echo -e "${CYAN}继续使用本脚本前,请先认真阅读并同意以下条款:${NC}"
echo -e " - ULA最终用户许可与使用协议: https://pve.u3u.icu/ula"
echo -e " - TOS服务条款: https://pve.u3u.icu/tos"
echo -e " - ULA最终用户许可与使用协议: https://pve.oowo.cc/ula"
echo -e " - TOS服务条款: https://pve.oowo.cc/tos"
echo -e "${RED} 高风险提醒:涉及宿主机网络、桥接/Bond/VLAN、防火墙以及 VM、磁盘、快照、克隆、恢复、导入导出、迁移等操作时可能造成管理面失联、业务中断或不可逆的数据/配置损坏。${NC}"
echo -e "${RED} 请仅在已完成可验证备份、明确维护窗口并理解命令影响范围后继续;误操作导致的数据损失、恢复成本与第三方恢复费用均由使用者自行承担。${NC}"
echo -e "${RED} 您可以随时撤回同意,只需删除 ${marker} 文件即可。${NC}"
@@ -4017,7 +4017,7 @@ igpu_management_menu_simple() {
# Intel 11-15代 SR-IOV 核显虚拟化配置
igpu_sriov_setup() {
echo -e "${H2}开始配置 Intel 11-15代 SR-IOV 核显虚拟化${NC}"
echo -e "详细原理与教程: ${CYAN}https://pve.u3u.icu/advanced/gpu-virtualization${NC}"
echo -e "详细原理与教程: ${CYAN}https://pve.oowo.cc/advanced/gpu-virtualization${NC}"
echo -e "如果配置失败,请访问文档站下方留言反馈。"
echo
@@ -4291,7 +4291,7 @@ igpu_sriov_setup() {
# Intel 6-10代 GVT-g 核显虚拟化配置
igpu_gvtg_setup() {
echo -e "${H2}开始配置 Intel 6-10代 GVT-g 核显虚拟化${NC}"
echo -e "详细原理与教程: ${CYAN}https://pve.u3u.icu/advanced/gpu-virtualization${NC}"
echo -e "详细原理与教程: ${CYAN}https://pve.oowo.cc/advanced/gpu-virtualization${NC}"
echo -e "如果配置失败,请访问文档站下方留言反馈。"
echo
@@ -5540,7 +5540,7 @@ menu_optimization() {
show_menu_option "2" "温度监控管理 ${CYAN}(CPU/硬盘监控设置)${NC}"
show_menu_option "3" "CPU 电源模式配置"
show_menu_option "4" "${MAGENTA}一键优化 (换源+删弹窗+更新)${NC} / 请在外部SSH环境下使用该功能否则会导致PVE WebUi重启导致Shell断开连接修改失效"
echo "不要犟查看如何连接到PVE SSH教程https://pve.u3u.icu/advanced/how-to-connect-ssh.html"
echo "不要犟查看如何连接到PVE SSH教程https://pve.oowo.cc/advanced/how-to-connect-ssh.html"
show_menu_option "5" "配置邮件通知 ${CYAN}(SMTP/Postfix)${NC}"
echo "$UI_DIVIDER"
show_menu_option "0" "返回主菜单"
@@ -10052,7 +10052,7 @@ check_update() {
echo -e "----------------------------------------------"
echo -e "${CYAN}官方文档与最新脚本:${NC}"
echo -e "🔗 https://pve.u3u.icu (推荐)"
echo -e "🔗 https://pve.oowo.cc (推荐)"
echo -e "🔗 https://github.com/Mapleawaa/PVE-Tools-9"
echo -e "${UI_FOOTER}"
echo -e "${GREEN}回车键${NC} 进入主菜单..."
@@ -10191,7 +10191,7 @@ restore_qemu_kvm() {
intel_gpu_passthrough() {
log_step "开始 Intel 核显直通配置"
echo "注意:此功能基于 AICodo 的修改版 QEMU 和 ROM"
echo "详细原理与教程https://pve.u3u.icu/advanced/gpu-passthrough"
echo "详细原理与教程https://pve.oowo.cc/advanced/gpu-passthrough"
echo "适用于需要将 Intel 核显直通给 Windows 虚拟机且遇到代码 43 或黑屏的情况"
echo "支持的 CPU 架构6代(Skylake) 到 14代(Raptor Lake Refresh)"
echo "项目地址https://github.com/AICodo/intel6-14rom"
@@ -10206,7 +10206,7 @@ intel_gpu_passthrough() {
log_warn "折腾有风险,入坑需谨慎!"
echo
log_tips "如果配置失败,请访问文档站查看详细教程并留言反馈:"
log_tips "🔗 https://pve.u3u.icu/advanced/gpu-passthrough"
log_tips "🔗 https://pve.oowo.cc/advanced/gpu-passthrough"
echo
log_tips "如需要反馈或者请求更新ROM文件适配你的CPU请前往AICodo的GitHub仓库开ISSUE反馈不是找我。"
echo
@@ -11074,7 +11074,7 @@ nvidia_setup_vgpu_unlock() {
echo " 驱动/内核/补丁版本不匹配可能导致服务异常、宿主机告警或 VM 无法使用 vGPU。"
echo
echo -e "${CYAN}推荐先阅读 Wiki${NC}"
echo " 对应文章: https://pve.u3u.icu/advanced/nvidia-vgpu-driver-notes"
echo " 对应文章: https://pve.oowo.cc/advanced/nvidia-vgpu-driver-notes"
echo "${UI_DIVIDER}"
read -p "请输入 '确认' 或 'Sure' 继续: " response
response=$(echo "$response" | xargs)

View File

@@ -4,7 +4,7 @@
面向 Proxmox VE 9.x 的一键运维脚本,覆盖 VM 生命周期运维、宿主机网络 / 防火墙 / IPv6、GPU / PCI 直通、系统维护与第三方生态集成。
[官网 / Docs](https://pve.u3u.icu) | [更新日志](https://pve.u3u.icu/update) | [FAQ](https://pve.u3u.icu/faq) | [English](./README_EN.md) | [日本語](./REAMDE-JP.md)
[官网 / Docs](https://pve.oowo.cc) | [更新日志](https://pve.oowo.cc/update) | [FAQ](https://pve.oowo.cc/faq) | [English](./README_EN.md) | [日本語](./REAMDE-JP.md)
[![License: GPL-3.0](https://img.shields.io/badge/License-GPL--3.0-blue.svg)](https://www.gnu.org/licenses/gpl-3.0.html)
[![Shell Script](https://img.shields.io/badge/Shell-Script-4EAA25?logo=gnu-bash&logoColor=white)](https://www.gnu.org/software/bash/)
@@ -37,7 +37,7 @@ PVE-Tools-9 是一个面向 Proxmox VE 9.x 的交互式 Bash 工具。
### cloudflare 短域名
```bash
bash <(curl -sSL https://pve.u3u.icu/PVE-Tools.sh)
bash <(curl -sSL https://pve.oowo.cc/PVE-Tools.sh)
```
### 中国大陆网络
@@ -59,19 +59,19 @@ sudo ./PVE-Tools.sh
## 官网入口
- 官方文档https://pve.u3u.icu
- 功能特性https://pve.u3u.icu/features
- 更新日志https://pve.u3u.icu/update
- 常见问题https://pve.u3u.icu/faq
- 数据误操作恢复参考https://pve.u3u.icu/advanced/data-recovery-after-mistake
- 宿主机网络 / 防火墙 / IPv6 专题https://pve.u3u.icu/advanced/host-network-firewall-ipv6
- VM 备份 / 迁移 / Cloud-Init 专题https://pve.u3u.icu/advanced/vm-backup-migration-cloudinit
- 官方文档https://pve.oowo.cc
- 功能特性https://pve.oowo.cc/features
- 更新日志https://pve.oowo.cc/update
- 常见问题https://pve.oowo.cc/faq
- 数据误操作恢复参考https://pve.oowo.cc/advanced/data-recovery-after-mistake
- 宿主机网络 / 防火墙 / IPv6 专题https://pve.oowo.cc/advanced/host-network-firewall-ipv6
- VM 备份 / 迁移 / Cloud-Init 专题https://pve.oowo.cc/advanced/vm-backup-migration-cloudinit
## Sponsor
如果这个项目帮你节省了时间、避开了误操作,或者单纯想支持后续维护与继续更新,可以通过以下页面赞助:
- Sponsor 页面https://pve.u3u.icu/sponsor
- Sponsor 页面https://pve.oowo.cc/sponsor
- 爱发电https://afdian.com/a/cyrenenight
- 微信:![微信赞赏码](./images/WeChat.jpg)
@@ -84,7 +84,7 @@ sudo ./PVE-Tools.sh
如果你需要一对一远程协助、紧急救砖、网络配置、直通问题排查或完整代配,可以直接查看官方付费支持说明:
- 付费技术支持页面https://pve.u3u.icu/pay
- 付费技术支持页面https://pve.oowo.cc/pay
这里购买的是时间与交付结果,不是单纯赞助。
@@ -97,16 +97,16 @@ sudo ./PVE-Tools.sh
这是一个会真实调用 PVE 原生命令并修改宿主机 / VM 配置的运维工具。如果你在没有经过验证的备份、没有维护窗口、没有明确回滚方案的前提下执行高风险动作,可能导致管理面失联、业务中断、配置损坏或不可逆的数据损失。所有数据损失、恢复成本与第三方恢复费用均由实际操作人自行承担。
完整 ULA 页面https://pve.u3u.icu/ula
完整 ULA 页面https://pve.oowo.cc/ula
该页面主要说明脚本的适用范围、风险边界、用户自担的操作责任,以及对网络中断、配置错误、数据损坏、业务不可用和衍生恢复成本的免责声明。
执行备份恢复、迁移、Cloud-Init、磁盘调整、GPU 直通、宿主机网络或防火墙变更前,建议先完整阅读。
## Community
- 官网https://pve.u3u.icu
- 官网https://pve.oowo.cc
- GitHub Issueshttps://github.com/Mapleawaa/PVE-Tools-9/issues
- QQ 群1031976463
- Sponsorhttps://pve.u3u.icu/sponsor
- Sponsorhttps://pve.oowo.cc/sponsor
## License

View File

@@ -4,7 +4,7 @@
An all-in-one operations script for Proxmox VE 9.x, covering VM lifecycle workflows, host networking / firewall / IPv6, GPU / PCI passthrough, day-to-day maintenance, and third-party integrations.
[Docs](https://pve.u3u.icu) | [Changelog](https://pve.u3u.icu/update) | [FAQ](https://pve.u3u.icu/faq) | [中文](./README.md) | [日本語](./REAMDE-JP.md)
[Docs](https://pve.oowo.cc) | [Changelog](https://pve.oowo.cc/update) | [FAQ](https://pve.oowo.cc/faq) | [中文](./README.md) | [日本語](./REAMDE-JP.md)
</div>
@@ -22,7 +22,7 @@ Key capabilities:
## Quick Start
```bash
bash <(curl -sSL https://pve.u3u.icu/PVE-Tools.sh)
bash <(curl -sSL https://pve.oowo.cc/PVE-Tools.sh)
```
## Safety Notes
@@ -34,25 +34,25 @@ bash <(curl -sSL https://pve.u3u.icu/PVE-Tools.sh)
## Website Links
- Documentation: https://pve.u3u.icu
- Features: https://pve.u3u.icu/features
- Changelog: https://pve.u3u.icu/update
- FAQ: https://pve.u3u.icu/faq
- Host network / firewall / IPv6 guide: https://pve.u3u.icu/advanced/host-network-firewall-ipv6
- VM backup / migration / Cloud-Init guide: https://pve.u3u.icu/advanced/vm-backup-migration-cloudinit
- Documentation: https://pve.oowo.cc
- Features: https://pve.oowo.cc/features
- Changelog: https://pve.oowo.cc/update
- FAQ: https://pve.oowo.cc/faq
- Host network / firewall / IPv6 guide: https://pve.oowo.cc/advanced/host-network-firewall-ipv6
- VM backup / migration / Cloud-Init guide: https://pve.oowo.cc/advanced/vm-backup-migration-cloudinit
## Sponsor
If this project saves you time or helps you avoid costly mistakes, you can support ongoing maintenance here:
- Sponsor page: https://pve.u3u.icu/sponsor
- Sponsor page: https://pve.oowo.cc/sponsor
- Afdian: https://afdian.com/a/cyrenenight
## Pay For Services
If you need one-on-one remote support, emergency recovery, passthrough troubleshooting, network work, or a full PVE setup, check the paid support page:
- Paid support: https://pve.u3u.icu/pay
- Paid support: https://pve.oowo.cc/pay
## Other Languages
@@ -63,7 +63,7 @@ If you need one-on-one remote support, emergency recovery, passthrough troublesh
This project is a real operations tool for Proxmox VE hosts and guests. If you run high-risk actions without validated backups, a maintenance window, and a rollback plan, you may cause management-plane loss, guest outage, or irreversible data damage. All data loss, recovery cost, and third-party recovery expenses remain the responsibility of the operator.
Full ULA page: https://pve.u3u.icu/ula
Full ULA page: https://pve.oowo.cc/ula
The ULA outlines the intended scope of the script, its risk boundaries, the operator's responsibilities, and the disclaimer for network interruption, configuration mistakes, data damage, service unavailability, and related recovery costs. Read it before running backup or restore, migration, Cloud-Init, disk changes, GPU passthrough, host networking, or firewall operations.
## License

114
Tools/CLAUDE.md Normal file
View File

@@ -0,0 +1,114 @@
[根目录](../CLAUDE.md) > **Tools**
# Tools -- 第三方系统维护工具集
## 模块职责
集成来自 tteck (https://github.com/tteck/Proxmox) 社区的 13 个 Proxmox 系统维护脚本,覆盖系统配置、容器管理、系统维护与监控四大类别。这些脚本独立于主脚本运行,不在 PVE-Tools 主菜单中自动调用。
> 从 v5.0.0 起,主菜单中原有的 tteck 工具入口已替换为 FastPVE。本目录中的脚本如需使用请手动运行。
## 入口与启动
| 项目 | 说明 |
|---|---|
| 总入口 | 各 `.sh` 文件独立运行,无统一入口 |
| 文档 | `Tools/README.md` |
| 占位标记 | `Tools/.gitkeep`(保持空目录纳入 Git |
### 使用方式
```bash
cd Tools
bash <script-name>.sh
```
## 脚本清单
### 系统配置工具5个
| 脚本 | 功能 | 来源 |
|---|---|---|
| `post-pbs-install.sh` | Proxmox Backup Server 安装后配置 | tteck |
| `post-pve-install.sh` | Proxmox VE 安装后配置(换源、更新、基础优化) | tteck |
| `scaling-governor.sh` | CPU 调频策略配置performance/powersave/ondemand 等) | tteck |
| `microcode.sh` | CPU 微码更新工具 | tteck |
| `kernel-pin.sh` | 固定内核版本,防止自动升级 | tteck |
### 容器管理工具3个
| 脚本 | 功能 | 来源 |
|---|---|---|
| `update-lxcs.sh` | 批量更新所有 LXC 容器内系统包 | tteck |
| `cron-update-lxcs.sh` | 配置定时任务自动更新 LXC 容器 | tteck |
| `clean-lxcs.sh` | 清理 LXC 容器缓存和日志 | tteck |
### 系统维护工具4个
| 脚本 | 功能 | 来源 |
|---|---|---|
| `host-backup.sh` | Proxmox 宿主机配置备份 | tteck |
| `kernel-clean.sh` | 清理旧内核版本,释放 /boot 空间 | tteck |
| `fstrim.sh` | SSD TRIM 优化,定期执行 discard | tteck |
| `monitor-all.sh` | 系统全局状态监控 | tteck |
### 监控工具1个
| 脚本 | 功能 | 来源 |
|---|---|---|
| `netdata.sh` | Netdata 实时监控系统安装与配置 | tteck |
## 关键依赖与配置
- **运行环境**: Proxmox VE 宿主机Debian 系root 权限
- **日志文件**: 所有脚本执行日志默认写入 `/var/log/pve-tools.log`
- **外部依赖**: 各脚本各自管理依赖,通常自动通过 apt 安装
- **无统一配置**: 每个脚本独立运行,无共享配置文件
## 数据模型
本模块不涉及持久化数据模型。每个脚本直接操作 Proxmox 系统配置(如 `/etc/apt/sources.list``/etc/default/grub`、内核文件等)。
## 测试与质量
- **代码审查**: 脚本来自 tteck 社区,经过社区验证
- **独立测试**: 各脚本可在测试 PVE 环境中单独验证
- **无 CI 覆盖**: 这些脚本不在 `.github/workflows/pr-validation.yml` 的 shellcheck 范围内
## 常见问题 (FAQ)
**Q: 主脚本中还有这些工具吗?**
从 v5.0.0 起,主菜单第 14 项已改为 FastPVE。Tools 目录中的脚本保留供手动使用。
**Q: 这些脚本安全吗?**
来自 tteck/ProxmoxMIT License社区维护经过大量用户验证。但执行前仍会显示确认提示建议先阅读脚本内容。
**Q: 执行日志在哪里?**
默认写入 `/var/log/pve-tools.log`
## 相关文件清单
```
Tools/
.gitkeep # Git 占位文件
README.md # 本模块说明文档
post-pbs-install.sh # PBS 安装后配置
post-pve-install.sh # PVE 安装后配置
scaling-governor.sh # CPU 调频策略
microcode.sh # CPU 微码更新
kernel-pin.sh # 内核版本固定
kernel-clean.sh # 旧内核清理
update-lxcs.sh # 批量更新 LXC
cron-update-lxcs.sh # 定时自动更新 LXC
clean-lxcs.sh # 清理 LXC 缓存
host-backup.sh # 宿主机配置备份
fstrim.sh # SSD TRIM 优化
monitor-all.sh # 全局系统监控
netdata.sh # Netdata 安装配置
```
## 变更记录 (Changelog)
| 日期 | 变更 |
|---|---|
| 2026-04-28 | 初始化 Tools 模块 CLAUDE.md |

View File

@@ -1,10 +1,56 @@
import { defineConfig } from 'vitepress'
const SITE_URL = 'https://pve.oowo.cc'
const SITE_NAME = 'PVE-Tools-9'
const SITE_DESCRIPTION = 'PVE-Tools-9 是面向 Proxmox VE 9.x 的一键运维脚本覆盖换源、系统维护、VM 生命周期、宿主机网络、防火墙、IPv6、GPU 与 PCI 直通。'
const DEFAULT_OG_IMAGE = `${SITE_URL}/og-image.png`
function pageToUrl(page: string): string {
const normalized = page
.replace(/(^|\/)index\.md$/, '$1')
.replace(/\.md$/, '')
if (!normalized) {
return `${SITE_URL}/`
}
return `${SITE_URL}/${normalized}`
}
export default defineConfig({
title: "PVE-Tools",
description: "让每个人都能体验虚拟化技术带来的便利。",
ignoreDeadLinks: true,
lang: 'zh-CN',
title: SITE_NAME,
titleTemplate: ':title | PVE-Tools-9',
description: SITE_DESCRIPTION,
cleanUrls: true,
lastUpdated: true,
ignoreDeadLinks: 'localhostLinks',
sitemap: {
hostname: SITE_URL,
lastmodDateOnly: true,
transformItems: (items) => items.map((item) => {
const path = item.url.startsWith('http')
? new URL(item.url).pathname
: item.url.startsWith('/')
? item.url
: `/${item.url}`
return {
...item,
changefreq: path === '/' ? 'weekly' : 'monthly',
priority: path === '/' ? 1 : path.startsWith('/advanced/') ? 0.7 : 0.8
}
})
},
srcExclude: ['CLAUDE.md'],
head: [
['link', { rel: 'icon', href: '/logo.svg', type: 'image/svg+xml' }],
['meta', { name: 'author', content: 'Maple' }],
['meta', { name: 'keywords', content: 'PVE-Tools, PVE-Tools-9, Proxmox VE 9, Proxmox, PVE 运维脚本, 虚拟机管理, GPU 直通, PCI 直通, IPv6, 防火墙' }],
['meta', { name: 'robots', content: 'index,follow,max-image-preview:large' }],
['meta', { property: 'og:site_name', content: SITE_NAME }],
['meta', { property: 'og:locale', content: 'zh_CN' }],
['meta', { name: 'twitter:card', content: 'summary_large_image' }],
['link', { rel: 'stylesheet', href: 'https://s1.hdslb.com/bfs/static/jinkela/longtu/images/harmonyos_sans_sc.css' }],
['link', { rel: 'stylesheet', href: 'https://s1.hdslb.com/bfs/static/jinkela/longtu/images/harmonyos_sans_sc_mono.css' }],
['script', {
@@ -14,6 +60,25 @@ export default defineConfig({
'data-website-id': '20d9b612-ee9c-4e5e-9183-1abd4e401629'
}]
],
transformHead({ page, title, description }) {
const url = pageToUrl(page)
const pageTitle = title || SITE_NAME
const pageDescription = description || SITE_DESCRIPTION
return [
['link', { rel: 'canonical', href: url }],
['meta', { property: 'og:type', content: 'website' }],
['meta', { property: 'og:title', content: pageTitle }],
['meta', { property: 'og:description', content: pageDescription }],
['meta', { property: 'og:url', content: url }],
['meta', { property: 'og:image', content: DEFAULT_OG_IMAGE }],
['meta', { property: 'og:image:width', content: '1200' }],
['meta', { property: 'og:image:height', content: '630' }],
['meta', { name: 'twitter:title', content: pageTitle }],
['meta', { name: 'twitter:description', content: pageDescription }],
['meta', { name: 'twitter:image', content: DEFAULT_OG_IMAGE }]
]
},
themeConfig: {
logo: {
light: '/logo-horizontal.svg',
@@ -21,7 +86,7 @@ export default defineConfig({
},
nav: [
{ text: '首页', link: '/' },
{ text: '公告', link: '/faq#为什么-u3u-icu-域名访问缓慢或失败' },
{ text: '公告', link: '/update' },
{ text: '使用指南', link: '/guide' },
{ text: '提交插件', link: '/submit-plugin' },
{ text: '高级教程', link: '/advanced/' },
@@ -31,6 +96,12 @@ export default defineConfig({
{ text: 'ULA', link: '/ula' },
{ text: 'GitHub', link: 'https://github.com/Mapleawaa/PVE-Tools-9' }
],
search: {
provider: 'local'
},
lastUpdated: {
text: '最后更新'
},
sidebar: [
{
text: '开始使用',
@@ -70,7 +141,7 @@ export default defineConfig({
},
// 自定义脚本源配置
scriptSources: {
cloudflare: 'https://pve.u3u.icu/PVE-Tools.sh',
cloudflare: 'https://pve.oowo.cc/PVE-Tools.sh',
ghfast: 'https://ghfast.top/raw.githubusercontent.com/Mapleawaa/PVE-Tools-9/main/PVE-Tools.sh',
github: 'https://raw.githubusercontent.com/Mapleawaa/PVE-Tools-9/main/PVE-Tools.sh',
edgeone: '未上线'

222
Web/CLAUDE.md Normal file
View File

@@ -0,0 +1,222 @@
[根目录](../CLAUDE.md) > **Web**
# Web -- VitePress 文档站模块
## 模块职责
为 PVE-Tools-9 项目提供官方文档网站。使用 VitePress 构建,部署于 Cloudflare Pages域名 `pve.oowo.cc`。包含使用指南、功能特性、FAQ、更新日志、高级教程、法律条款等内容同时集成了 Giscus 评论系统和 Umami 分析。
## 入口与启动
| 项目 | 说明 |
|---|---|
| 入口页面 | `Web/index.md`首页layout: home |
| VitePress 配置 | `Web/.vitepress/config.mts` |
| 主题入口 | `Web/.vitepress/theme/index.ts` |
| 依赖管理 | `Web/package.json` + `Web/bun.lock` |
| Cloudflare 配置 | `Web/wrangler.jsonc`Pages 部署) |
| Workers 入口 | `Web/index.js`(转发到 ASSETS |
### 启动命令
```bash
cd Web
bun run dev # 开发模式,默认 http://localhost:5173
bun run build # 构建到 .vitepress/dist/
bun run preview # 预览构建结果
```
构建时(`build` 脚本)会自动复制根级 `VERSION``UPDATE``PVE-Tools.sh` 到 dist 目录。
## 对外接口
### 网站导航结构
**顶部导航栏nav**:
- 首页 (`/`) / 公告 (`/faq#...`) / 使用指南 (`/guide`) / 提交插件 (`/submit-plugin`)
- 高级教程 (`/advanced/`) / 更新日志 (`/update`) / 开发计划 (`/todo`)
- TOS (`/tos`) / ULA (`/ula`) / GitHub
**侧边栏sidebar**:
- 开始使用: 简介、功能特性、提交插件、更新日志、开发计划、TOS、ULA、FAQ
- 高级教程: 10 篇专题文章GPU 直通、CPU 调优、PVE 升级、存储、网络、恢复等)
### 页面路由表
| 路由 | 文件 | 说明 |
|---|---|---|
| `/` | `index.md` | 首页,英雄区 + 功能卡片 + 时间线 |
| `/guide` | `guide.md` | 使用指南,高风险功能提醒 |
| `/features` | `features.md` | 功能特性列表 |
| `/faq` | `faq.md` | 常见问题 |
| `/update` | `update.md` | 完整更新日志v1.x - v7.2.0 |
| `/todo` | `todo.md` | 开发计划(渲染 TodoList 组件) |
| `/sponsor` | `sponsor.md` | 赞助页面 |
| `/pay` | `pay.md` | 付费技术支持 |
| `/tos` | `tos.md` | 服务条款 |
| `/ula` | `ula.md` | 最终用户许可协议 v3.0 |
| `/submit-plugin` | `submit-plugin.md` | 插件提交流程说明 |
| `/advanced/` | `advanced/index.md` | 高级教程总览 |
| `/advanced/cpu-optimization` | `advanced/cpu-optimization.md` | CPU 性能调优 |
| `/advanced/data-recovery-after-mistake` | `advanced/data-recovery-after-mistake.md` | 误操作后数据恢复 |
| `/advanced/gpu-passthrough` | `advanced/gpu-passthrough.md` | Intel 核显直通 |
| `/advanced/gpu-virtualization` | `advanced/gpu-virtualization.md` | 核显虚拟化 SR-IOV |
| `/advanced/host-network-firewall-ipv6` | `advanced/host-network-firewall-ipv6.md` | 宿主机网络/防火墙/IPv6 |
| `/advanced/how-to-connect-ssh` | `advanced/how-to-connect-ssh.md` | 如何连接到 PVE SSH |
| `/advanced/nvidia-vgpu-driver-notes` | `advanced/nvidia-vgpu-driver-notes.md` | NVIDIA vGPU 驱动说明 |
| `/advanced/pve-upgrade` | `advanced/pve-upgrade.md` | PVE 8 升级 9 |
| `/advanced/storage-management` | `advanced/storage-management.md` | 存储管理与休眠 |
| `/advanced/vm-backup-migration-cloudinit` | `advanced/vm-backup-migration-cloudinit.md` | VM 备份/迁移/Cloud-Init |
### 自定义 Vue 组件
| 组件 | 文件 | 功能 |
|---|---|---|
| `Announcement` | `.vitepress/theme/components/Announcement.vue` | 插件提交通道公告横幅可关闭localStorage 持久化) |
| `CopyCodeBox` | `.vitepress/theme/components/CopyCodeBox.vue` | 终端风格的一键复制安装命令框,支持切换下载源 |
| `Giscus` | `.vitepress/theme/components/Giscus.vue` | GitHub Discussions 评论系统,随主题切换 dark/light |
| `HomeFeaturesWithTimeline` | `.vitepress/theme/components/HomeFeaturesWithTimeline.vue` | 首页功能卡片 + 更新时间线组件 |
| `TodoList` | `.vitepress/theme/components/TodoList.vue` | 开发计划列表组件,渲染 todo-data.json 数据 |
### 主题扩展 (`.vitepress/theme/index.ts`)
- 扩展 VitePress 默认主题
- 注入暗色模式切换动画(`ViewTransition API`,圆形裁剪展开/收起)
- 在布局插槽中挂载自定义组件:
- `home-hero-after` -> CopyCodeBox
- `layout-top` -> Announcement
- `doc-after` -> Giscus
## 关键依赖与配置
### 运行时依赖
| 包 | 版本 | 说明 |
|---|---|---|
| `vitepress` | ^1.6.4 | 静态文档站生成器 |
| `vue` | ^3.5.27 | 前端框架 |
| `lucide-vue-next` | ^0.563.0 | 图标组件库 |
| `@types/bun` | latest | Bun 类型声明 |
| `typescript` | ^5 (peer) | TypeScript |
### 外部服务
| 服务 | 用途 | 配置位置 |
|---|---|---|
| Cloudflare Pages | 网站托管与 CDN | `wrangler.jsonc` |
| Umami | 匿名访问分析 | `config.mts`head 中的 script |
| Giscus | 文档评论系统 | `Giscus.vue`repo: Mapleawaa/PVE-Tools-9 |
| HarmonyOS Sans | 全局字体 | `config.mts`head 中的 link |
| Iconify (MDI) | 功能卡片图标 | `HomeFeaturesWithTimeline.vue`CSS mask-image |
### 样式系统
- 主题色: `--vp-c-brand: #646cff`VitePress 默认紫色系微调)
- 全局字体: HarmonyOS Sans SC优先/ PingFang SC / Microsoft YaHei 回退
- 等宽字体: HarmonyOS Sans SC Mono / JetBrains Mono
- 标题/页脚特效: Mesh Gradient 动画8s ease infinite
- 暗色模式: 通过 VitePress 的 `isDark` + ViewTransition API 实现
## 数据模型
### todo-data.json 结构
```typescript
interface UpcomingFeature {
title: string;
status: "in-progress" | "pending" | "completed";
description: string;
}
interface TimelineEvent {
date: string; // 例如 "2026-04-06"
event: string; // 标题
description: string;
}
interface TodoData {
upcoming_features: UpcomingFeature[];
timeline: TimelineEvent[];
}
```
## 测试与质量
- **类型检查**: 使用 TypeScriptpeerDependencyVue 组件使用 `<script setup lang="ts">`
- **构建验证**: `bun run build` 成功即表示所有页面和路由可正常构建
- **死链检查**: 配置 `ignoreDeadLinks: true`(已知某些外部链接可能不可达)
- **代码质量**: 无 lint 配置,组件代码逻辑简单,主要依赖 Vue/VitePress 框架保证
## 常见问题 (FAQ)
**Q: 如何添加新的文档页面?**
`Web/` 下创建 `.md` 文件,然后在 `config.mts``themeConfig.sidebar` 中添加对应条目。
**Q: 如何新增自定义组件?**
`Web/.vitepress/theme/components/` 创建 `.vue` 文件,然后在 `theme/index.ts` 中注册到对应布局插槽。
**Q: 构建产物在哪里?**
`Web/.vitepress/dist/`,由 Cloudflare Pages 直接部署。此目录被 `.gitignore` 忽略。
**Q: 数据文件如何加载?**
`todo-data.json` 通过 Vite 的 JSON import 直接导入到 Vue 组件中。
## 相关文件清单
```
Web/
index.md # 首页
guide.md # 使用指南
features.md # 功能特性
faq.md # 常见问题
update.md # 更新日志
todo.md # 开发计划
sponsor.md # 赞助
pay.md # 付费支持
tos.md # 服务条款
ula.md # 用户协议
submit-plugin.md # 插件提交
package.json # 依赖配置
bun.lock # 依赖锁
wrangler.jsonc # Cloudflare 配置
index.js # Workers 入口
todo-data.json # 开发计划数据
advanced/
index.md # 高级教程总览
cpu-optimization.md
data-recovery-after-mistake.md
gpu-passthrough.md
gpu-virtualization.md
host-network-firewall-ipv6.md
how-to-connect-ssh.md
nvidia-vgpu-driver-notes.md
pve-upgrade.md
storage-management.md
vm-backup-migration-cloudinit.md
.vitepress/
config.mts # VitePress 配置
theme/
index.ts # 主题入口
custom.css # 全局样式
components/
Announcement.vue # 公告横幅
CopyCodeBox.vue # 命令复制框
Giscus.vue # 评论组件
HomeFeaturesWithTimeline.vue # 首页功能+时间线
TodoList.vue # 开发计划列表
public/
logo.svg # 亮色 Logo
logo-dark.svg # 暗色 Logo
logo-horizontal.svg # 水平 Logo
logo-horizontal-dark.svg # 水平暗色 Logo
assets/
images/
Proxmox-Corporate-Brandguideline.pdf # Proxmox 品牌指南
Proxmox_logos_full_lockup_SVG/ # Proxmox 官方 Logo SVG
```
## 变更记录 (Changelog)
| 日期 | 变更 |
|---|---|
| 2026-04-28 | 初始化 Web 模块 CLAUDE.md |

View File

@@ -1,3 +1,8 @@
---
title: CPU 性能调优
description: 了解 Proxmox VE 9 中 CPU 调速器、intel_pstate、性能模式、节能模式与 PVE-Tools-9 持久化调优方案。
---
# CPU 性能调优:让 PVE 跑得更丝滑
很多用户发现 PVE 默认状态下 CPU 频率跳动异常,或者在低负载时功耗依然很高。这通常是因为 CPU 的“调速器Governor”配置不当。

View File

@@ -1,3 +1,8 @@
---
title: 误操作后的数据恢复
description: 面向 Proxmox VE 误操作场景,说明 VM、磁盘、快照、备份恢复和存储事故后的止损、取证与恢复优先级。
---
# 误操作后的数据恢复
---

View File

@@ -1,3 +1,8 @@
---
title: Intel 核显直通深度教程
description: 了解 PVE-Tools-9 在 Proxmox VE 9 中处理 Intel 核显直通、修改版 QEMU、ROM 注入、Code 43 与回滚排障的流程。
---
# Intel 核显直通深度教程:告别代码 43
在 PVE 虚拟化环境当中,把 Intel 核显也就是 iGPU 直通给 Windows 虚拟机,一直都被折腾玩家视作“噩梦”以及“高频翻车点”。其常见的症状囊括了:设备管理器里会显示“代码 43”、虚拟机出现黑屏、又或者是安装驱动之后马上蓝屏乃至异常重启。

View File

@@ -1,3 +1,8 @@
---
title: 核显虚拟化 SR-IOV 与 GVT-g
description: 比较 Intel 核显 SR-IOV 与 GVT-g 的适用范围,整理 PVE-Tools-9 的虚拟核显配置、自检、排障和回滚建议。
---
# 核显虚拟化SR-IOV 与 GVT-g 的抉择
如果你希望能让一个核显同时去驱动多个虚拟机,像给 OpenWrt 做硬解或者给 Windows 做日常使用,那么核显虚拟化便是你的最佳选用。这是一条更具“工程化”色彩的路线:性能更稳定、资源分配更可控,也更利于开展长期的维护工作。

View File

@@ -1,3 +1,8 @@
---
title: 宿主机网络、防火墙与 IPv6
description: 了解 PVE-Tools-9 的 Proxmox VE 宿主机 bridge、Bond、VLAN、IPv4、IPv6、防火墙和网络诊断配置流程。
---
# 宿主机网络 / 防火墙 / IPv6
这篇文档对应脚本中的“宿主机网络配置向导”,面向 PVE 9 宿主机的 bridge / Bond / VLAN / 防火墙 / IPv6 / 诊断场景。

View File

@@ -1,3 +1,8 @@
---
title: 如何连接到 PVE 主机的 SSH
description: 介绍 Windows、Linux、macOS 和常见 SSH 工具连接 Proxmox VE 主机的方法、账号填写与连接故障处理建议。
---
# 如何连接到 PVE 主机的 SSH
本文用于介绍如何通过各种已知方式连接到 PVE 主机的 SSH 教程。

View File

@@ -1,3 +1,8 @@
---
title: 高级教程
description: PVE-Tools-9 高级教程,覆盖 GPU 直通、SR-IOV、CPU 调优、PVE 8 升级 9、存储管理、网络防火墙与数据恢复。
---
# 高级功能深度解析
本章节将深入探讨 PVE-Tools 提供的部分高级功能,包括它们的底层原理、配置要点以及使用中的注意事项。这些功能通常涉及系统内核和底层驱动的修改,建议在充分理解后再进行操作。

View File

@@ -1,3 +1,8 @@
---
title: NVIDIA vGPU 驱动安装说明
description: 解释 PVE-Tools-9 不默认自动安装 NVIDIA vGPU 驱动的原因,以及 Proxmox VE 内核、驱动版本和 DKMS 匹配风险。
---
# NVIDIA vGPU 驱动安装说明:为何不建议脚本自动化安装
本文用于解释:为什么 PVE-Tools 当前不再提供 NVIDIA vGPU 驱动“一键自动安装”,而是建议用户采用手工流程并按版本匹配后再安装。

View File

@@ -1,3 +1,8 @@
---
title: PVE 8 升级 PVE 9 全攻略
description: 查看 Proxmox VE 8 跨版本升级到 PVE 9 的检查项、备份策略、软件源调整、升级步骤、回滚与验证建议。
---
# PVE 8 跨版本升级 PVE 9 全攻略
Proxmox VE 9.0 也就是基于 Debian 13 Trixie 构建的版本,带来了许多性能提升以及新特性。但是“跨大版本升级”始终属于系统级的操作:只有**能做到可控、可回退、可验证**,才算得上真正稳妥。

View File

@@ -1,3 +1,8 @@
---
title: 存储管理
description: 解释 Proxmox VE 中 local 与 local-lvm 的区别,介绍 PVE-Tools-9 的合并存储、硬盘休眠与存储安全建议。
---
# 存储管理local 与 local-lvm 的爱恨情仇
刚安装完 PVE 的用户通常会很困惑:为什么我的硬盘被分成了 `local``local-lvm`?为什么 `local` 只有一点点空间?

View File

@@ -1,3 +1,8 @@
---
title: VM 备份、迁移与 Cloud-Init
description: 学习 PVE-Tools-9 的 VM 备份恢复、模板克隆、Cloud-Init、磁盘快照、网络管理与集群内迁移工作流。
---
# VM 备份 / 迁移 / Cloud-Init
这篇文档对应脚本中的“虚拟机高级运维工具箱”,覆盖 VM 备份恢复、模板克隆、Cloud-Init、磁盘/快照/网络与集群内迁移等能力。

View File

@@ -1,3 +1,8 @@
---
title: 常见问题
description: PVE-Tools-9 常见问题,包括支持版本、安全性、运行依赖、下载速度、回滚与卸载建议。
---
# 常见问题
## Q: 这个脚本安全吗?
@@ -6,8 +11,8 @@ A: 脚本是完全开源的,您可以随时在 GitHub 上查看源代码。它
## Q: 支持 PVE 8.x 版本吗?
A: 本版本PVE-Tools-9主要针对 PVE 9.0 (Debian 13) 进行了优化。对于旧版本,虽然部分功能可能兼容,但建议使用对应的旧版脚本。
## Q: 为什么 u3u.icu 域名访问缓慢或失败
A: 由于 `u3u.icu` 域名是近期新注册的,且托管在 Cloudflare 全球网络,部分地区的 ISP 可能会有解析延迟或访问限制。我们正在努力优化访问体验,并且**备案站点可能会在未来上线**,以提供更稳定的国内访问
## Q: 官方网站和安装地址是什么
A: 官方网站为 `https://pve.oowo.cc`。推荐安装命令为 `bash <(curl -sSL https://pve.oowo.cc/PVE-Tools.sh)`
## Q: 执行脚本报错提示 "Command not found"
A: 请确保您安装了 `curl``wget`。如果是在新安装的系统上,可以先运行 `apt update && apt install curl -y`

View File

@@ -1,3 +1,8 @@
---
title: 功能特性
description: 了解 PVE-Tools-9 支持的软件源管理、VM 运维、网络防火墙、IPv6、GPU 直通、系统维护与安全确认机制。
---
# 功能特性
PVE-Tools 围绕 Proxmox VE 9.x 的高频运维场景做了集中封装重点覆盖源管理、系统维护、虚拟机生命周期、宿主机网络、防火墙、IPv6 与 GPU / PCI 直通等模块。

View File

@@ -1,3 +1,8 @@
---
title: 使用指南
description: 查看 PVE-Tools-9 的安装命令、运行要求、高风险功能说明和 Proxmox VE 9 运维推荐流程。
---
# 使用指南
## 快速开始
@@ -5,7 +10,7 @@
在 PVE 终端中执行以下命令即可启动工具:
```bash
bash <(curl -sSL https://pve.u3u.icu/PVE-Tools.sh)
bash <(curl -sSL https://pve.oowo.cc/PVE-Tools.sh)
```
## 注意事项

View File

@@ -1,5 +1,7 @@
---
layout: home
title: Proxmox VE 9 一键运维脚本
description: PVE-Tools-9 是面向 Proxmox VE 9.x 的一键运维脚本覆盖换源、系统维护、VM 生命周期、宿主机网络、防火墙、IPv6、GPU 与 PCI 直通。
hero:
name: "PVE-Tools-9"

View File

@@ -55,7 +55,7 @@ description: 没时间折腾?遇到棘手的 PVE 问题?我可以为你提
请通过以下方式联系,并**附上你的问题描述**最好有截图、日志、PVE 版本、硬件信息),以便我快速评估。
- 📧 邮箱:`Support@u3u.icu`(标题请带 `[PVE付费]`,务必携带可以联系的联系方式,我无法通过邮件发信联系你)
- 📧 邮箱:`Support@oowo.cc`(标题请带 `[PVE付费]`,务必携带可以联系的联系方式,我无法通过邮件发信联系你)
- 💬 微信:`Kilomaple2024`备注“PVE付费”
- 🧧 爱发电:`https://afdian.com/a/cyrenenight`(先留言说明需求)

BIN
Web/public/og-image.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

4
Web/public/robots.txt Normal file
View File

@@ -0,0 +1,4 @@
User-agent: *
Allow: /
Sitemap: https://pve.oowo.cc/sitemap.xml