diff --git a/website/docs/reference/environment-variables.md b/website/docs/reference/environment-variables.md index 6bb2dc0b97..336ce8718b 100644 --- a/website/docs/reference/environment-variables.md +++ b/website/docs/reference/environment-variables.md @@ -92,6 +92,7 @@ For native Anthropic auth, Hermes prefers Claude Code's own credential files whe | `STT_OPENAI_BASE_URL` | Override the OpenAI-compatible STT endpoint | | `GITHUB_TOKEN` | GitHub token for Skills Hub (higher API rate limits, skill publish) | | `HONCHO_API_KEY` | Cross-session user modeling ([honcho.dev](https://honcho.dev/)) | +| `HONCHO_BASE_URL` | Base URL for self-hosted Honcho instances (default: Honcho cloud). No API key required for local instances | | `TINKER_API_KEY` | RL training ([tinker-console.thinkingmachines.ai](https://tinker-console.thinkingmachines.ai/)) | | `WANDB_API_KEY` | RL training metrics ([wandb.ai](https://wandb.ai/)) | | `DAYTONA_API_KEY` | Daytona cloud sandboxes ([daytona.io](https://daytona.io/)) | diff --git a/website/docs/reference/slash-commands.md b/website/docs/reference/slash-commands.md index c18646950c..0ccf116fc1 100644 --- a/website/docs/reference/slash-commands.md +++ b/website/docs/reference/slash-commands.md @@ -31,6 +31,7 @@ Type `/` in the CLI to open the autocomplete menu. Built-in commands are case-in | `/compress` | Manually compress conversation context (flush memories + summarize) | | `/rollback` | List or restore filesystem checkpoints (usage: /rollback [number]) | | `/stop` | Kill all running background processes | +| `/statusbar` (alias: `/sb`) | Toggle the context/model status bar on or off | | `/background ` | Run a prompt in a separate background session. The agent processes your prompt independently — your current session stays free for other work. Results appear as a panel when the task finishes. See [CLI Background Sessions](/docs/user-guide/cli#background-sessions). | | `/plan [request]` | Load the bundled `plan` skill to write a markdown plan instead of executing the work. Plans are saved under `.hermes/plans/` relative to the active workspace/backend working directory. | @@ -114,13 +115,15 @@ The messaging gateway supports the following built-in commands inside Telegram, | `/background ` | Run a prompt in a separate background session. Results are delivered back to the same chat when the task finishes. See [Messaging Background Sessions](/docs/user-guide/messaging/#background-sessions). | | `/plan [request]` | Load the bundled `plan` skill to write a markdown plan instead of executing the work. Plans are saved under `.hermes/plans/` relative to the active workspace/backend working directory. | | `/reload-mcp` | Reload MCP servers from config. | +| `/approve` | Approve and execute a pending dangerous command (terminal commands flagged for review). | +| `/deny` | Reject a pending dangerous command. | | `/update` | Update Hermes Agent to the latest version. | | `/help` | Show messaging help. | | `/` | Invoke any installed skill by name. | ## Notes -- `/skin`, `/tools`, `/toolsets`, `/browser`, `/config`, `/prompt`, `/cron`, `/skills`, `/platforms`, `/paste`, `/verbose`, and `/plugins` are **CLI-only** commands. -- `/status`, `/sethome`, and `/update` are **messaging-only** commands. +- `/skin`, `/tools`, `/toolsets`, `/browser`, `/config`, `/prompt`, `/cron`, `/skills`, `/platforms`, `/paste`, `/verbose`, `/statusbar`, and `/plugins` are **CLI-only** commands. +- `/status`, `/sethome`, `/update`, `/approve`, and `/deny` are **messaging-only** commands. - `/background`, `/voice`, `/reload-mcp`, and `/rollback` work in **both** the CLI and the messaging gateway. - `/voice join`, `/voice channel`, and `/voice leave` are only meaningful on Discord. diff --git a/website/docs/user-guide/configuration.md b/website/docs/user-guide/configuration.md index c3484986d8..6bb1b31383 100644 --- a/website/docs/user-guide/configuration.md +++ b/website/docs/user-guide/configuration.md @@ -854,6 +854,31 @@ agent: Budget pressure is enabled by default. The agent sees warnings naturally as part of tool results, encouraging it to consolidate its work and deliver a response before running out of iterations. +## Context Pressure Warnings + +Separate from iteration budget pressure, context pressure tracks how close the conversation is to the **compaction threshold** — the point where context compression fires to summarize older messages. This helps both you and the agent understand when the conversation is getting long. + +| Progress | Level | What happens | +|----------|-------|-------------| +| **≥ 60%** to threshold | Info | CLI shows a cyan progress bar; gateway sends an informational notice | +| **≥ 85%** to threshold | Warning | CLI shows a bold yellow bar; gateway warns compaction is imminent | + +In the CLI, context pressure appears as a progress bar in the tool output feed: + +``` + ◐ context ████████████░░░░░░░░ 62% to compaction 48k threshold (50%) · approaching compaction +``` + +On messaging platforms, a plain-text notification is sent: + +``` +◐ Context: ████████████░░░░░░░░ 62% to compaction (threshold: 50% of window). +``` + +If auto-compression is disabled, the warning tells you context may be truncated instead. + +Context pressure is automatic — no configuration needed. It fires purely as a user-facing notification and does not modify the message stream or inject anything into the model's context. + ## Auxiliary Models Hermes uses lightweight "auxiliary" models for side tasks like image analysis, web page summarization, and browser screenshot analysis. By default, these use **Gemini Flash** via auto-detection — you don't need to configure anything. @@ -1042,6 +1067,7 @@ tts: openai: model: "gpt-4o-mini-tts" voice: "alloy" # alloy, echo, fable, onyx, nova, shimmer + base_url: "https://api.openai.com/v1" # Override for OpenAI-compatible TTS endpoints neutts: ref_audio: '' ref_text: '' @@ -1065,6 +1091,7 @@ display: show_reasoning: false # Show model reasoning/thinking above each response (toggle with /reasoning show|hide) streaming: false # Stream tokens to terminal as they arrive (real-time output) background_process_notifications: all # all | result | error | off (gateway only) + show_cost: false # Show estimated $ cost in the CLI status bar ``` ### Theme mode diff --git a/website/docs/user-guide/features/tts.md b/website/docs/user-guide/features/tts.md index 930a1bbfb4..18a4497cec 100644 --- a/website/docs/user-guide/features/tts.md +++ b/website/docs/user-guide/features/tts.md @@ -42,6 +42,7 @@ tts: openai: model: "gpt-4o-mini-tts" voice: "alloy" # alloy, echo, fable, onyx, nova, shimmer + base_url: "https://api.openai.com/v1" # Override for OpenAI-compatible TTS endpoints neutts: ref_audio: '' ref_text: '' diff --git a/website/docs/user-guide/messaging/index.md b/website/docs/user-guide/messaging/index.md index 227694da3e..597e195146 100644 --- a/website/docs/user-guide/messaging/index.md +++ b/website/docs/user-guide/messaging/index.md @@ -1,7 +1,7 @@ --- sidebar_position: 1 title: "Messaging Gateway" -description: "Chat with Hermes from Telegram, Discord, Slack, WhatsApp, Signal, SMS, Email, Home Assistant, Mattermost, Matrix, DingTalk, or any OpenAI-compatible frontend via the API server — architecture and setup overview" +description: "Chat with Hermes from Telegram, Discord, Slack, WhatsApp, Signal, SMS, Email, Home Assistant, Mattermost, Matrix, DingTalk, Webhooks, or any OpenAI-compatible frontend via the API server — architecture and setup overview" --- # Messaging Gateway @@ -28,6 +28,7 @@ flowchart TB mx[Matrix] dt[DingTalk] api["API Server
(OpenAI-compatible)"] + wh[Webhooks] end store["Session store
per chat"] @@ -47,6 +48,7 @@ flowchart TB mx --> store dt --> store api --> store + wh --> store store --> agent cron --> store ``` @@ -88,6 +90,8 @@ hermes gateway status --system # Linux only: inspect the system service | `/undo` | Remove the last exchange | | `/status` | Show session info | | `/stop` | Stop the running agent | +| `/approve` | Approve a pending dangerous command | +| `/deny` | Reject a pending dangerous command | | `/sethome` | Set this chat as the home channel | | `/compress` | Manually compress conversation context | | `/title [name]` | Set or show the session title | @@ -309,6 +313,7 @@ Each platform has its own toolset: | Matrix | `hermes-matrix` | Full tools including terminal | | DingTalk | `hermes-dingtalk` | Full tools including terminal | | API Server | `hermes` (default) | Full tools including terminal | +| Webhooks | `hermes-webhook` | Full tools including terminal | ## Next Steps @@ -324,3 +329,4 @@ Each platform has its own toolset: - [Matrix Setup](matrix.md) - [DingTalk Setup](dingtalk.md) - [Open WebUI + API Server](open-webui.md) +- [Webhooks](webhooks.md)