import json, time, requests, websocket
BASE = "http://127.0.0.1:8081"
MAIN_CHAIN = "f557fb5a-ff64-493d-a1f6-3b3fa41cd94a"
token = requests.post(f"{BASE}/api/login", json={"username":"cxbsoft","password":"cf5584aca177a811ffda8f4789e2e143"}).json()["data"]["token"]
ws = websocket.create_connection(f"ws://127.0.0.1:8081/api/user/friend-agent/ws", header={"Authorization": f"Bearer {token}"}, timeout=120)
msg = {"type":"req","request_id":"kbtest-3","method":"chains.send","payload":{"chain_id":MAIN_CHAIN,"message":"再次用 yunwo_kb_list_folders 列根目录文件夹（scope=personal, folder_id=0, folder_only=true），这次请把工具返回的完整 output 文本原样告诉我"}}
ws.send(json.dumps(msg))
print("sent")
end = time.time() + 100
transmissions = []
while time.time() < end:
    try:
        ws.settimeout(5); raw = ws.recv()
    except websocket.WebSocketTimeoutException: continue
    except Exception as e: print("ws err",e); break
    frame = json.loads(raw)
    if frame.get("type") == "event" and frame.get("topic") == "transmission":
        transmissions.append(frame.get("data",{}))
        print(f"[trans] {str(frame.get('data',{}).get('content',''))[:300]}")
print(f"\n=== trans={len(transmissions)} ===")
ws.close()
