5.7 KiB
5.7 KiB
历史归档
归档日期:2026-11-09。日常查看维护文档,历史文件中的配置、密码提示、失败结论和“最新”字样均按原日期理解,不直接当作当前部署说明。
内容与完整性
history-20261109.zip 按仓库相对路径保存 38 份原件:35 份 docs 专题 Markdown,以及整理前根目录 README、PROJECT_CONTEXT、MEMORY。内容未经改写,ZIP 中保留原路径。三份需求 Word、XML、BAT 和全部测试证据仍在原位置。
manifest.json 列出每份原件的字节数、SHA-256、新文档对应位置与 ZIP 自身 SHA-256。归档创建后已检查 ZIP CRC,并逐文件读取验证字节数及 SHA-256;删除散落副本前再次核对原文件与归档完全一致。
这次减少的是散落的文档副本与重复阅读入口,没有删除唯一历史结论。547 个 evidence 文件保留原路径,整理前后逐文件 SHA-256 一致。证据约 169.7 MiB,不属于此次空间清理范围。
恢复或读取
在仓库根目录执行以下命令,将原文解压到临时目录查阅,不覆盖当前维护文档:
Expand-Archive -LiteralPath .\docs\archive\history-20261109.zip -DestinationPath (Join-Path $env:TEMP 'vdi-cloud-docs-history-20261109')
归档内的相对路径以原仓库为基准,单独解压的文档中部分代码/证据链接需回到本仓库查看。查历史时先按下表定位原文件,再从 ZIP 读取;新文档保留主要结论与操作入口,完整逐步过程在原件中。
在仓库根目录复核归档(Python):
from pathlib import Path
import hashlib, json, zipfile
base = Path('docs/archive')
manifest = json.loads((base / 'manifest.json').read_text(encoding='utf-8'))
archive = base / manifest['archive']
assert hashlib.sha256(archive.read_bytes()).hexdigest() == manifest['sha256']
with zipfile.ZipFile(archive) as z:
assert z.testzip() is None
assert len(z.namelist()) == manifest['file_count']
for row in manifest['files']:
data = z.read(row['path'])
assert len(data) == row['size']
assert hashlib.sha256(data).hexdigest() == row['sha256']
print('38 files verified')
原文件对应表
表中原文件名是 ZIP 内的路径,原 Markdown 副本已从 docs 顶层移除。每条都可以在 manifest 中查到独立校验值。
| 归档内原路径 | 日常查阅位置 |
|---|---|
docs/2k60-validation-20261103.md |
云桌面说明 |
docs/display-resume-fix-20261103.md |
终端说明 |
docs/entry-surface-fix-20261109.md |
终端说明 |
docs/fixed-pci-tray-20261105.md |
云桌面说明 |
docs/gpu-passthrough-20261030.md |
云桌面说明 |
docs/gpu-restart-diagnosis-20261102.md |
云桌面说明 |
docs/guest-power-policy-20261104.md |
云桌面说明 |
docs/independent-cursor-design-20261103.md |
云桌面说明 |
docs/independent-cursor-feasibility-20261103.md |
云桌面说明 |
docs/input-rendering-optimization-20261103.md |
云桌面说明 |
docs/kylin-mouse-20261104.md |
云桌面说明 |
docs/kylin-quality-20261104.md |
云桌面说明 |
docs/kylin-quality-20261106.md |
云桌面说明 |
docs/linux-desktop-onboarding-20261104.md |
云桌面说明 |
docs/linux-native-cursor-20261105.md |
云桌面说明 |
docs/moonlight-kiosk-20261028.md |
终端说明 |
docs/moonlight-rendering-profile-20261102.md |
云桌面说明 |
docs/mouse-optimization-execution-20261103.md |
云桌面说明 |
docs/mouse-optimization-plan-20261103.md |
云桌面说明 |
docs/overnight-box-observation-20261104.md |
运维说明 |
docs/rdp-vs-moonlight-comparison-20261028.md |
未来计划 |
docs/rendering-execution-20261102.md |
云桌面说明 |
docs/return-surface-fix-20261109.md |
终端说明 |
docs/single-display-20261103.md |
云桌面说明 |
docs/sunshine-vm-setup-for-colleague.md |
云桌面说明 |
docs/ubuntu-deep-latency-20261105.md |
云桌面说明 |
docs/ubuntu-drag-render-20261105.md |
云桌面说明 |
docs/ubuntu-latency-plan-20261106.md |
未来计划 |
docs/ubuntu-mouse-release-20261106.md |
云桌面说明 |
docs/ubuntu-quality-20261105.md |
云桌面说明 |
docs/ubuntu-vram-20261106.md |
云桌面说明 |
docs/usb-any-storage-20261104.md |
云桌面说明 |
docs/usb-device-poc-20261103.md |
云桌面说明 |
docs/web-console-mvp-plan-20261028.md |
未来计划 |
docs/windows-unexpected-exit-20261104.md |
运维说明 |
README.md |
当前入口 |
PROJECT_CONTEXT.md |
当前入口 |
MEMORY.md |
当前入口 |