feat(agent-zero): session memory + homelab project context
A2A server v2: - Persistent conversation history per sender (20 msg limit) - Homelab system prompt as default project context - tasks/session/new and tasks/session/clear endpoints - Session memory survives across multiple Zulip DMs Adapter: - Passes deterministic session_id per sender_name - Conversations continue naturally without re-explaining context
This commit is contained in:
@@ -272,8 +272,11 @@ class AgentZeroZulipAdapter:
|
||||
await self._send_msg("private", str(sender_id), response[:MAX_ZULIP_MSG])
|
||||
|
||||
async def _a2a_chat(self, sender_name: str, message: str) -> Optional[str]:
|
||||
"""Send message to Agent Zero via local A2A protocol."""
|
||||
"""Send message to Agent Zero via local A2A protocol with session memory."""
|
||||
try:
|
||||
# Use sender_name as stable session key so conversation persists
|
||||
session_id = f"zulip-{sender_name.lower().replace(' ', '-')}"
|
||||
|
||||
a2a_payload = {
|
||||
"jsonrpc": "2.0",
|
||||
"method": "tasks/send",
|
||||
@@ -282,6 +285,9 @@ class AgentZeroZulipAdapter:
|
||||
"message": {
|
||||
"role": "user",
|
||||
"parts": [{"text": f"[Zulip DM from {sender_name}]: {message}"}]
|
||||
},
|
||||
"metadata": {
|
||||
"session_id": session_id
|
||||
}
|
||||
},
|
||||
"id": 1
|
||||
|
||||
Reference in New Issue
Block a user