Description
Currently, when running the Hermes agent in ACP (Agent Client Protocol) mode, slash commands entered by the client (e.g., /skills install <id>, /web, /personality) are passed directly to the AIAgent as regular prompt text.
This is because the acp_adapter/server.py bypasses hermes_cli/main.py where the ChatConsole.process_command loop intercepts inputs starting with /.
Why this matters
Integrators (such as text editor extensions) communicating over ACP cannot trigger local CLI commands (like skill management or specific mode toggles) natively through the session stream connection without dropping into another manual background subprocess.
Proposed Improvement
Add a layer in acp_adapter/server.py's prompt method that checks if the content starts with /.
If it does, run that command over the CLI handlers (the do_* functions in skills_hub.py, etc.) and pipe the resulting plaintext response or Rich text output back over the ACP message channel (e.g., as a custom streaming response type or a special text message).
Also please consider adding a way to retrieve the full list of slash commands.
Description
Currently, when running the Hermes agent in ACP (Agent Client Protocol) mode, slash commands entered by the client (e.g.,
/skills install <id>,/web,/personality) are passed directly to theAIAgentas regular prompt text.This is because the
acp_adapter/server.pybypasseshermes_cli/main.pywhere theChatConsole.process_commandloop intercepts inputs starting with/.Why this matters
Integrators (such as text editor extensions) communicating over ACP cannot trigger local CLI commands (like skill management or specific mode toggles) natively through the session stream connection without dropping into another manual background subprocess.
Proposed Improvement
Add a layer in
acp_adapter/server.py'spromptmethod that checks if the content starts with/.If it does, run that command over the CLI handlers (the
do_*functions inskills_hub.py, etc.) and pipe the resulting plaintext response or Rich text output back over the ACP message channel (e.g., as a custom streaming response type or a special text message).Also please consider adding a way to retrieve the full list of slash commands.