diff --git a/src/daemon/ticker.py b/src/daemon/ticker.py index a7bb9b5..8893a91 100644 --- a/src/daemon/ticker.py +++ b/src/daemon/ticker.py @@ -528,8 +528,18 @@ Project ID: {project_id} # 构造 on_complete 回调:解析庞统结论,更新 parent 状态 async def _on_review_complete(aid: str, outcome: str): 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", []) + review_text = " ".join( + p.get("text", "") for p in payloads if isinstance(p, dict) + ) self._handle_review_conclusion( - parent_task.id, project_id, outcome, new_round) + parent_task.id, project_id, review_text, new_round) except Exception: logger.exception("Review conclusion handler failed for %s", parent_task.id)