Skip to content

Add switchable agent profiles with isolated persona context #3486

Closed

Description

@Al629176

Summary

Implement agent profiles so users can switch between different agent personas, such as marketing, product manager, or coder, with each profile carrying its own context and working setup.

Problem

Today OpenHuman behaves like one shared agent identity. Users who work across different roles or workflows need separate agent modes with different memory, connected accounts, skills, and MCP servers, without manually reconfiguring the app each time.

This hurts users who want clear boundaries between work contexts, for example keeping a marketing agent focused on campaign memory and tools while a coder agent uses development connectors and coding skills.

Constraints:

  • Profile-specific state should be clearly separated where it affects agent behavior.
  • Shared product surfaces such as Compose and the global skills catalog should remain global unless explicitly scoped later.
  • Switching profiles should be obvious, fast, and safe.
  • Privacy and data boundaries must be clear to users.

Solution (optional)

Add a profile model that scopes agent persona, memory, connectors, enabled skills, MCP servers, and default routing preferences. Keep shared components like Compose and the global skills catalog available across profiles, while allowing each profile to choose which skills/connectors/MCP servers are active for that persona.

Possible profile examples:

  • Marketing
  • Product manager
  • Coder
  • Personal assistant
  • Custom profile

Acceptance criteria

  • Profile creation — Users can create, rename, delete, and switch agent profiles.
  • Persona configuration — Each profile can define persona/instructions, default behavior, and role-specific preferences.
  • Memory isolation — Each profile has its own memory/context boundary, with clear behavior for shared/global memory if supported.
  • Connector scoping — Each profile can enable or disable connected apps independently.
  • Skills and MCP scoping — Each profile can choose active skills and MCP servers independently, while shared skill definitions remain global.
  • Shared surfaces preserved — Compose and other intentionally global components continue to work across profiles.
  • Safe switching — Switching profiles updates active memory, connector, skill, and MCP context without leaking stale state from the previous profile.
  • UX clarity — The UI makes the active profile visible and explains what is profile-specific vs global.
  • Regression safety — Unit, integration, or E2E coverage verifies profile switching, scoped memory/connectors, and global shared components.
  • Diff coverage ≥ 80% — the implementing PR meets the changed-lines coverage gate (Vitest + cargo-llvm-cov, enforced by .github/workflows/coverage.yml).

Related

  • Follow-up from product planning discussion around role-specific agent experiences.

Activity

  1. removed their assignment
    on Jun 24, 2026
  2. moved this from Todo to In progress in Team Openhumanon Jul 1, 2026
  3. senamakel commented on Jul 23, 2026

    @senamakel
    Member

    Automated triage: closing as completed.

    This issue requested switchable agent profiles with isolated persona context. PR #5118 ("feat: hermes-style agent profile homes — per-profile SOUL.md, workspace, memory, skills, cron attribution") shipped today (2026-07-23) and directly implements the core requested functionality:

    • Profile creation/renaming/deletion/switching (, )
    • Persona configuration via SOUL.md ()
    • Memory isolation via dedicatedMemory flag (per-profile memory subtree)
    • Workspace isolation via dedicatedWorkspace flag (per-profile cwd via WorkspaceDescriptor)
    • Skills scoping (per-profile skills directory, profile-local wins id collisions)
    • Cross-profile write guard (, file-tool path gate + shell command scanner)
    • Cron profile attribution (scheduled runs execute with that profile's context)
    • Experience partitioning (procedural experience records stamped with active profile)
    • UX panels (profile editor Isolation section, cron job profile picker, i18n in all 14 locales)

    The one acceptance criterion not explicitly addressed is connector scoping (per-profile enabled/disabled connected apps). This was deliberately listed as a follow-up in PR #5118 and would make a good follow-up issue if needed.

    Reopen if connector scoping or any other specific acceptance criterion is needed beyond what was shipped.

  4. moved this from In progress to Done in Team Openhumanon Jul 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions