photo-homework-a4 · git:20260905.e7f4b66 · 2026-09-05 · sha256 f5960f9779f93804

photo-homework-a4 git:20260905.e7f4b66A

Immutable. This exact content never changes and is served at /api/v1/blob/f5960f9779f93804.

---
name: photo-homework-a4
description: 将用户拍照上传的手写作业清单照片识别、整理,并生成一页 A4 纸即可打印的精美 HTML 作业清单页面(含科目卡片、分类标签、统计条、学生/家长签名区)。当用户上传作业照片并要求"识别作业/整理作业/做作业清单/生成可打印的作业单"时使用本技能。触发词:作业照片、拍照作业、作业清单、作业单、A4打印作业。
agent_created: true
---

# Photo Homework A4(拍照作业 → A4 打印清单)

## Overview

本技能将手写作业清单照片转化为一份版面固定的 A4 单页 HTML 作业清单。核心资产是 `assets/homework-a4-template.html` 模板文件:复制模板 → 填入识别结果 → 交付,无需每次重新设计版式。

## 工作流程

### 第 1 步:识别照片内容

- 使用 Read 工具读取用户上传的作业照片,逐条识别手写内容。
- 按科目分组(常见科目:语文、数学、英语、物理、化学、历史、生物、政治、地理等)。
- 识别不确定的字迹时,结合上下文推断(如"群内/群中材料"是常见表述),并在交付时提醒用户核对存疑条目。
- 提取日期信息:优先从照片或用户消息中获得日期;无法获得时使用当天日期。

### 第 2 步:给作业项分类打标

每项作业归入以下类别之一,并使用对应标签(标签样式已内置于模板 CSS):

| 类别 | 标签 class | 颜色 | 判断标准 |
|------|-----------|------|---------|
| 背诵类 | `tag-recite` | 橙色 | 含"背""朗读""默写"等 |
| 书面类 | `tag-write` | 蓝色 | 书面练习、练习册、试卷;"阅读"用 `tag-read`(青色) |
| 材料类 | `tag-material` | 绿色 | "群内材料""材料纸""群中材料"等 |

### 第 3 步:基于模板生成 HTML

1. 复制 `assets/homework-a4-template.html` 到工作区,命名为 `作业清单-A4打印版.html`(或含日期的名称)。
2. 替换模板中所有 `{占位符}`:
   - 页眉日期与星期。
   - 概览统计条 5 个数字:科目数、作业总数、背诵类、书面类、材料类("阅读"并入书面类计数)。
   - 每个科目一张 `.subject` 卡片,替换示例卡片并按科目数量增删;`subject-count` 填该科作业项数。
   - 底部温馨提示中的分类数量。
3. **配色板**(每个科目一套 `--accent` 主题色 + `--accent-bg` 浅色底,科目重复时循环取色):
   - 蓝 `#4f6ef7` / `#e8f0fe`、绿 `#2fbf9b` / `#e6f7f1`、紫 `#9b59f5` / `#f3ebfe`
   - 橙 `#e67e22` / `#fdf0e0`、红 `#c0392b` / `#fbe9e7`、青 `#16a085` / `#e0f5f1`
4. **科目图标**:物理🧪 数学📐 化学⚗️ 英语🔤 历史🏛️ 语文📖 生物🧬 地理🌏 政治⚖️。
5. 完成后删除模板中多余示例卡片与 HTML 注释。

### 第 4 步:版面约束(必须遵守,保证一页 A4)

- `@page { size: A4 portrait; margin: 0; }` 与 `.page { width: 210mm; min-height: 296mm; }` 不可改动。
- 科目 ≤ 6 个:保持双列网格与默认字号(作业项 10.5pt)。
- 科目 7-8 个或单项作业过长时:将 `.grid` gap 收窄至 3mm、作业项字号降至 9.5-10pt、li padding 降至 1.2mm。
- 内容极端多时允许将 `.grid` 改为单列,但必须确保总高度 ≤ 297mm。
- 生成后自查:总页高不超过一页;每张卡片 `page-break-inside: avoid` 已内置,勿删除。

### 第 5 步:交付

- 用 present_files 展示生成的 HTML 文件,并在回复中告知打印方法:`Ctrl + P`,纸张 A4、纵向、边距"无/默认"。
- 回复中附一份简明的作业内容表格(科目 → 条目),便于用户直接核对识别结果。

### 可选扩展:交互打卡版

若用户未明确只要打印版,可额外生成一个屏幕交互版(点击打勾 + 进度条,用 localStorage 或内存状态实现)。交互版不做 A4 尺寸约束,可使用渐变背景、卡片阴影等更丰富的视觉。两个版本内容必须一致。

## Resources

### assets/
- `homework-a4-template.html` — A4 单页打印版完整模板。所有版式、CSS、签名区、统计条均已定型,只需替换 `{占位符}` 内容与增删科目卡片。**不要凭空重写版式,一律基于此模板修改。**