ai_member_xiaoyan/scripts/backfill_audit.py

94 lines
3.6 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""
回填审校结果到 bitable
"""
import json, subprocess
APP_TOKEN = "CMHSbUUjka3TrUsaxxEc297ongf"
SKILL_SCRIPT = "/root/.openclaw/workspace-xiaoyan/skills/lark_bitable_operate_as_bot/scripts/operate_bitable.sh"
records = [
{
"table_id": "tblCgfYDnnqwLfgH",
"record_id": "recvjt0HzBBhYu",
"sid": "032501",
"text": """⚠️ 审校通过0项错误
题型reading_matchInfo | 题组first=6题 second=0题
📝 备注只有一道题组first缺少second题组
🟡 能力标签映射建议12处
- '信息定位与提取''扫读定位|信息匹配'6处
- '细节理解''细节理解|事实信息提取'6处
✅ 题目内容、选项、答案、解析均无问题"""
},
{
"table_id": "tbl4q0ZUV3HB54t1",
"record_id": "recvjug1hWz2oG",
"sid": "032601",
"text": """⚠️ 审校通过0项错误
题型reading_choiceLong | 题组first=5题 second=0题
📝 备注只有一道题组first缺少second题组
🟡 能力标签映射建议10处
- '信息定位''扫读定位|信息匹配'4处
- '细节理解''细节理解|事实信息提取'3处
- '主旨归纳''主旨理解|段落/文本大意'1处
- '因果推断''推理判断|原因/结果'1处
- '推理判断''推理判断|原因/结果'1处
✅ 题目内容、选项、答案、解析均无问题"""
},
{
"table_id": "tblzKVm1FEukPgnN",
"record_id": "recvjueHm15HPu",
"sid": "032701",
"text": """⚠️ 审校通过0项错误
题型reading_cloze | 题组first=6题 second=0题
📝 备注只有一道题组first缺少second题组
🟡 需补充内容12项
- 全部6题的 ability 能力标签为空,需补充(建议:语法结构识别|完形填空)
- 全部6题的 explanation 解析为空,需补充
- 选项与答案已填写,结构完整"""
},
{
"table_id": "tblzKVm1FEukPgnN",
"record_id": "recvjueN5QT1c5",
"sid": "032801",
"text": """⚠️ 审校通过0项错误
题型reading_cloze | 题组first=6题 second=0题
📝 备注只有一道题组first缺少second题组
🟡 需补充内容12项
- 全部6题的 ability 能力标签为空,需补充(建议:语法结构识别|完形填空)
- 全部6题的 explanation 解析为空,需补充
- 选项与答案已填写,结构完整"""
},
{
"table_id": "tblLmUxzzUDe0QAJ",
"record_id": "recvjueULrufNg",
"sid": "032901",
"text": """⚠️ 审校通过0项错误
题型reading_openCloze | 题组first=8题 second=6题
🟡 需补充内容28项
- 全部14题的 ability 能力标签为空,需补充(建议:语法结构识别|完形填空)
- 全部14题的 explanation 解析为空,需补充
- 选项与答案已填写题组完整first+second均有"""
},
]
for r in records:
# Escape the text for shell/JSON
fields = json.dumps({"审校结果": r['text']}, ensure_ascii=False)
cmd = f"bash {SKILL_SCRIPT} update_record {APP_TOKEN} {r['table_id']} {r['record_id']} '{fields}'"
result = subprocess.run(cmd, shell=True, capture_output=True, text=True, timeout=30)
try:
resp = json.loads(result.stdout)
if resp.get('code') == 0:
print(f"{r['sid']} ({r['table_id'][-8:]}): 回填成功")
else:
print(f"{r['sid']}: {resp}")
except:
print(f"{r['sid']}: parse error — {result.stdout[:200]}")