fix(captools): dict列表序列化用item[k]——getattr(dict,k)永远落空值导致list_features等能力工具返回全空(测试机实测)

This commit is contained in:
ymq 2026-08-31 16:45:00 +08:00
parent 97c7d2f368
commit 0d64b48271

View File

@ -311,8 +311,12 @@ async def exec_capability_tool(tool_name, params, ctx):
return "(空)"
lines = []
for item in result[:50]:
if hasattr(item, "keys"):
lines.append(str({k: getattr(item, k, "") for k in item.keys()}))
# dict 的键必须 item[k] 取getattr(dict, k) 永远落默认值 →
# 2026-08-31 测试机实测list_features 返回全空值QC 功能落库核对失效)。
if isinstance(item, dict):
lines.append(str(item))
elif hasattr(item, "keys"):
lines.append(str({k: item[k] for k in item.keys()}))
else:
lines.append(str(item))
return "\n".join(lines)