From a953fc0bc7929048bd6dde3b6b63ab6c88c6d268 Mon Sep 17 00:00:00 2001 From: cfdaily Date: Wed, 17 Jun 2026 07:19:04 +0800 Subject: [PATCH] =?UTF-8?q?[moz]=20fix(spawner):=20PromptContext=20?= =?UTF-8?q?=E7=BC=BA=E5=B0=91=20event=5Ftype/event=5Fdata=20=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E9=80=9A=E7=9F=A5=E6=98=BE=E7=A4=BA=E3=80=8C=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6=E7=B1=BB=E5=9E=8B:=20=E6=9C=AA=E7=9F=A5=E3=80=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 根因:spawner 构建 PromptContext 时只传了 action_type/action_steps, 遗漏了 event_type 和 event_data。ToolchainContextSection.render() 从 context.event_type 取值,为空时回退到 '未知'。 修复:从 must_haves JSON 同时提取 event_type 和 context(→event_data)。 --- src/daemon/spawner.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/daemon/spawner.py b/src/daemon/spawner.py index ec6bcce..6046527 100644 --- a/src/daemon/spawner.py +++ b/src/daemon/spawner.py @@ -288,6 +288,8 @@ class AgentSpawner: mail_type = "" action_type = "" action_steps = [] + event_type = "" + event_data = {} try: meta = json.loads(must_haves) if must_haves else {} from_agent = meta.get("from", "") @@ -295,6 +297,8 @@ class AgentSpawner: # toolchain 字段提取 action_type = meta.get("action_type", "") action_steps = meta.get("steps", []) + event_type = meta.get("event_type", "") + event_data = meta.get("context", {}) except Exception: pass ctx = PromptContext( @@ -304,6 +308,7 @@ class AgentSpawner: spawn_type=spawn_type, from_agent=from_agent, mail_type=mail_type, action_type=action_type, action_steps=action_steps, + event_type=event_type, event_data=event_data, ) return handler.build_prompt(ctx) -- 2.45.4