Designing a Unified Multi-Platform Agent

9 min read Module 6 of 9 Topic 18 of 25

What you'll learn

  • Design a multi-platform deployment where every surface shares memory and skills but not necessarily tool access
  • Decide which platforms warrant which toolset restrictions based on audience and trust
  • Avoid the most common design mistakes when exposing one agent across many surfaces
  • Plan a rollout order: CLI first, then one platform at a time
Building this at your company? For enterprise and company teams taking this to production: book a 30-minute session with our AI engineers for architecture guidance, code review, and a rollout plan for your use case.
Book a Team Session

Bringing Module 6 Together

You now have the individual pieces: the gateway connecting multiple platforms (Lesson 16), voice and cron adding new interaction modes (Lesson 17). This lesson is about design, not new configuration: how do you decide what a unified multi-platform agent should actually look like, rather than just turning on every adapter with default settings?

The Core Principle: Shared Knowledge, Scoped Capability

flowchart TB
    subgraph SHARED["Shared across every surface"]
        MEM[("Memory, Module 4")]
        SKILLS[("Skills, Module 4")]
    end

    CLI["CLI / TUI\n(you, full trust)"] --> SHARED
    TG["Private Telegram\n(founders only)"] --> SHARED
    DC["Public Discord\n(community server)"] --> SHARED

    CLI -.tools: unrestricted.-> T1["Toolset: broad"]
    TG -.tools: broad, minus destructive ops.-> T2["Toolset: moderate"]
    DC -.tools: narrow, read-only-leaning.-> T3["Toolset: restricted"]

    style SHARED fill:#fff7ed,stroke:#f59e0b,color:#0F172A
    style CLI fill:#EEF0F7,stroke:#6366F1,color:#0F172A
    style TG fill:#EEF0F7,stroke:#6366F1,color:#0F172A
    style DC fill:#EEF0F7,stroke:#6366F1,color:#0F172A
    style T1 fill:#f0fdf9,stroke:#0D9488,color:#0F172A
    style T2 fill:#f0fdf9,stroke:#0D9488,color:#0F172A
    style T3 fill:#f0fdf9,stroke:#0D9488,color:#0F172A

What makes the agent useful, its accumulated memory of your projects and preferences, its library of learned skills, should generally stay unified across every surface. That’s the entire value proposition of a persistent agent (Module 4): fragmenting memory per platform would mean re-teaching the agent the same things repeatedly, defeating the point.

What makes the agent safe should not be unified by default. Toolset scoping (Lesson 7.3), applied per platform (Lesson 16’s per-adapter tool configuration), is the lever: a private, trusted surface can reasonably run a broad toolset, while a public-facing one should run a deliberately narrower one. Module 7 goes deep on exactly how to reason about these restrictions; this lesson is about recognizing that the decision needs to be made per surface, not applied uniformly.

# ~/.hermes/config.yaml
gateway:
  telegram:
    enabled: true
    platform_toolsets:
      cli: ["filesystem", "shell", "web_search", "code_execution"]
  discord:
    enabled: true
    platform_toolsets:
      cli: ["web_search"]           # read-only-leaning, no execution or filesystem access
    disabled_toolsets: ["code_execution", "shell", "filesystem"]

A Sensible Rollout Order

Adding every platform at once, on an agent whose core configuration you haven’t yet validated, compounds every possible failure mode simultaneously. A more tractable order:

  1. CLI only (Modules 1-5). Validate model choice, tool behavior, memory, and skills in a fully controlled, single-user environment.
  2. One trusted platform (Lesson 16), typically a private chat you and a small trusted group use. Confirm gateway behavior, session continuity, and delivery formatting.
  3. Cron for that trusted platform (Lesson 17). Confirm scheduled, proactive behavior works before anyone outside your control can trigger the agent.
  4. A public or lower-trust platform, with a deliberately narrower toolset from the start, not the same configuration as step 2, scaled down later.

Common Design Mistakes

  • Copying the private-chat toolset to a public one “to start.” The intention to restrict it later rarely survives contact with a working, permissive deployment, restrict from the beginning.
  • Assuming memory unification means no per-platform context at all. It’s reasonable for the agent to know it’s currently in a Discord community server versus a private DM, and to adjust tone or verbosity accordingly, unified memory doesn’t mean identical behavior everywhere.
  • Skipping hermes gateway status checks after any config change. A toolset restriction typo can silently disable more (or less) than intended; verify after every change, the same diagnostic-first habit from every earlier module.

Exercise: sketch (on paper or in a text file) the toolset restrictions you’d apply across three hypothetical surfaces for your own use case: a private CLI session, a semi-trusted internal team channel, and a public-facing surface. For each, list which of the built-in tool categories from Lesson 8 you’d enable, and justify the public surface’s restrictions specifically, that justification is the input Module 7 will formalize into an explicit guardrails policy.

Knowledge Check

3 questions to test your understanding

1 A team wants their Hermes agent reachable from a private Telegram chat (just the founders) and a public Discord community server, both drawing on the same underlying knowledge the agent has accumulated. What should stay shared, and what should differ, between the two?

2 Per this lesson's recommended rollout order, why start with CLI-only before adding any messaging platform?

3 What is the risk of giving a public-facing Discord bot the same disabled_toolsets configuration (i.e., very few restrictions) as a private, founders-only Telegram chat?

Go further with expert guidance

Ready to build production AI?
Talk to our R&D team.

These courses give you the foundation. Our embedded AI teams take you from prototype to production in 30–90 days, with your team, your codebase, your goals. Book a free strategy call to see how we can accelerate your AI initiative.

30 minutes · No obligation · Expert AI engineers, not sales reps

AI Architecture Review

Audit your current stack and identify high-impact improvements

Project Review

Get expert feedback on your AI implementation and codebase

Team Mentoring

Upskill your engineers with hands-on AI coaching sessions

AI Strategy

Define your AI roadmap, prioritization, and implementation plan