docs: four small accuracy fixes
- cron: state explicitly that job definitions survive updates, gateway restarts and reboots (asked directly in #37542) - mcp: add a Claude Code bridge tip - mcpServers maps to mcp_servers and hermes import-agent migrates it (the MCP page never says 'mcpServers' in the client direction; arrivals from Claude Code get no pointer) - installation: surface loginctl enable-linger in the non-sudo/service user section where affected users start (currently only on the gateway page; #43748) - sessions: document optimize, optimize-storage, repair, recover and retitle-skills in the CLI reference (shipped in v0.19.1 --help but absent from the table) and recommend non-destructive optimize before prune in the db-growth tip All wording verified against hermes v0.19.1 --help output and the live pages on 2026-08-04.
This commit is contained in:
parent
8cc4ff249e
commit
e20cfd35e0
|
|
@ -143,6 +143,14 @@ Running Hermes as a dedicated unprivileged user (e.g. a `hermes` systemd service
|
|||
|
||||
4. **Verify:** `hermes doctor` should now run cleanly. If you get `ModuleNotFoundError: No module named 'dotenv'`, you're invoking the repo source `hermes` file (`~/.hermes/hermes-agent/hermes`) with system Python instead of the venv launcher (`~/.hermes/hermes-agent/venv/bin/hermes`) — fix step 3.
|
||||
|
||||
5. **Running the messaging gateway from this account?** A user-level service stops at logout and does not start at boot until you enable lingering for the service user:
|
||||
|
||||
```bash
|
||||
sudo loginctl enable-linger <service-user>
|
||||
```
|
||||
|
||||
See [Messaging Gateway](/user-guide/messaging/) for the service setup itself.
|
||||
|
||||
The same pattern works on Arch (the installer uses pacman with the same sudo-detection logic), Fedora/RHEL, and openSUSE — those distros don't support `--with-deps` at all, so an administrator always installs the system libraries separately. The relevant `dnf`/`zypper` commands are printed by the installer.
|
||||
|
||||
---
|
||||
|
|
|
|||
|
|
@ -1462,6 +1462,11 @@ Subcommands:
|
|||
| `archive` | Bulk-archive (soft-hide, no deletion) sessions matching the same filters as `prune`. Requires at least one filter. |
|
||||
| `stats` | Show session-store statistics. |
|
||||
| `rename <session-id> <title>` | Set or change a session title. |
|
||||
| `optimize` | Reclaim disk space: merge FTS5 index segments + VACUUM. Non-destructive — no session data changes. |
|
||||
| `optimize-storage` | Migrate the full-text search index to the compact v23 external-content layout; on large databases this reclaims a large fraction of `state.db`. |
|
||||
| `repair` | Repair a malformed `state.db` schema (e.g. `table messages_fts already exists`) so hidden sessions reappear; a backup is made first. |
|
||||
| `recover` | Offline, non-destructive recovery of a damaged `state.db` into a separate clean database. |
|
||||
| `retitle-skills` | Regenerate titles for sessions opened with a `/skill`, using what the user actually typed; lists changes unless `--apply` is passed. |
|
||||
|
||||
## `hermes insights`
|
||||
|
||||
|
|
|
|||
|
|
@ -779,6 +779,8 @@ The referenced jobs' most recent completed outputs are injected above the prompt
|
|||
|
||||
Jobs are stored in `~/.hermes/cron/jobs.json`. Output from job runs is saved to `~/.hermes/cron/output/{job_id}/{timestamp}.md`.
|
||||
|
||||
Job definitions are plain JSON on disk: they survive `hermes update`, gateway restarts, and machine reboots. A job that was mid-run during a restart resumes according to the attempt policy described in this page.
|
||||
|
||||
:::tip
|
||||
Ask the agent to manage jobs through the `cronjob` tool, `hermes cron edit`, or `/cron` — not by patching `jobs.json` directly. Direct edits can fail silently when [file write safety](../security.md#file-write-safety) blocks the path (for example when `HERMES_WRITE_SAFE_ROOT` is set), and the [file-mutation verifier](../configuration.md#file-mutation-verifier) footer is the authoritative signal that nothing was saved.
|
||||
:::
|
||||
|
|
|
|||
|
|
@ -10,6 +10,10 @@ MCP lets Hermes Agent connect to external tool servers so the agent can use tool
|
|||
|
||||
If you have ever wanted Hermes to use a tool that already exists somewhere else, MCP is usually the cleanest way to do it.
|
||||
|
||||
:::tip Coming from Claude Code?
|
||||
The `mcpServers` block in your `~/.claude.json` maps to `mcp_servers` in Hermes' `config.yaml` — and `hermes import-agent claude-code` migrates it (along with skills and instructions) automatically. See [Import from Other Agents](../import-from-other-agents.md).
|
||||
:::
|
||||
|
||||
## What MCP gives you
|
||||
|
||||
- Access to external tool ecosystems without writing a native Hermes tool first
|
||||
|
|
|
|||
|
|
@ -60,7 +60,9 @@ into chat.
|
|||
:::tip
|
||||
Use `/compress` when a session gets long, `/new` for a fresh thread, and
|
||||
`hermes sessions prune` only when you want to delete old ended sessions from
|
||||
storage. Compression reduces the active context; it is not a privacy delete.
|
||||
storage. If `state.db` has simply grown large, start with the non-destructive
|
||||
option first: `hermes sessions optimize` merges FTS5 index segments and
|
||||
VACUUMs the database without touching any session data. Compression reduces the active context; it is not a privacy delete.
|
||||
Pass a name to `/new` (e.g. `/new payments-refactor`) to set the new session's
|
||||
initial title up front — useful for finding it later with `/resume <name>` or
|
||||
in the `/sessions` picker.
|
||||
|
|
|
|||
Loading…
Reference in New Issue