More fixes for windoze

This commit is contained in:
teknium1 2026-02-25 15:20:42 -08:00
parent 3c5bf5b9d8
commit d72b9eadec
6 changed files with 29 additions and 8 deletions

10
cli.py
View file

@ -55,7 +55,10 @@ from hermes_constants import OPENROUTER_BASE_URL
env_path = Path(__file__).parent / '.env'
if env_path.exists():
load_dotenv(dotenv_path=env_path)
try:
load_dotenv(dotenv_path=env_path, encoding="utf-8")
except UnicodeDecodeError:
load_dotenv(dotenv_path=env_path, encoding="latin-1")
# =============================================================================
# Configuration Loading
@ -133,7 +136,10 @@ def load_cli_config() -> Dict[str, Any]:
user_env_path = Path.home() / '.hermes' / '.env'
if user_env_path.exists():
from dotenv import load_dotenv
load_dotenv(dotenv_path=user_env_path, override=True)
try:
load_dotenv(dotenv_path=user_env_path, override=True, encoding="utf-8")
except UnicodeDecodeError:
load_dotenv(dotenv_path=user_env_path, override=True, encoding="latin-1")
# Default configuration
defaults = {

View file

@ -155,7 +155,10 @@ def run_job(job: dict) -> tuple[bool, str, str, Optional[str]]:
# Re-read .env and config.yaml fresh every run so provider/key
# changes take effect without a gateway restart.
from dotenv import load_dotenv
load_dotenv(os.path.expanduser("~/.hermes/.env"), override=True)
try:
load_dotenv(os.path.expanduser("~/.hermes/.env"), override=True, encoding="utf-8")
except UnicodeDecodeError:
load_dotenv(os.path.expanduser("~/.hermes/.env"), override=True, encoding="latin-1")
model = os.getenv("HERMES_MODEL", "anthropic/claude-opus-4.6")
api_key = os.getenv("OPENROUTER_API_KEY", "")

View file

@ -32,7 +32,10 @@ sys.path.insert(0, str(Path(__file__).parent.parent))
from dotenv import load_dotenv
_env_path = Path.home() / '.hermes' / '.env'
if _env_path.exists():
load_dotenv(_env_path)
try:
load_dotenv(_env_path, encoding="utf-8")
except UnicodeDecodeError:
load_dotenv(_env_path, encoding="latin-1")
# Also try project .env as fallback
load_dotenv()

View file

@ -19,9 +19,12 @@ HERMES_HOME = get_hermes_home()
from dotenv import load_dotenv
_env_path = get_env_path()
if _env_path.exists():
load_dotenv(_env_path)
try:
load_dotenv(_env_path, encoding="utf-8")
except UnicodeDecodeError:
load_dotenv(_env_path, encoding="latin-1")
# Also try project .env as fallback
load_dotenv(PROJECT_ROOT / ".env", override=False)
load_dotenv(PROJECT_ROOT / ".env", override=False, encoding="utf-8")
from hermes_cli.colors import Colors, color
from hermes_constants import OPENROUTER_MODELS_URL

View file

@ -37,7 +37,10 @@ sys.path.insert(0, str(PROJECT_ROOT))
from dotenv import load_dotenv
env_path = PROJECT_ROOT / '.env'
if env_path.exists():
load_dotenv(dotenv_path=env_path)
try:
load_dotenv(dotenv_path=env_path, encoding="utf-8")
except UnicodeDecodeError:
load_dotenv(dotenv_path=env_path, encoding="latin-1")
import logging

View file

@ -43,7 +43,10 @@ from dotenv import load_dotenv
# Load .env file if it exists
env_path = Path(__file__).parent / '.env'
if env_path.exists():
load_dotenv(dotenv_path=env_path)
try:
load_dotenv(dotenv_path=env_path, encoding="utf-8")
except UnicodeDecodeError:
load_dotenv(dotenv_path=env_path, encoding="latin-1")
logger.info("Loaded environment variables from %s", env_path)
else:
logger.info("No .env file found at %s. Using system environment variables.", env_path)