fix(plugins): model-provider plugins load under plugins.isolation: host on Windows

The credential-free profile extraction child got HOME but not USERPROFILE.
Windows resolves Path.home() from USERPROFILE only, so the child exited with
"Could not determine home directory" and every user model-provider plugin was
silently dropped under host isolation.

Reported-by: Enough1122
This commit is contained in:
teknium1
2026-10-03 10:04:08 -07:00
committed by Teknium
parent 55c06b2fd6
commit 21564d22dd

View File

@@ -82,7 +82,9 @@ def _extract(plugin_dir: Path, module_name: str) -> Dict[str, Any]:
from hermes_constants import get_hermes_home
repo_root = str(Path(__file__).resolve().parents[1])
env = {key: os.environ[key] for key in ("PATH", "LANG", "LC_ALL", "TZ", "SYSTEMROOT") if key in os.environ}
env.update(HOME=str(Path.home()), HERMES_HOME=str(get_hermes_home()), PYTHONPATH=repo_root,
# Windows resolves Path.home() from USERPROFILE, never HOME: without it the child cannot start.
env.update(HOME=str(Path.home()), USERPROFILE=str(Path.home()), HERMES_HOME=str(get_hermes_home()),
PYTHONPATH=repo_root,
**{HOST_PROCESS_ENV: "1"})
argv = [*host_launcher(), sys.executable, "-m", "hermes_cli.plugin_host_child", "--extract-profiles",
str(plugin_dir), module_name]