From 17657513473f1272d1ebc8a41e5f0735e7903bce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E4=B8=80=E4=B8=81?= <1769123563@qq.com> Date: Sat, 22 Nov 2025 13:24:31 +0800 Subject: [PATCH] Resolve the Issue of Search History not Displaying --- MediaEngine/state/state.py | 14 ++++++++++---- SingleEngineApp/media_engine_streamlit_app.py | 11 ++++++++--- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/MediaEngine/state/state.py b/MediaEngine/state/state.py index a64e0b9..dfb00d9 100644 --- a/MediaEngine/state/state.py +++ b/MediaEngine/state/state.py @@ -58,11 +58,17 @@ class Research: def add_search_results(self, query: str, results: List[Dict[str, Any]]): """批量添加搜索结果""" for result in results: + # 防御空值,避免下游展示时报错 + url = result.get("url") or "" + title = result.get("title") or "" + content = result.get("content") or "" + if not isinstance(content, str): + content = str(content) search = Search( - query=query, - url=result.get("url", ""), - title=result.get("title", ""), - content=result.get("content", ""), + query=query or "", + url=url, + title=title, + content=content, score=result.get("score") ) self.add_search(search) diff --git a/SingleEngineApp/media_engine_streamlit_app.py b/SingleEngineApp/media_engine_streamlit_app.py index eaa5e64..2a6c4b0 100644 --- a/SingleEngineApp/media_engine_streamlit_app.py +++ b/SingleEngineApp/media_engine_streamlit_app.py @@ -220,11 +220,16 @@ def display_results(agent: DeepSearchAgent, final_report: str): if all_searches: for i, search in enumerate(all_searches): - with st.expander(f"搜索 {i + 1}: {search.query}"): + query_label = search.query if search.query else "未记录查询" + with st.expander(f"搜索 {i + 1}: {query_label}"): + preview = search.content or "" + if not isinstance(preview, str): + preview = str(preview) + if len(preview) > 200: + preview = preview[:200] + "..." st.write("**URL:**", search.url) st.write("**标题:**", search.title) - st.write("**内容预览:**", - search.content[:200] + "..." if len(search.content) > 200 else search.content) + st.write("**内容预览:**", preview if preview else "无可用内容") if search.score: st.write("**相关度评分:**", search.score)