diff --git a/src/daemon/ticker.py b/src/daemon/ticker.py index 4f7d9b7..5bc58ab 100644 --- a/src/daemon/ticker.py +++ b/src/daemon/ticker.py @@ -530,11 +530,18 @@ Project ID: {project_id} try: # 从 spawner session meta 读取庞统的回复文本 review_text = "" - sid_key = f"review-{parent_task.id}-r{new_round}" - if self.spawner and sid_key in self.spawner._sessions: - meta = self.spawner._sessions[sid_key].get("meta") - if meta and isinstance(meta, dict): - payloads = meta.get("payloads", []) + if self.spawner: + # 找庞统最新完成的 session + latest_meta = None + latest_time = "" + for sid, sess in self.spawner._sessions.items(): + if sess.get("agent_id") == agent_id and sess.get("meta"): + t = sess.get("completed_at", "") + if t > latest_time: + latest_time = t + latest_meta = sess["meta"] + if latest_meta and isinstance(latest_meta, dict): + payloads = latest_meta.get("payloads", []) review_text = " ".join( p.get("text", "") for p in payloads if isinstance(p, dict) )