diff --git a/.env.example b/.env.example index 252a06352..413a32110 100644 --- a/.env.example +++ b/.env.example @@ -34,6 +34,10 @@ OPENHUMAN_CORE_RPC_URL=http://127.0.0.1:7788/rpc OPENHUMAN_CORE_RUN_MODE=child # [optional] Override path to openhuman core binary (leave blank for auto-detection) OPENHUMAN_CORE_BIN= +# [optional] Explicit .env path for `openhuman serve` / `openhuman run` (loaded before the server starts). +# Must be set in the parent environment (exported in your shell or service manager). It is read before +# any dotenv file is loaded, so defining OPENHUMAN_DOTENV_PATH inside a .env file cannot select that file. +# OPENHUMAN_DOTENV_PATH= # --------------------------------------------------------------------------- # Config overrides (override config.toml values at runtime) diff --git a/Cargo.lock b/Cargo.lock index 520a77bd7..790906528 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1874,6 +1874,12 @@ dependencies = [ "litrs", ] +[[package]] +name = "dotenvy" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" + [[package]] name = "dunce" version = "1.0.5" @@ -5135,6 +5141,7 @@ dependencies = [ "dialoguer", "directories", "dirs 5.0.1", + "dotenvy", "enigo", "env_logger", "fantoccini", diff --git a/Cargo.toml b/Cargo.toml index a41cbf0f8..af2197bd6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -60,6 +60,7 @@ prost = { version = "0.14", default-features = false } postgres = { version = "0.19", features = ["with-chrono-0_4"] } chrono-tz = "0.10" dialoguer = { version = "0.12", features = ["fuzzy-select"] } +dotenvy = "0.15" console = "0.16" glob = "0.3" regex = "1.10" diff --git a/app/src/components/skills/SkillDebugModal.tsx b/app/src/components/skills/SkillDebugModal.tsx index 00d797ef6..8b36dd4ab 100644 --- a/app/src/components/skills/SkillDebugModal.tsx +++ b/app/src/components/skills/SkillDebugModal.tsx @@ -129,6 +129,7 @@ export default function SkillDebugModal({ skillId, skillName, onClose }: SkillDe