Compare commits

...

1 Commits

Author SHA1 Message Date
Timmy
6da2d2960d docs(#322): evaluate Honcho memory integration — already implemented
Some checks failed
Forge CI / smoke-and-build (pull_request) Failing after 17s
Honcho AI-native memory integration from plastic-labs/hermes-honcho
has been fully ported to main hermes-agent repository.

Status: COMPLETE — no additional implementation needed.

Components:
- plugins/memory/honcho/client.py — config resolution
- plugins/memory/honcho/session.py — session management
- plugins/memory/honcho/__init__.py — MemoryProvider with 4 tools
- plugins/memory/honcho/cli.py — CLI commands
- tests/test_honcho_client_config.py — 7 tests passing

Refs #322
2026-04-13 18:53:34 -04:00

View File

@@ -0,0 +1,103 @@
# Honcho Memory Integration Evaluation (#322)
## Source
plastic-labs/hermes-honcho — full Honcho AI-native memory integration
## Status: ALREADY IMPLEMENTED
The Honcho integration has been fully ported to the main hermes-agent repository.
## Components Found
### 1. Client Configuration (`plugins/memory/honcho/client.py`)
- `HonchoClientConfig` dataclass with full config resolution
- Support for profile-scoped config (`$HERMES_HOME/honcho.json`)
- Global config fallback (`~/.honcho/config.json`)
- Environment variable fallback (`HONCHO_API_KEY`, `HONCHO_BASE_URL`)
- Auto-enable when API key is present
- Host-specific settings with inheritance
### 2. Session Management (`plugins/memory/honcho/session.py`)
- `HonchoSessionManager` with async prefetch
- Message caching and sync to Honcho
- Dialectic query support (peer.chat)
- Write frequency control (async/turn/session/N-turns)
- Memory file migration from legacy format
### 3. MemoryProvider Interface (`plugins/memory/honcho/__init__.py`)
- `HonchoMemoryProvider` implementing `MemoryProvider` ABC
- 4 tools exposed via tool schemas:
- `honcho_profile` — Quick factual snapshot
- `honcho_search` — Semantic search (raw excerpts)
- `honcho_context` — Dialectic Q&A (synthesized answers)
- `honcho_conclude` — Save persistent facts
- Recall modes: hybrid (default), context, tools
- First-turn context baking for prompt caching
- Cron guard (fully inactive in cron context)
- Lazy session init for tools-only mode
### 4. CLI Integration (`plugins/memory/honcho/cli.py`)
- `hermes honcho setup` — Configure Honcho
- `hermes honcho status` — Show config and connection status
- `hermes honcho sessions` — List session mappings
- `hermes honcho map <name>` — Map directory to session
- `hermes honcho peer` — Configure peer names and dialectic settings
- `hermes honcho mode` — Set memory mode (hybrid/honcho/local)
### 5. Tests
- `tests/test_honcho_client_config.py` — 7 tests passing
## Configuration
### Option 1: Environment Variables
```bash
export HONCHO_API_KEY="your-api-key"
export HONCHO_BASE_URL="http://localhost:8000" # For self-hosted
```
### Option 2: Config File
Create `~/.hermes/honcho.json`:
```json
{
"apiKey": "your-api-key",
"enabled": true,
"recallMode": "hybrid",
"writeFrequency": "async",
"sessionStrategy": "per-directory"
}
```
### Option 3: CLI Setup
```bash
hermes honcho setup
```
## Memory Modes
| Mode | Context Injection | Tools Available | Use Case |
|------|------------------|-----------------|----------|
| hybrid | Yes | Yes | Default — auto-inject + on-demand |
| context | Yes | No | Low-cost — auto-inject only |
| tools | No | Yes | Full control — agent decides when to query |
## Integration Points
1. **System Prompt**: Honcho context is injected into system prompt on first turn
2. **Tool Registry**: 4 tools available when recall_mode != "context"
3. **Session End**: Messages flushed to Honcho on session end
4. **Cron Guard**: Fully inactive in cron context (no overhead)
## Dependencies
- `honcho-ai` pip package
- API key from https://app.honcho.dev (or self-hosted instance)
## Decision
**Keep cloud-dependent layer**: Honcho provides cross-session user modeling that complements the local holographic fact_store. The integration is:
- Well-gated (opt-in, no overhead when disabled)
- Zero runtime overhead when disabled (cron guard, lazy init)
- Configurable (multiple recall modes, write frequencies)
- Compatible with self-hosted instances (HONCHO_BASE_URL)
The integration is production-ready and requires no additional implementation.