#!/usr/bin/env python3 """Update 图片描述 for reading_pic_judge records.""" import json, requests, time CRED_FILE = "/root/.openclaw/credentials/xiaoyan/config.json" APP_TOKEN = "CMHSbUUjka3TrUsaxxEc297ongf" TABLE_ID = "tblJc60aO0T163MJ" IMAGE_DESC = { # ---- 121301 ---- "recvj5nIAxF3XG": """1. 风格: 卡通,简单线条 场景:住宅街道,阳光下三栋彩色小房子并排而立 三栋卡通房子 - 黄色屋顶、红色屋顶、蓝色屋顶,并排站着,前面有小路和花草。 2. 风格: 卡通,简单线条 场景:厨房一角 棕色木质橱柜 - 靠着墙,柜子上放着几个盘子,柜门半开能看到里面的杯子。 3. 风格: 卡通,简单线条 场景:客厅一角 一张大沙发 - 蓝色软沙发,沙发上有两个彩色靠垫,沙发前有小茶几。 4. 风格: 卡通,简单线条 场景:卧室 一间卧室 - 里面有粉色小床、床头柜,墙上有时钟和画,地板上铺着地毯。 5. 风格: 卡通,简单线条 场景:卧室 一张小床 - 粉色小床上有枕头和被子,床头柜上放着一盏台灯,房间墙上贴着星星贴纸。 6. 风格: 卡通,简单线条 场景:动物园门口 动物园入口 - 大拱门上写着"ZOO",门外能看到长颈鹿和狮子在围栏里。 7. 风格: 卡通,简单线条 场景:动物园水池 河马 - 一只胖胖的河马泡在浅蓝色的水池里,只露出头和两只小耳朵,旁边有水草。 8. 风格: 卡通,简单线条 场景:卧室衣柜前 牛仔裤 - 一条蓝色牛仔裤叠放在椅子上。 9. 风格: 卡通,简单线条 场景:卧室衣柜前 牛仔裤 - 一条蓝色牛仔裤挂在衣架上。 10. 风格: 卡通,简单线条 场景:森林里 大棕熊 - 一只棕色大熊站在绿色森林中,旁边有大树。""", # ---- 121401 ---- "recvj5nJG33bBE": """1. 风格: 卡通,简单线条 场景:小学教室 学生们 - 三个穿校服的小学生坐在课桌前,女孩扎着马尾,男孩短发,每人桌上放着课本。 2. 风格: 卡通,简单线条 场景:学校外观 学校建筑 - 一栋红色砖墙的学校大楼,楼顶有国旗飘动,大门敞开,门口有"School"标牌。 3. 风格: 卡通,简单线条 场景:美术课桌面 蜡笔 - 桌上散落着红黄蓝绿紫五支彩色蜡笔。 4. 风格: 卡通,简单线条 场景:美术课桌面 蜡笔 - 红黄蓝绿四支蜡笔整齐排放在白纸上。 5. 风格: 卡通,简单线条 场景:教室 女老师 - 穿着裙子的女老师站在讲台前,手里拿着粉笔,身后的黑板上写着字母。 6. 风格: 卡通,简单线条 场景:儿童卧室地面 垫子 - 一张彩色图案的方形游戏垫铺在地板上,垫子旁边散放着积木玩具。 7. 风格: 卡通,简单线条 场景:儿童卧室 课桌 - 一张木色小课桌,桌上有台灯、铅笔筒和一本打开的书。 8. 风格: 卡通,简单线条 场景:衣帽间 手提包 - 一个红色女士手提包挂在挂钩上,包上有金色扣子。 9. 风格: 卡通,简单线条 场景:卧室门口 书包 - 一个蓝色卡通书包靠在门边。 10. 风格: 卡通,简单线条 场景:衣帽间 手提包 - 一个红色手提包放在白色架子上。""", # ---- 121501 ---- "recvj5nKxhm8X6": """1. 风格: 卡通,简单线条 场景:白色背景前 小男孩全身 - 一个穿红色T恤和蓝色短裤的男孩,从头到脚完整站立,双臂自然下垂。 2. 风格: 卡通,简单线条 场景:白色背景前 嘴的特写 - 一张微笑的嘴,上下两排白色牙齿,嘴唇粉色。 3. 风格: 卡通,简单线条 场景:公园草地上 两个小朋友 - 男孩和女孩在草地上一起玩球,两人都笑得很开心。 4. 风格: 卡通,简单线条 场景:白色背景前 耳朵的特写 - 一只人的耳朵,耳廓清晰可见。 5. 风格: 卡通,简单线条 场景:公园 两个小朋友 - 一个男孩和一个女孩手牵手站在树下,两人微笑着看向前方。 6. 风格: 卡通,简单线条 场景:白色背景前 相机 - 一台黑色单反相机,镜头朝前,闪光灯在顶部。 7. 风格: 卡通,简单线条 场景:公园 小男孩 - 一个戴棒球帽的男孩,穿着条纹T恤和短裤,站在草地上微笑。 8. 风格: 卡通,简单线条 场景:背景前 滑板 - 一个蓝色滑板平放在地上,侧面有火焰图案。 9. 风格: 卡通,简单线条 场景:户外滑板场 女孩滑滑板 - 一个扎马尾的女孩踩在滑板上滑行,滑板在脚下。 10. 风格: 卡通,简单线条 场景:背景前 滑板 - 一个蓝色带火焰图案的滑板平放在地面。""", # ---- 121601 ---- "recvj5nLUpubaU": """1. 风格: 卡通,简单线条 场景:海滩 夏天 - 金色沙滩上有一把遮阳伞,蓝色大海远处有小帆船,天空挂着大太阳。 2. 风格: 卡通,简单线条 场景:户外 冬天雪景 - 白色雪覆盖地面和房屋屋顶,树木光秃秃的没有树叶,空中飘着雪花。 3. 风格: 卡通,简单线条 场景:户外 冬天雪景 - 一个雪人戴着帽子和围巾站在雪地里,房屋和树上都覆盖着白雪。 4. 风格: 卡通,简单线条 场景:冬天户外 穿厚棉衣的男孩 - 一个男孩穿着厚厚的外套,戴着围巾和手套,嘴里呼出白气,背景是雪地。 5. 风格: 卡通,简单线条 场景:户外 秋天 - 橙色和黄色的落叶铺满地面,树木只剩下稀疏的叶子,天空有一群飞鸟。 6. 风格: 卡通,简单线条 场景:马路上 公交车 - 一辆红色双层公交车停在路边,有窗户和车门。 7. 风格: 卡通,简单线条 场景:卧室 长裤 - 一条蓝色长裤叠放在床边的凳子上。 8. 风格: 卡通,简单线条 场景:卧室 长裤 - 一条深蓝色长裤挂在衣架上。 9. 风格: 卡通,简单线条 场景:户外 下雪 - 白色雪花从天空中纷纷落下,地面和房屋屋顶积了厚厚一层雪。 10. 风格: 卡通,简单线条 场景:户外 雪地 - 白色雪覆盖了整个地面,空中飘着雪花,远处有积雪覆盖的屋顶。""", } with open(CRED_FILE) as f: cred = json.load(f) app_id = cred["apps"][0]["appId"] app_secret = cred["apps"][0]["appSecret"] token_resp = requests.post( "https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal", json={"app_id": app_id, "app_secret": app_secret}, ) token = token_resp.json()["tenant_access_token"] for rid, desc in IMAGE_DESC.items(): resp = requests.put( f"https://open.feishu.cn/open-apis/bitable/v1/apps/{APP_TOKEN}/tables/{TABLE_ID}/records/{rid}", headers={"Authorization": f"Bearer {token}", "Content-Type": "application/json"}, json={"fields": {"图片描述": desc}}, ) code = resp.json().get("code") print(f" {rid}: code={code}, desc_len={len(desc)}") time.sleep(0.5) # Verify print("\nVerification:") for rid in IMAGE_DESC: resp = requests.get( f"https://open.feishu.cn/open-apis/bitable/v1/apps/{APP_TOKEN}/tables/{TABLE_ID}/records/{rid}", headers={"Authorization": f"Bearer {token}"}, ) desc_len = len(resp.json()["data"]["record"]["fields"].get("图片描述", "")) print(f" {rid}: 图片描述={desc_len}chars {'✅' if desc_len > 100 else '❌'}") print("\nDone.")