Build memory for group discussions, meetings, and team collaboration
EverOS supports group chat memory with multi-participant conversations. This guide shows how to build memory for team discussions, meeting notes, and collaborative contexts using the v1 SDK.
EverOS has two scene types with different memory extraction behaviors:
Feature
Assistant Scene
Group Chat Scene
Participants
1 user + 1 assistant
Multiple users
Episode Memory
Individual perspective
Group + personal perspectives
Profile Memory
User profiles
All participants’ profiles
Foresight Memory
Supported
Not supported
EventLog Memory
Supported
Not supported
In group chat scene, EverOS generates two types of episodes: group-level summaries (what the team discussed) and personal episodes (what each individual said/learned).
Store messages from any participant in the group using client.v1.memories.group.add(). Each message must include sender_id and sender_name.
import timegroup_mem = client.v1.memories.groupnow_ms = int(time.time() * 1000)# Store a batch of team discussion messagesresp = group_mem.add( group_id="team_engineering", messages=[ { "role": "user", "sender_id": "user_alice", "sender_name": "Alice", "timestamp": now_ms, "content": "Team, we need to decide on the database for the new project.", "message_id": "msg_001", }, { "role": "user", "sender_id": "user_bob", "sender_name": "Bob", "timestamp": now_ms + 5000, "content": "I think PostgreSQL would work well. It's what we know best.", "message_id": "msg_002", }, { "role": "user", "sender_id": "user_carol", "sender_name": "Carol", "timestamp": now_ms + 10000, "content": "I agree with Bob. Plus we already have monitoring set up for Postgres.", "message_id": "msg_003", }, { "role": "user", "sender_id": "user_alice", "sender_name": "Alice", "timestamp": now_ms + 15000, "content": "Good points. Let's go with PostgreSQL. Bob, can you set up the schema?", "message_id": "msg_004", }, { "role": "user", "sender_id": "user_bob", "sender_name": "Bob", "timestamp": now_ms + 20000, "content": "Sure, I'll have a draft ready by Friday.", "message_id": "msg_005", }, ],)
EverOS generates two perspectives for group chats:
# Get group-level summary (what the team discussed)group_memories = memories.search( filters={"group_id": "team_engineering"}, query="project architecture decisions", method="vector", memory_types=["episodic_memory"], top_k=5,)# Returns: "The engineering team discussed database options and decided# to use PostgreSQL. Bob will prepare the schema by Friday."# Get personal perspective (what Bob specifically contributed/learned)personal_memories = memories.search( filters={"group_id": "team_engineering", "user_id": "user_bob"}, query="project architecture decisions", method="vector", memory_types=["episodic_memory"], top_k=5,)# Returns: "Bob advocated for PostgreSQL based on team familiarity.# He was assigned to create the database schema by Friday."