Skip to content

feat(scripts): add environment checker utility#143

Closed
Bartok9 wants to merge 1 commit into
NousResearch:mainfrom
Bartok9:feat/add-environment-checker
Closed

feat(scripts): add environment checker utility#143
Bartok9 wants to merge 1 commit into
NousResearch:mainfrom
Bartok9:feat/add-environment-checker

Conversation

@Bartok9

@Bartok9 Bartok9 commented Feb 27, 2026

Copy link
Copy Markdown
Contributor

Adds a diagnostic script to validate Hermes Agent installation.

Usage

python scripts/check_env.py

What It Checks

Python Runtime

  • Version (3.10+ required)

Core Dependencies

  • openai, prompt-toolkit, rich, pyyaml, requests

Optional Dependencies

  • edge-tts, elevenlabs, playwright, ptyprocess, websockets

Command-Line Tools

  • ffmpeg, git, docker, playwright

Environment Variables

  • OPENROUTER_API_KEY (required)
  • OPENAI_API_KEY, ELEVENLABS_API_KEY, etc. (optional)

Configuration

  • HERMES_HOME directory and skills count

Output

🔍 Hermes Agent Environment Check

============================================================

📦 Python Runtime
----------------------------------------
  ✅ Python               3.11.6

📦 Core Dependencies
----------------------------------------
  ✅ openai               1.12.0
  ✅ prompt-toolkit       3.0.43
  ...

🔐 Environment Variables
----------------------------------------
  ✅ OPENROUTER_API_KEY   sk-o...abc1
  ⚠️  ELEVENLABS_API_KEY  not set (optional)

✨ Check complete!

Why

Helps users self-diagnose installation issues instead of filing support issues.

Adds a diagnostic script to validate Hermes Agent installation:

    python scripts/check_env.py

Checks:
- Python version (3.10+ required)
- Core dependencies (openai, prompt-toolkit, rich, etc.)
- Optional dependencies (edge-tts, playwright, etc.)
- Command-line tools (ffmpeg, git, docker)
- Environment variables (API keys)
- HERMES_HOME configuration

Output is color-coded:
- ✅ Available/configured
- ⚠️ Optional but missing
- ❌ Required but missing

Useful for debugging installation issues and helping users
self-diagnose their setup.
@teknium1

Copy link
Copy Markdown
Contributor

the command: hermes doctor already exists for this

@laksjdf

laksjdf commented May 22, 2026

Copy link
Copy Markdown

Update: P2 "Comm-compute overlap unmodeled" — RESOLVED

The original issue description flagged ep_overlap_waves as an unused field and comm-compute overlap as unmodeled. After auditing the current codebase (May 2026), overlap mechanisms are complete across all 5 parallel dimensions:

Dim Mechanism What's Hidden Hide Window Code Location Activation
TP CoC K-wave overlap TP AG/RS Same-layer GEMM stage.py:275-298 strategy.tp_overlap == COC
TP MC2 overlap TP AG/RS Same-layer GEMM stage.py:288-292 strategy.tp_overlap == MC2
EP Intra-batch K-wave EP A2A fwd+bwd Expert GEMM stage.py:363-371 strategy.ep_overlap=True + gpu.ep_overlap_waves>0
EP Inter-batch overlap EP A2A residual Other MB's non-EP compute stage.py:392-412 strategy.dualbatch=True + strategy.pp>1
DP Bubble-window overlap DP AR Pipeline cooldown + ratio×steady_bwd schedules.py:136-158 strategy.dp_overlap_in_bubble=True (default)
DP Bucket residual cap Last bucket — (always exposed) schedules.py:182-184 Always active
PP Dual-stream bwd_dw PP P2P + recompute DualPipe(V) bwd_dw stream schedules.py:710-750 strategy.pp_overlap=True + DualPipe schedule
Muon Rotation hiding Optimizer AG/RS NS compute + next-step fwd window schedules.py:905-930 Muon optimizer + rotation
CP None stage.py:37 N/A (CP A2A negligible)

gpu.ep_overlap_waves is now actively consumed at stage.py:363-364 (K = gpu.ep_overlap_waves) driving the K-wave overlap formula.

The P2 overlap gap should be marked resolved. The remaining gaps in this issue are P0/P1 comm-time-calculation precision issues (NCCL auto-topo, A2A hierarchy, bandwidth directionality, NVLS/SHARP), not overlap coverage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants