Skip to content

feat: make platform notes configurable instead of hardcoded limitations #2020

@rivercrab26

Description

@rivercrab26

Problem

In gateway/session.py build_session_context_prompt(), platform-specific notes are hardcoded:

"**Platform notes:** You are running inside Discord. "
"You do NOT have access to Discord-specific APIs — you cannot search "
"channel history, pin messages, manage roles, or list server members. "
"Do not promise to perform these actions."

This is inaccurate — the agent can use Discord REST API via terminal + curl + the Bot token from config. I just used it to create 14 channels, set topics, create threads, rename/move/delete channels. The hardcoded message actively prevents the agent from doing things it is fully capable of.

Same issue exists for Slack (lines 264-269).

Proposal

1. Make platform notes configurable (config.yaml)

Allow users to override or extend platform notes per platform:

discord:
  platform_notes: "You have access to Discord REST API via curl. Bot token is in config. Use it for channel management, pinning, thread creation, etc."

If not set, fall back to a more accurate default that does not falsely claim the agent has no API access.

2. (Stretch) Native Discord/Slack management tools

Wrap common operations (create/delete channels, pin messages, manage threads, search history) as registered tools so the agent does not need raw curl commands.

Context

  • Agent has full Bot token access via ~/.hermes/config.yaml
  • terminal tool can call any REST API
  • The current hardcoded message is overly restrictive and misleading
  • Similar pattern exists for Slack platform notes

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low — cosmetic, nice to havecomp/gatewayGateway runner, session dispatch, deliverytype/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