# -*- coding: utf-8 -*- # demo/api/start.dspy —— W-07a 开始演示(进入预览态) # 入参: world_id(必填), session_name(可选), entities(可选, [{entity_id, entity_name, fields}]) # 出参: {"status":200,"data":{"session_id":...,"status":"preview",...}} try: if not params_kw.get('world_id'): return {"status": 400, "message": "world_id 不能为空"} data = await start_demo( world_id=params_kw.get('world_id'), session_name=params_kw.get('session_name', ''), entities=params_kw.get('entities', None), ) return {"status": 200, "data": data} except DemoParamError as e: return {"status": 400, "message": str(e)} except DemoDuplicateError as e: return {"status": 409, "message": str(e)} except DemoNotFoundError as e: return {"status": 404, "message": str(e)} except Exception as e: return {"status": 500, "message": "start_demo 内部错误: %s" % e}