Skip to content

Feature: Per-conversation context isolation for multi-chat deployments #14162

@thomasmarcel

Description

@thomasmarcel

Description

Currently, Hermes Agent's memory and state are global across all conversations/channels. When deployed to multiple chats (e.g., personal 1v1 + work group), there's no isolation between conversations — content from one chat could potentially leak to another.

This feature request is for proper per-conversation context isolation.

Use Case

  • User has personal 1v1 chat (Telegram) and work group chat
  • Personal conversations should stay personal
  • Work group discussions should stay in work context
  • No cross-contamination of memories, preferences, or context

Proposed Solution

  1. Namespace-based memory keys — prefix memory entries by conversation ID (e.g., work:user_preference, personal:memo)
  2. Conversation context tracking — know which "mode" the agent is operating in per session
  3. Isolation boundaries — explicit rules about what can/cannot be shared between contexts
  4. Optional: skill scoping — load different skills per conversation type

Benefits

  • Privacy-preserving across chat platforms
  • Clean separation for work vs. personal use cases
  • No risk of leaking personal info to work groups (or vice versa)
  • Better multi-chatbot deployments

Alternatives Considered

  • Using separate bot instances per conversation (wasteful, expensive)
  • Manual memory prefixing (error-prone, requires user discipline)

Additional Context

See discussion in https://github.com/NousResearch/hermes-agent/discussions (if any)


Tags: feature-request, memory, isolation, multi-chat

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low — cosmetic, nice to havecomp/agentCore agent loop, run_agent.py, prompt buildertool/memoryMemory tool and memory providerstype/featureNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions