feat(phase-06): complete Hermes Agent windows fixes & deployment
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
# 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`.
|
||||
Reference in New Issue
Block a user