feat: add self-hosted memory providers (OpenViking, Honcho, Holographic)
- Add OpenViking service (knowledge graph) using official GHCR image - Add Honcho stack (user modeling): API + PostgreSQL pgvector + Redis - Add Holographic config to Hermes (local SQLite, no server needed) - Hermes: install httpx for OpenViking client - Hermes: auto-generate config.yaml + honcho.json on first boot - All data 100% local, zero cloud dependencies
This commit is contained in:
@@ -49,6 +49,14 @@ COPY --chmod=0755 --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/
|
||||
RUN . /opt/hermes/.venv/bin/activate && \
|
||||
uv pip install --no-cache-dir 'mautrix[encryption]' openai
|
||||
|
||||
WORKDIR /opt/hermes
|
||||
|
||||
# ---------- Memory provider dependencies ----------
|
||||
# httpx: HTTP client for OpenViking plugin
|
||||
# honcho-ai: already installed in upstream image (v2.1.1+)
|
||||
RUN . /opt/hermes/.venv/bin/activate && \
|
||||
uv pip install --no-cache-dir httpx
|
||||
|
||||
# ---------- Piper TTS ----------
|
||||
RUN . /opt/hermes/.venv/bin/activate && \
|
||||
uv pip install --no-cache-dir piper-tts sounddevice numpy && \
|
||||
|
||||
9
ai/hermes/config.yaml
Normal file
9
ai/hermes/config.yaml
Normal file
@@ -0,0 +1,9 @@
|
||||
memory:
|
||||
memory_enabled: true
|
||||
user_profile_enabled: true
|
||||
providers:
|
||||
- holographic
|
||||
- honcho
|
||||
- openviking
|
||||
flush_min_turns: 6
|
||||
nudge_interval: 10
|
||||
33
ai/hermes/honcho.json
Normal file
33
ai/hermes/honcho.json
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"enabled": true,
|
||||
"apiKey": "",
|
||||
"baseUrl": "http://honcho:8000",
|
||||
"workspace": "hermes",
|
||||
"peerName": "thierry",
|
||||
"contextCadence": 2,
|
||||
"dialecticCadence": 3,
|
||||
"dialecticDepth": 2,
|
||||
"dialecticReasoningLevel": "low",
|
||||
"dialecticMaxChars": 600,
|
||||
"recallMode": "hybrid",
|
||||
"writeFrequency": "async",
|
||||
"sessionStrategy": "per-directory",
|
||||
"saveMessages": true,
|
||||
"hosts": {
|
||||
"hermes": {
|
||||
"enabled": true,
|
||||
"aiPeer": "hermes",
|
||||
"recallMode": "hybrid",
|
||||
"observation": {
|
||||
"user": { "observeMe": true, "observeOthers": true },
|
||||
"ai": { "observeMe": true, "observeOthers": true }
|
||||
},
|
||||
"dialecticDepth": 2,
|
||||
"dialecticReasoningLevel": "low",
|
||||
"dialecticMaxChars": 600,
|
||||
"sessionStrategy": "per-directory",
|
||||
"writeFrequency": "async",
|
||||
"saveMessages": true
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user