APP 规格书 → 阿里云数据点表
请你帮我根据我的APP产品规格书,生成对应的数据点(主要会出现在阿里云的协议上),我会给你一份我已经写好的规格书和数据点,你根据我原来写的设计思路来做就行,最好输出给我一个excel表格就行了。
最终交付:一律 .xlsx。 不要用 Markdown/CSV 作为最终交付物。
输入
| 材料 | 必需 | 说明 |
|---|---|---|
| APP 产品规格书 | 是 | docx/pdf/截图文字均可 |
| 参考数据点表 | 强烈建议 | 同系列/已写好的 .xlsx,用于对齐命名、类型、备注写法 |
| 产品型号 | 否 | 用于输出文件名,如 1271W数据点.xlsx |
若用户只给了规格书、没有参考表:先按本 skill 的表头与规则生成;并询问是否有老品数据点可对齐。
可参考样例:examples/1271W数据点.xlsx。列定义与设计细则见 reference.md。
工作流程
进度:
- [ ] 1. 读规格书,列出需设备↔云端同步的功能点
- [ ] 2. 若有参考数据点表,对齐标识名/类型/备注风格
- [ ] 3. 按规则填:显示名称、标识名、备注、读写、数据类型及子字段
- [ ] 4. 排除纯 APP 侧能力(不进 MCU/协议)
- [ ] 5. 输出 .xlsx 到当前工作区并告知路径
核心设计思路(对齐已有表)
- 只做协议需要的点:规格里要和设备交互、上报状态、下发控制的功能 → 数据点;纯 UI(配网页文案、新手引导步骤、周报图表计算、家庭成员本地管理等)→ 不进表。
- 跟参考表学:有参考数据点时,优先沿用其
标识名、类型习惯、备注粒度;新品增量功能再新增行。 - 四种数据类型:
- 布尔值:开/关、启停类;数值四列与枚举/扩展留空
- 数值:填分辨率、增量、最小、最大(常见:分辨率=1,增量=0)
- 枚举:在「选项」填英文逗号分隔取值(如
Heating,Keeping,Cooling) - 扩展:原始字节流,在「长度」填字节数
- 读写类型:APP 可下发 →
可写;仅设备上报/状态 →只读 - 标识名:英文
snake_case,简洁稳定,供阿里云属性/协议位使用 - 备注:写清业务含义、特殊值(如故障码、254/255)、与其它点的联动;不必写 UI 文案
输出表头(必须一致)
两行表头 + 合并单元格,列顺序固定:
| 显示名称 | 标识名 | 备注 | 读写类型 | 数据类型 | 数值(分辨率/增量/最小/最大) | 枚举(选项) | 扩展(长度) |
生成时优先执行:
pip install openpyxl
python "%USERPROFILE%\.cursor\skills\app-spec-datapoints\scripts\generate_datapoints_xlsx.py" ^
--input "<数据点JSON或由agent写入的中间JSON>" ^
--output "<当前工作区>/数据点/<型号>数据点.xlsx"
也可用 openpyxl 按 reference.md 的合并规则手写同等结构;列名与合并方式必须与样例一致。
自检
- 每个可控制 UI 动作(温度、水量、煮沸、静音等)有对应可写点或说明为何合并到已有点
- 每个需展示的设备状态(当前温度、工作状态、故障、出水记录等)有对应只读/可写点
- 标识名无中文、无空格;枚举选项为英文或数字约定
- 数值型四列完整;布尔/枚举/扩展未误填无关列
- 输出为
.xlsx且可用 Excel 打开