Skip to content

Releases: ahmedhabibo/hermes-lite

v0.10.0 — Config consolidation + real token streaming

Choose a tag to compare

@ahmedhabibo ahmedhabibo released this 20 Jul 10:34

Changes

  • Config consolidation via get_config() as single source of truth
  • Orchestrator: command routing skip, /clear fix, MoA tier fix
  • Real token streaming: stream_prompt() with delegation guards, persistence, error handling
  • 5 streaming integration tests
  • Docs: tool-call limitation noted in docstring + WebUI tooltip

Known Gaps

  • WebUI end-to-end streaming not verified (requires local LLM at 127.0.0.1:8080)
  • AllKeysExhausted surfaces raw to UI during streaming
  • stream_prompt silently drops tool-call deltas (by design — batch path handles tools)

Hermes-Lite v0.9.0 — Standalone Release Polish

Choose a tag to compare

@ahmedhabibo ahmedhabibo released this 10 Jul 09:51

0.9.0 — Release-quality packaging polish

Highlights

  • Hermes-Lite ships as a clean standalone PyPI package — zero Hermes Agent runtime dependency
  • Test suite green: 467 collected, 464 passed (3 slow deselected), 0 failed — verified post-bump
  • Fresh dist/ build validated with twine check (wheel + sdist)
  • Clean working tree: egg-info/, dist/, build/ and transient smoke/latency.json moved to .gitignore
  • pyproject.toml metadata hardened: Development Status :: 5 - Production/Stable, standalone keyword + long description

Changed

  • pyproject.toml: version0.9.0; Production/Stable classifier; standalone/ddgs keywords
  • README.md: test-count badge refreshed to reflect 467-collection baseline
  • .gitignore: build artefacts stripped from tracking (no more churn from pip install -e . / python -m build)

Verified

  • pytest tests/ -q -m "not slow" → 464 passed, 3 deselected (slow), 0 failed
  • python -m build → wheel + sdist produced in dist/
  • python -m twine check dist/* → PASSED for both artefacts
  • Smoke run against z-ai/glm-5.2 via NVIDIA NIM Free API (see smoke/latency.json, gitignored)

0.8.0 — Decouple from Hermes Agent (Standalone Local-First Agent)

v0.8.0 — Standalone Local-First AI Agent

Choose a tag to compare

@ahmedhabibo ahmedhabibo released this 08 Jul 20:34

v0.8.0 — Standalone Local-First AI Agent

Breaking Changes

  • Fully decoupled from Hermes Agent — Hermes-Lite is now a standalone package with no runtime dependencies on Hermes Agent or its infrastructure.
  • Configuration is now entirely via HERMES_LITE_* environment variables and optional ~/.hermes_lite/config.yaml.

Added

  • __version__ exported from package root (hermes_lite.__version__)
  • WebUI CLI: --port and --host arguments
  • Standalone config keys: LITE_LOCAL_MAX_COMPLEXITY, LITE_FALLBACK_CHAIN, etc.
  • YAML config support at ~/.hermes_lite/config.yaml

Changed

  • Package description updated to "Standalone local-first AI agent"
  • WebUI version updated to 0.8.0
  • All internal references to "Hermes Agent" removed
  • Prompts, router, orchestrator now use package-native naming

Tests

  • 467 tests passing

Install

pip install hermes-lite==0.8.0

PyPI: https://pypi.org/project/hermes-lite/0.8.0/

v0.7.0 — Local-First Routing + Tool-Calling

Choose a tag to compare

@ahmedhabibo ahmedhabibo released this 08 Jul 13:14

v0.7.0 — Local-First Routing Flip

Added

  • Local-first routing: LOCAL=default, NIM cloud=heavy-only
  • Local tool-calling: XML parser + system-prompt tool injection
  • Standalone web search via ddgs
  • WebUI — FastAPI + WebSocket streaming on port 3007
  • /cloud and /local commands for manual routing override

Fixed

  • MoA reference_resultsreference_responses attribute mismatch
  • Streaming async_generator bug — unified stream path through orchestrator
  • WebUI: slash commands now bypass streaming, go through orchestrator

Tests

  • 467 tests (same as v0.6.0, all passing)

Install

pip install hermes-lite==0.7.0

PyPI: https://pypi.org/project/hermes-lite/0.7.0/

v0.6.0: Security Hardening

Choose a tag to compare

@ahmedhabibo ahmedhabibo released this 03 Jul 11:31

Phase 1 Security Hardening (Items 1-7 — COMPLETE)

# Item Status
1 API Key Exhaustion — AllKeysExhausted with cloud→local fallback
2 Auth/Authorization — ToolAuthError, dangerous flag, --auth-token CLI
3 Input Sanitization — control tokens, path traversal, shell injection, MoA
4 Rate-limit Hardening — per-key token buckets, jittered backoff, GLM-5.2 default
5 Sandbox Tightening — command allowlist/blocklist, env scrubbing enforced
6 Secret Redaction — secrets stripped from child env, stdout/stderr, and audit log
7 Subagent Isolation — child env sanitized, parent env restored after run

Stats

  • 463 tests passing (was 432, +31 new security tests)
  • 16 source modules, 20 test files
  • Default model: z-ai/glm-5.2 (NVIDIA NIM)
  • Local fallback: Qwen2.5-Coder-7B-Instruct-IQ3_XS (3.1GB, tool-calling capable)

Local Model Upgrade

  • Switched from Gemma-4-E2B → Qwen2.5-Coder-7B-Instruct-IQ3_XS (Bartowski)
  • Tool calling works natively via llama-server grammar
  • 65K context, Q8_0 KV cache, 28 GPU layers (8GB M1 safe)
  • Updated launchd plist + Hermes-Lite config defaults