# Gemini CLI 自定义命令教程：打包小网页前检查缺文件和资源校验值

Gemini CLI 自定义命令教程。已从ZIP回读成员和SHA，缺图/篡改反例被识别，完整网页实际加载；原生Gemini自定义命令未执行。

## 开始

先读 task.md 和 prompt.md。starter 是可打开但未实现任务逻辑的起点工程，reference 是本站人工完成的参考。目标代理没有参与生成此次原生账号会话，不能把参考代码称为该产品已执行结果。

```bash
cd reference
python3 verify.py
python3 verify.py missing.zip
```

HTTP网页访问 http://127.0.0.1:8073/ ，按顺序点击输入、操作和导出控件。8073是示例端口，可自行换用空闲端口。

## 文件

- starter/：起点工程及明确需求。
- reference/：可运行人工参考、原创输入和实际运行结果。
- task.md：七步任务和独立验收。
- verify.py：回读实际下载文件、结果结构和边界的检查。
- native-*-draft.*（若有）：原生结构草案，明确未完成导入/运行验证。

## 本题操作要点

1. reference/site里有一份HTML和3张原创SVG几何图。缺图包与改图包都是练习反例，不会上传外网。

2. verify.py读取HTML的src，并校对归档成员；文件名匹配不等于内容未改变。

3. 对每个可信站点文件计算SHA256，再从ZIP回读每个成员。good/missing/tampered三份归档分别代表完整、缺图和内容被替换。

4. 项目命令位于.gemini/commands/release/check.toml。它提示运行固定python3 verify.py，不执行任意拼接参数；原生Gemini命令菜单未执行。

5. 先跑 python3 verify.py 创建并验证三份包，再对单包运行 python3 verify.py missing.zip，实际退出码应非0。

6. good.zip解压后用本地HTTP服务打开，3张图都应解码；不是只检查ZIP CRC通过。

7. manifest.json与result.json保留每个实际哈希和反例问题。发布、部署、定时任务与密钥目录都不在这个练习范围。

## 官方依据

- https://geminicli.com/docs/cli/custom-commands/
- https://geminicli.com/docs/tools/shell/

Google与抖音查询词是内容目标，不代表实测搜索量、热榜或流量结果。
