mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-04-25 00:51:20 +00:00
feat(compression): add summary_base_url + move compression config to YAML-only
- Add summary_base_url config option to compression block for custom OpenAI-compatible endpoints (e.g. zai, DeepSeek, Ollama) - Remove compression env var bridges from cli.py and gateway/run.py (CONTEXT_COMPRESSION_* env vars no longer set from config) - Switch run_agent.py to read compression config directly from config.yaml instead of env vars - Fix backwards-compat block in _resolve_task_provider_model to also fire when auxiliary.compression.provider is 'auto' (DEFAULT_CONFIG sets this, which was silently preventing the compression section's summary_* keys from being read) - Add test for summary_base_url config-to-client flow - Update docs to show compression as config.yaml-only Closes #1591 Based on PR #1702 by @uzaylisak
This commit is contained in:
parent
867a96c051
commit
d1d17f4f0a
11 changed files with 194 additions and 98 deletions
16
cli.py
16
cli.py
|
|
@ -380,22 +380,10 @@ def load_cli_config() -> Dict[str, Any]:
|
|||
if config_key in browser_config:
|
||||
os.environ[env_var] = str(browser_config[config_key])
|
||||
|
||||
# Apply compression config to environment variables
|
||||
compression_config = defaults.get("compression", {})
|
||||
compression_env_mappings = {
|
||||
"enabled": "CONTEXT_COMPRESSION_ENABLED",
|
||||
"threshold": "CONTEXT_COMPRESSION_THRESHOLD",
|
||||
"summary_model": "CONTEXT_COMPRESSION_MODEL",
|
||||
"summary_provider": "CONTEXT_COMPRESSION_PROVIDER",
|
||||
}
|
||||
|
||||
for config_key, env_var in compression_env_mappings.items():
|
||||
if config_key in compression_config:
|
||||
os.environ[env_var] = str(compression_config[config_key])
|
||||
|
||||
# Apply auxiliary model/direct-endpoint overrides to environment variables.
|
||||
# Vision and web_extract each have their own provider/model/base_url/api_key tuple.
|
||||
# (Compression is handled in the compression section above.)
|
||||
# Compression config is read directly from config.yaml by run_agent.py and
|
||||
# auxiliary_client.py — no env var bridging needed.
|
||||
# Only set env vars for non-empty / non-default values so auto-detection
|
||||
# still works.
|
||||
auxiliary_config = defaults.get("auxiliary", {})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue