Files
variet_llm/.planning/phases/06-install-and-evaluate-hermes-agent/CONTEXT.md

2.0 KiB

Phase 06 Context

Executive Summary

This phase originally aimed to install and evaluate the Hermes Agent within our Variet LLM Engine project. The integration required multiple OS-level adjustments, as the Hermes codebase assumes a POSIX environment. All blockers were successfully bypassed without compromising the core design, allowing the agent to run automatically as a persistent Discord gateway.

Decisions Made

  1. Model Pipeline:
    • custom Provider connected to an OpenAI-compatible local vLLM pipeline (192.168.10.4:8000/v1). Models like custom/gemma-4-26b are verified to work.
  2. Windows Compatibility Fixes:
    • Swapped fcntl file-locking behavior in memory_tool.py to msvcrt fallback for Windows.
    • Refactored subprocess.Popen in browser_tool.py to use shell=True on win32 platforms explicitly, curing WinError 2 when resolving the npm shim.
    • Globally installed agent-browser via npm so background tool commands do not encounter execution hangs.
  3. Reasoning Prefill Fallback:
    • Updated run_agent.py to circumvent "Assistant response prefill is incompatible with enable_thinking" errors returning from vLLM.
    • Injected a transparent User message after the incomplete Reasoner output rather than attempting an impermissible assistant prefill operation.
  4. Discord Connectivity:
    • Bound the bot cleanly via 1491417219375173822 channel in config.yaml / .env without aggressive thread opening to allow pure 1:1 interaction.

Gray Areas / Trade-offs

  • The Windows patches introduce minor divergence from the upstream Hermes repo. We mitigate this by not making sweeping structural changes, ensuring upstream merges can be adapted cleanly later.
  • Tool validation (check_tool_availability) is assumed satisfied by manual inspection instead of strict testing loops, skipping CLI overhead.

Out of Scope

  • Making sweeping OS abstractions throughout the whole Hermes codebase.
  • Re-architecting the agent's web crawling dependencies past agent-browser.