Rename product to Warpgate — Make your NAS feel local

- Rename NAS Cache Proxy → Warpgate throughout PRD
- Update CLI commands: nas-cache → warpgate
- Update paths: /mnt/ssd/nas-cache → /mnt/ssd/warpgate
- Rename file: nas-cache-proxy-prd-v3.md → warpgate-prd-v3.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
grabbit 2026-02-16 18:05:23 +08:00
parent c3b458bced
commit aa2db2bf5f

View File

@ -1,4 +1,4 @@
# NAS Cache Proxy — 产品方案与需求描述v3 # Warpgate — Make your NAS feel local — 产品方案与需求描述v3
--- ---
@ -77,7 +77,7 @@
### 3.3 多协议对外服务(设计讨论) ### 3.3 多协议对外服务(设计讨论)
**问题**:客户端 → Cache Proxy 之间只支持 SMB 是否足够? **问题**:客户端 → Warpgate 之间只支持 SMB 是否足够?
**讨论**不同客户端设备对协议的偏好不同。macOS + Lightroom 最适合 SMB但 Linux 客户端用 NFS 性能更好(内核级支持,且 Linux 侧还能再叠一层 FS-CacheiPad/移动端 App 则普遍支持 WebDAV。 **讨论**不同客户端设备对协议的偏好不同。macOS + Lightroom 最适合 SMB但 Linux 客户端用 NFS 性能更好(内核级支持,且 Linux 侧还能再叠一层 FS-CacheiPad/移动端 App 则普遍支持 WebDAV。
@ -178,7 +178,7 @@
利用 Samba 原生 Time Machine 支持,让 macOS 用户的 Mac 出差时也有本地备份兜底。 利用 Samba 原生 Time Machine 支持,让 macOS 用户的 Mac 出差时也有本地备份兜底。
- Samba 配置开启 `fruit:time machine = yes` - Samba 配置开启 `fruit:time machine = yes`
- **Time Machine 使用独立目录**`/mnt/ssd/nas-cache/timemachine/`),不通过 rclone VFS 管理,避免 sparsebundle 的大量小文件干扰 rclone 缓存逻辑 - **Time Machine 使用独立目录**`/mnt/ssd/warpgate/timemachine/`),不通过 rclone VFS 管理,避免 sparsebundle 的大量小文件干扰 rclone 缓存逻辑
- Time Machine 备份写入 SSD 的 `timemachine/` 目录 - Time Machine 备份写入 SSD 的 `timemachine/` 目录
- **独立的 TM 回写引擎**异步归档到 NAS 的 `TIMEMACHINE_PATH` 目录(与通用 Write-back Controller 分离,详见下文) - **独立的 TM 回写引擎**异步归档到 NAS 的 `TIMEMACHINE_PATH` 目录(与通用 Write-back Controller 分离,详见下文)
- `TIMEMACHINE_MAX_SIZE` 作为硬配额强制执行(通过 smb.conf 的 `fruit:time machine max size` 参数),防止占满缓存盘 - `TIMEMACHINE_MAX_SIZE` 作为硬配额强制执行(通过 smb.conf 的 `fruit:time machine max size` 参数),防止占满缓存盘
@ -207,16 +207,16 @@ TM 回写策略:
- 预热进度显示 - 预热进度显示
#### 4.12 管理工具CLI #### 4.12 管理工具CLI
- `nas-cache status` — 查看服务状态、缓存命中率、回写队列、冲突文件数 - `warpgate status` — 查看服务状态、缓存命中率、回写队列、冲突文件数
- `nas-cache cache-list` — 列出缓存中的文件 - `warpgate cache-list` — 列出缓存中的文件
- `nas-cache cache-clean` — 清理缓存 - `warpgate cache-clean` — 清理缓存
- `nas-cache warmup` — 手动预热 - `warpgate warmup` — 手动预热
- `nas-cache bwlimit` — 动态调整带宽限制 - `warpgate bwlimit` — 动态调整带宽限制
- `nas-cache conflicts` — 查看和处理冲突文件 - `warpgate conflicts` — 查看和处理冲突文件
- `nas-cache ingest` — 手动触发 SD 卡导入 - `warpgate ingest` — 手动触发 SD 卡导入
- `nas-cache verify` — 双卡校验 - `warpgate verify` — 双卡校验
- `nas-cache log` — 查看实时日志 - `warpgate log` — 查看实时日志
- `nas-cache speed-test` — 链路速度测试 - `warpgate speed-test` — 链路速度测试
#### 4.13 带宽管理 #### 4.13 带宽管理
- 支持上传/下载分别限速 - 支持上传/下载分别限速
@ -272,7 +272,7 @@ TM 回写策略:
- 基于访问频率自动调整缓存优先级(热数据不被淘汰) - 基于访问频率自动调整缓存优先级(热数据不被淘汰)
#### 4.21 Docker 镜像 #### 4.21 Docker 镜像
- 一行命令启动:`docker run -v /mnt/ssd:/cache nas-cache-proxy` - 一行命令启动:`docker run -v /mnt/ssd:/cache warpgate`
- docker-compose 配置 - docker-compose 配置
- 支持环境变量或挂载配置文件 - 支持环境变量或挂载配置文件
@ -599,7 +599,7 @@ Day 3+: 后台轮询检测到远程目录变化
#### 5.7.2 缓存目录结构 #### 5.7.2 缓存目录结构
``` ```
/mnt/ssd/nas-cache/ /mnt/ssd/warpgate/
├── vfs/ # rclone VFS 缓存目录rclone 内部管理,外部进程不直接写入) ├── vfs/ # rclone VFS 缓存目录rclone 内部管理,外部进程不直接写入)
│ └── photos/ │ └── photos/
│ ├── 2026/ │ ├── 2026/
@ -1242,7 +1242,7 @@ for dir in watched_directories:
| 参数 | 说明 | 默认值 | 建议值 | | 参数 | 说明 | 默认值 | 建议值 |
|------|------|--------|--------| |------|------|--------|--------|
| `AP_ENABLED` | 启用 WiFi 热点 | `no` | 现场共享时开启 | | `AP_ENABLED` | 启用 WiFi 热点 | `no` | 现场共享时开启 |
| `AP_SSID` | 热点名称 | `NAS-Cache` | - | | `AP_SSID` | 热点名称 | `Warpgate` | - |
| `AP_PASSWORD` | 热点密码 | 随机生成 | 首次配置时设定 | | `AP_PASSWORD` | 热点密码 | 随机生成 | 首次配置时设定 |
| `AP_ISOLATION` | AP 网络与 WAN 隔离 | `yes` | `yes` | | `AP_ISOLATION` | AP 网络与 WAN 隔离 | `yes` | `yes` |
| `AP_MAX_CLIENTS` | 最大连接数 | `8` | - | | `AP_MAX_CLIENTS` | 最大连接数 | `8` | - |
@ -1343,7 +1343,7 @@ for dir in watched_directories:
```bash ```bash
# btrfs 格式化示例 # btrfs 格式化示例
mkfs.btrfs /dev/ssd_partition mkfs.btrfs /dev/ssd_partition
mount -o compress=zstd /dev/ssd_partition /mnt/ssd/nas-cache mount -o compress=zstd /dev/ssd_partition /mnt/ssd/warpgate
``` ```
### 软件要求 ### 软件要求
@ -1518,7 +1518,7 @@ mount -o compress=zstd /dev/ssd_partition /mnt/ssd/nas-cache
| 术语 | 说明 | | 术语 | 说明 |
|------|------| |------|------|
| **Cache Proxy / 盒子** | 本产品——部署在用户身边的 SSD 缓存代理设备 | | **Warpgate / 盒子** | 本产品——部署在用户身边的 SSD 缓存代理设备 |
| **NAS** | 用户家中的网络存储设备Network Attached Storage | | **NAS** | 用户家中的网络存储设备Network Attached Storage |
| **VFS** | rclone 的虚拟文件系统层Virtual File System将远程存储挂载为本地目录 | | **VFS** | rclone 的虚拟文件系统层Virtual File System将远程存储挂载为本地目录 |
| **FUSE** | 用户空间文件系统Filesystem in UserspaceLinux 内核机制,允许 rclone 在不修改内核的情况下提供文件系统挂载 | | **FUSE** | 用户空间文件系统Filesystem in UserspaceLinux 内核机制,允许 rclone 在不修改内核的情况下提供文件系统挂载 |