CORTEX / SETUP

Connect your knowledge

Everything you need to connect Hermes or set up a new Cortex server.

DOWNLOAD CENTER

MEMORY PREFERENCES

Clean up spelling on save

Correct obvious common English typos before saving. Names, identifiers, paths, commands, code and quoted passages stay unchanged. Ambiguous words are left alone.

Corrections and the original submitted text appear in the memory’s provenance. Applies to new saves and edits; existing memories stay as they are.

{{ 'On' if preferences.spelling_cleanup else 'Off' }}

On by default

⚙

Memory engines

Choose where Cortex creates embeddings and how it files incoming memories.

{% for kind, title, description, local_value, local_label in [('embedding','Embedding engine','Turns memories and search queries into vectors.','local','Local CPU · MiniLM'),('processing','Processing engine','Chooses a title, folder and section for new memories. The memory text is preserved.','rules','Local rules')] %}
{{ title }}

{{ description }}

{% if kind == 'processing' %}

Ask Cortex and AI processing: require an LLM configured here through Ollama or an OpenAI-compatible API.

No conversational LLM is bundled. Local rules can file memories without one; the local embedding model powers semantic search but does not generate answers.

{% endif %}
{% endfor %}

Loading current settings…

Remote engines receive memory text over your network. An embedding change rebuilds search before activation; writes wait during the rebuild, while searches use the previous index. Previous indexes are retained. Existing memories are not rewritten. Hermes uses its own chat model, independently of these settings.

↺

Backup & recovery

Private application archives complement your Proxmox VM backups.

Daily archives include the Markdown vault and Git history, provenance, forgotten notes, saved versions, engine settings, PostgreSQL data, graph links and vector indexes. The newest 14 are retained in /var/backups/cortex. Writers pause briefly while a consistent snapshot is taken. Archives contain private data and credentials; they are available through SSH to an administrator.

Create: sudo cortex-backup create · Verify: sudo cortex-backup verify /path/to/archive.tar.gz

Restore: sudo cortex-backup restore /path/to/archive.tar.gz --confirm-restore. A safety backup is created first. Restore replaces Cortex data while preserving this installation’s database permissions, service credentials and API keys. Restore into a matching Cortex installation. Check the next backup and latest verification on Overview →.

{% for group, heading, description in [('hermes', 'Connect Hermes Agent', 'Use your existing Cortex server as the durable memory store for Hermes.'), ('cortex', 'Install Cortex on Debian', 'Build a new Cortex server on a fresh Debian 13 x86-64 machine.')] %}
{{ loop.index }}

{{ heading }}

{{ description }}

{% for item in downloads if item.group == group %}
{{ 'HERMES INTEGRATION' if group == 'hermes' else 'CORTEX SERVER' }}

{{ item.title }}

{{ item.description }}

{% if item.checksum %}SHA-256 checksum ↗{% endif %}
{% endfor %}
{% if group == 'hermes' %}

Install on each Hermes client

The ZIP already contains a cortex/ folder. Extract into ~/.hermes/plugins/, so ~/.hermes/plugins/cortex/__init__.py exists. Extracting into ~/.hermes/plugins/cortex/ creates an extra folder that the memory-provider loader cannot use.

After authorizing that client's SSH key and verifying the server's host key, run python3 ~/.hermes/plugins/cortex/install.py --server USER@HOST --identity /path/to/key --known-hosts /path/to/known_hosts. {% if legacy_mcp %}This server uses the existing /opt/memory-cortex deployment: add --legacy.{% else %}This server has the Debian installer's MCP wrapper: use the default command without --legacy.{% endif %}

The installer verifies tools and recall before applying Cortex memory settings, preserves other Hermes settings and backs up the previous connector. Follow the connection guide for complete steps.

{% endif %}
{% endfor %}

AFTER CONNECTING

Verify shared recall

Fully restart Hermes and run hermes memory status. The Cortex provider must load without a missing-provider warning; an enabled plugin alone does not prove it loaded. Each client should connect to the same server.

On client A: “Remember that my Cortex sharing test phrase is blue comet.”

On client B: “Use cortex_recall to find my Cortex sharing test phrase, then read the matching note with cortex_memory_get.”

After verifying: “Forget the memory about my Cortex sharing test phrase.”

Automatic recall supplies a few relevant previews per turn. Existing local memories and old chats are not imported automatically.

Open Memories to verify the result →

The connector uses SSH. Follow the guide to configure access to your server. The Debian installer is for a new machine; it does not upgrade this running server. Downloading a file does not install or change anything.