Feature description
Hermes WebUI currently saves chat attachments directly into the active session workspace root:
session.workspace / filename
This works functionally, but it creates clutter in the project/workspace directory when users attach reference documents, PDFs, screenshots, logs, or temporary files.
Motivation
In SSH/WebUI workflows, the active workspace is often a real project directory. When attaching files from a remote client, those files land in the project root even if they are only temporary context for the agent.
Example workflow:
- WebUI is accessed remotely, e.g. from Windows over SSH/Tailscale.
- Active workspace is a project directory.
- User attaches a document to a chat message.
- The attachment is written into the workspace root.
- The project directory accumulates unrelated uploaded files.
A cleaner approach would let operators keep uploads in a dedicated attachment inbox while still making them readable by the agent.
Proposed solution
Add a configurable upload/attachment directory separate from the active workspace root.
Possible configuration:
- Environment variable:
HERMES_WEBUI_ATTACHMENT_DIR
- Or:
HERMES_WEBUI_UPLOAD_DIR
- Optional setting in WebUI preferences.
Possible modes:
- Global attachment directory:
~/.hermes/webui/attachments/
- Per-session attachment directory:
~/.hermes/webui/attachments/<session_id>/
- Per-workspace hidden directory:
<workspace>/.attachments/
- or
<workspace>/.hermes-webui/attachments/
The important behavior is:
- uploaded files should not be forced into the visible workspace root;
- the agent should still receive absolute paths to uploaded files;
- the UI can continue showing clean filenames;
- existing workspace-root behavior can remain the default for backward compatibility.
Current workaround
Users can switch the whole session workspace to a dedicated upload workspace, but that also changes the agent working directory. That is not ideal when the user wants to work inside a project while keeping attachments separate.
Related behavior
Existing upload handling already returns full paths for agent use. This request is specifically about making the upload destination configurable, not about attachment visibility or model access.
Feature description
Hermes WebUI currently saves chat attachments directly into the active session workspace root:
session.workspace / filenameThis works functionally, but it creates clutter in the project/workspace directory when users attach reference documents, PDFs, screenshots, logs, or temporary files.
Motivation
In SSH/WebUI workflows, the active workspace is often a real project directory. When attaching files from a remote client, those files land in the project root even if they are only temporary context for the agent.
Example workflow:
A cleaner approach would let operators keep uploads in a dedicated attachment inbox while still making them readable by the agent.
Proposed solution
Add a configurable upload/attachment directory separate from the active workspace root.
Possible configuration:
HERMES_WEBUI_ATTACHMENT_DIRHERMES_WEBUI_UPLOAD_DIRPossible modes:
~/.hermes/webui/attachments/~/.hermes/webui/attachments/<session_id>/<workspace>/.attachments/<workspace>/.hermes-webui/attachments/The important behavior is:
Current workaround
Users can switch the whole session workspace to a dedicated upload workspace, but that also changes the agent working directory. That is not ideal when the user wants to work inside a project while keeping attachments separate.
Related behavior
Existing upload handling already returns full paths for agent use. This request is specifically about making the upload destination configurable, not about attachment visibility or model access.