# 给读取和维护日历的Agent

本站是持续维护的只读日历，不限于Ou4。目标清单在`targets`，当前拍摄任务在`projects`，日期清单在`nights`。没有发布的日期表示尚未安排，不能沿用其他日期的天体时刻。

## 读取入口

- [完整Markdown](https://qitai-sky-calendar.pages.dev/plan.md)
- [JSON索引](https://qitai-sky-calendar.pages.dev/data/index.json)
- [完整JSON](https://qitai-sky-calendar.pages.dev/data/plan.json)
- 单晚Markdown：`/nights/YYYY-MM-DD.md`
- 单晚JSON：`/data/nights/YYYY-MM-DD.json`
- [维护说明](https://qitai-sky-calendar.pages.dev/MAINTENANCE.md)

## 每天复核一次，保持计划稳定

查看Windy等来源在台址附近的天气。记录来源、查看时间和简短说明，通常保持原安排。只有明确必要时才调整，并记录理由。不因普通云量、透明度或视宁度变化频繁重排；照片拍完再检查是否能用。

雨、风、结露及屋顶安全继续按远程台现有规则处理，不能用“以后筛片”代替设备安全判断。本任务不授权开顶、指向、曝光、修改GSS/PHD2/NINA设置或开启自动翻转。

## 字段的含义

- `night_date`按当晚开始的北京时间归属。ISO时间带`+08:00`，不要当成UTC。
- `projects`中的时长是累计目标。已有照片必须经过检查且有分通道统计后才能计入，不把过去的日期或预计张数当成已完成。
- `capacity.total_frames`是这一行全部通道的预计总张数，不是每个通道各拍这么多。
- `kind=overhead`是准备、切换、翻转或平场时间，不算拍摄照片的时长。
- `weather_review=null`表示尚未核对天气。不能把空值当晴天、无风或可以开顶。
- `requires_meridian_flip_validation=true`的时段必须已有本机翻转测试通过的证据；没有证据就不要自动拍。远程台目前报告尚未通过测试。
- 目标坐标为J2000/ICRS。NINA/驱动显示JNOW时保留已有历元转换，不直接把目录坐标写给驱动。
- JSON不是NINA原生序列，不可不经适配直接导入。

## 每张开始前检查

- 每张曝光从开始到结束，目标中心都要高于40°，太阳低于−18°。双星系同时检查两个中心。
- OIII、L、R、G、B只在月亮低于地平线−1°时拍；Hα/SII可以有月。“无月”包括月亮还没升起和已经落下，不是只指新月。
- 窄带单张900秒，宽带单张300秒。边界再提前5分钟留出缓冲。
- 表里的张数是估计能拍的总数，按85%的时间用于曝光计算；几个通道写在同一行时，张数是它们加起来的数量。
- 每张开始前重新检查：当前时间＋曝光时长不能超过这段的结束时间。对焦、导星或翻转耽误了时间，就少拍几张，不延长截止。
- 自动翻转还没完成本机测试。写明需要翻转测试通过的时段，先不要自动执行。
- 计划为转场留约10分钟，为翻转留约20—25分钟，在天开始变亮前约15分钟收尾，给平场留准备时间。
- 网站只展示计划，不控制屋顶、赤道仪或相机。雨、风等开顶安全条件继续按远程台原有规则处理。

索引、单晚JSON和Markdown的`data_revision`须一致。现场的实时状态和已验证硬件限制优先；网站不代替这些检查，也不扩大或撤销用户已有授权。
