Commit Graph

  • 6da970f15d fix(tui): close AIAgent on session teardown to prevent FD leak analista 2026-04-26 00:13:21 +09:00
  • 4e2b20b705 fix(cli): sync use_gateway in _reconfigure_provider for tts, browser, and web nftpoetrist 2026-04-25 00:45:31 +03:00
  • ba8337464d fix(gemini): extract usageMetadata from streaming chunks for token tracking flobo3 2026-04-24 20:18:06 +03:00
  • f6aa1965d7 fix(telegram): fallback to document when photo dimensions exceed limits ee-blog 2026-04-26 01:09:55 +08:00
  • ad4542bf6d fix(gateway): allow free_response_channels to override DISCORD_IGNORE_NO_MENTION barteq 2026-04-25 21:00:50 +00:00
  • 54cd633366 fix(cron): skip AI call when script produces no output hex-clawd 2026-04-24 17:44:05 +02:00
  • e2248045f5 fix(cron): drop stale env-var override of persisted provider dpaluy 2026-04-25 14:52:38 -05:00
  • d7663c7808 fix(docker): exclude compose/profile runtime state from build context flobo3 2026-04-24 20:15:28 +03:00
  • f236cbfec3 fix(tui): declare nanostores dependency helix4u 2026-04-24 19:57:55 -06:00
  • dc63ad0ad2 fix(anthropic): cap max_tokens at 65536 for Qwen models via DashScope B1GGersnow 2026-04-25 00:37:54 +08:00
  • 83bbe9b458 fix(delegation): pass target_model to resolve_runtime_provider in _resolve_delegation_credentials Emilien Domenge 2026-04-24 22:05:40 +02:00
  • e2211b2683 fix(compressor): reset _summary_failure_cooldown_until in on_session_reset() nftpoetrist 2026-04-25 10:52:17 +03:00
  • 3e1559b910 chore(release): AUTHOR_MAP entries for Tier 1c salvage batch Teknium 2026-05-04 02:28:59 -07:00
  • baf834cc0f chore(release): map cine.dreamer.one@gmail.com to @LeonSGP43 Teknium 2026-05-04 02:18:25 -07:00
  • abcaf05229 fix(skills): keep manual skills out of curator LeonSGP43 2026-05-03 21:44:04 +08:00
  • 21c7c9f0ca fix(tui): harden plugin slash exec errors asheriif 2026-05-04 09:07:37 +00:00
  • cac4f2c0e6 test(kanban): update worker-prompt header assertion to match #19427 Teknium 2026-05-04 02:00:13 -07:00
  • deb59eab72 fix: allow kanban tools for orchestrator profiles with kanban toolset pdonizete 2026-05-02 17:35:24 -03:00
  • 9faaa292b4 fix(delegate): inherit parent fallback_chain in _build_child_agent nftpoetrist 2026-05-03 11:35:12 +03:00
  • cb33c73418 fix(run_agent): gate iteration-limit provider routing to OpenRouter molvikar 2026-05-04 01:45:52 +03:00
  • 8a364df2c8 fix: inherit reasoning config in API server runs Asunfly 2026-05-03 21:10:30 +08:00
  • aede94e757 fix: back up config.yaml before hermes setup modifies it SHL0MS 2026-03-30 23:03:33 -04:00
  • 2c7d7a9b2f fix(security): bind Meet node server to localhost and restrict token file to owner read memosr 2026-05-04 01:10:50 +03:00
  • cdde0c8411 fix(feishu): enable MEDIA attachment delivery in send_message tool yuehei 2026-05-03 21:52:26 +08:00
  • 45fd45103d fix: _chromium_installed() now checks AGENT_BROWSER_EXECUTABLE_PATH and system Chrome WanderWang 2026-05-04 00:39:21 +08:00
  • c653f5dc3f Clarify session_search auxiliary model docs Yanzhong Su 2026-05-03 17:26:52 +01:00
  • 8bdec80882 fix(agent): surface preflight compression status ai-ag2026 2026-05-03 16:01:28 +02:00
  • d8be50d772 fix(web): add missing icons for config page category sidebar qiqufang 2026-05-03 20:57:35 +08:00
  • 06031229e8 fix(tests): tolerate ps ancestor-walk in find_gateway_pids fallback test (#19590) Teknium 2026-05-04 01:40:39 -07:00
  • 9c93fc5775 fix(tui): call process.exit(0) after Ink exit to trigger terminal cleanup liuhao1024 2026-05-04 00:04:58 +08:00
  • 74c997d985 fix(gateway): move quick-command dispatch before built-in handlers Hermes Agent 2026-05-03 22:02:24 +10:00
  • c857592558 fix(cli): allow custom:* provider slugs in model validation holynn 2026-05-03 20:19:49 +08:00
  • e8cdcf5328 fix: exclude ancestor PIDs from gateway process scan (#13242) Byrn Tong 2026-05-03 09:08:01 +00:00
  • 8a4fe80f8d fix(signal): skip reactions for unauthorized senders Aleksandr Pasevin 2026-05-03 08:15:42 +00:00
  • e89376d66f fix(setup): add missing SLACK_HOME_CHANNEL prompt to _setup_slack() nftpoetrist 2026-05-03 11:05:20 +03:00
  • 81ce945450 fix(gateway): show other profiles in gateway status to prevent confusion Byrn Tong 2026-05-03 07:08:02 +00:00
  • df88375f0d fix: treat ctrl-c as curses cancel wanazhar 2026-05-03 06:22:47 +00:00
  • ccb5d87076 test: cover max-iterations summary message sanitization leavr 2026-05-03 14:05:03 +08:00
  • a1cb811cb8 fix(cli): avoid voice TTS restart race tmdgusya 2026-05-03 14:12:28 +09:00
  • 314fe9f827 chore(release): add AUTHOR_MAP entries for upcoming salvage batch Teknium 2026-05-04 01:33:54 -07:00
  • 645b99aadd test(cron): cover null next_run_at recovery and non-dict origin tolerance ethan 2026-05-03 04:02:33 +00:00
  • 78b635ee3c fix(cron): recover null next_run_at jobs and tolerate non-dict origin ethan 2026-05-03 03:59:16 +00:00
  • 91ea3ae4b2 test(skills): add bytes-vs-str equivalence and on-disk hash parity tests Teknium 2026-05-03 12:10:20 -07:00
  • 3072e5543b skills-hub: hash binary skill bundle files correctly dh 2026-04-15 07:44:28 +08:00
  • c90f25dd1f chore(release): map daixin1204@gmail.com to @SimbaKingjoe Teknium 2026-05-03 17:09:33 -07:00
  • 744079ffe6 fix(curator): prevent false-positive consolidation from substring matching daixin1204 2026-05-03 21:02:03 +08:00
  • c0300575c1 fix(kanban): use get_default_hermes_root() in list_profiles_on_disk Clooooode 2026-05-03 11:39:58 +12:00
  • 1964b0565b test(kanban): add failing test for list_profiles_on_disk with custom HERMES_HOME Clooooode 2026-05-03 11:39:40 +12:00
  • 8163d37192 fix(skill): reference built-in video_analyze/vision_analyze tools in kanban-video-orchestrator (#19562) Siddharth Balyan 2026-05-04 12:54:50 +05:30
  • a11aed1acc fix(cli): local backend CLI always uses launch directory, stops .env sync of TERMINAL_CWD (#19334) Siddharth Balyan 2026-05-04 11:36:19 +05:30
  • 434d70d8bc Merge pull request #19540 from NousResearch/single_container_for_all Ben Barclay 2026-05-04 15:38:19 +10:00
  • 5671059f62 feat(docker): launch dashboard as side-process via HERMES_DASHBOARD=1 Adds an optional dashboard side-process to the container entrypoint, toggled by HERMES_DASHBOARD=1 (also accepts true / yes). When set, the entrypoint backgrounds hermes dashboard before exec-ing the main command so the user's chosen foreground process (gateway, chat, sleep infinity, …) remains PID-of-interest for the container runtime. docker run -d \ -v ~/.hermes:/opt/data \ -p 8642:8642 -p 9119:9119 \ -e HERMES_DASHBOARD=1 \ nousresearch/hermes-agent gateway run Defaults chosen for the container case: - Host: 0.0.0.0 (reachable through published port; can override to 127.0.0.1 via HERMES_DASHBOARD_HOST for sidecar/reverse-proxy setups) - Port: 9119 (matches hermes dashboard) - Auto-adds --insecure when binding to non-localhost, matching the dashboard's own safety gate for exposing API keys - HERMES_DASHBOARD_TUI is read by hermes dashboard directly — no entrypoint plumbing needed Dashboard output is prefixed with [dashboard] via stdbuf+sed -u so it's easy to separate from gateway logs in docker logs. No supervision: if the dashboard crashes it stays down until the container restarts (documented in the :::note panel). Other changes bundled in: - Deprecate GATEWAY_HEALTH_URL / GATEWAY_HEALTH_TIMEOUT env vars in hermes_cli/web_server.py with a DEPRECATED block comment and a .. deprecated:: note on _probe_gateway_health. The feature still works for this release; it'll be removed alongside the move to a first-class dashboard config key. - Rewrite the "Running the dashboard" doc section around the new single-container pattern. Drops the previously-documented dashboard-as-its-own-container setup — that pattern relied on the deprecated env vars for cross-container gateway-liveness detection, and without them the dashboard would permanently report the gateway as "not running". - Collapse the two-service Compose example (gateway + dashboard container) into a single service with HERMES_DASHBOARD=1. Removes the now-unnecessary bridge network and depends_on. - Drop the ":::warning" caveat about "Running a dashboard container alongside the gateway is safe" — that case no longer exists. Ben 2026-05-04 15:37:27 +10:00
  • 95f395027f Merge pull request #19520 from NousResearch/fix_docker_tui Ben Barclay 2026-05-04 14:29:43 +10:00
  • 2f2998bb1b fix(tui): tolerate npm's peer-flag drop in lockfile comparison _tui_need_npm_install() compares the canonical package-lock.json against the hidden node_modules/.package-lock.json to decide whether npm install needs to re-run. npm 9 drops the "peer": true field from the hidden lock on dev-deps that are *also* declared as peers (the canonical lock preserves the dual annotation). That made the check flag 16 packages (@babel/core, @types/node, @types/react, @typescript-eslint/*, react, vite, tsx, typescript, …) as mismatched on every launch, triggering a runtime npm install. Inside the Docker image, that runtime install then fails with EACCES because /opt/hermes/ui-tui/node_modules/ is root-owned from build time, so docker run … hermes-agent --tui prints: Installing TUI dependencies… npm install failed. …and exits 1, with no preview. The empty preview is a second bug: the launcher captured only stderr, but npm 9 writes EACCES to stdout, which was DEVNULL'd. Fixes: - Add "peer" to _NPM_LOCK_RUNTIME_KEYS so the comparison ignores the non-deterministic field, alongside the existing "ideallyInert". - Capture stdout as well as stderr in the install subprocess so future failures surface a useful preview instead of a bare "failed." line. Regression tests: - test_no_install_when_only_peer_annotation_differs — the exact scenario - test_install_when_version_differs_even_with_peer_drop — guards against the peer-drop tolerance masking a real version skew On-host impact: the same false-positive was firing on every hermes --tui invocation from a normal checkout, silently running a no-op npm install each time (it converged because the host's node_modules/ is writable). Startup time on the TUI should drop noticeably. Ben 2026-05-04 14:13:38 +10:00
  • 363cc93674 fix(cron): bump skill usage when cron jobs load skills Chris Danis 2026-05-02 07:51:22 -04:00
  • 808fee151d fix(auxiliary): propagate explicit_api_key to _try_anthropic() nftpoetrist 2026-05-04 00:12:58 +03:00
  • 74636f9c4a fix(gateway): clear queued reload-skills notes on new/resume/branch molvikar 2026-05-04 00:55:12 +03:00
  • 222767e5e8 fix: sanitize Telegram help command mentions Kenny Wang 2026-05-03 15:45:56 -06:00
  • 6fda92aa7f fix(gateway): bridge top-level require_mention to Telegram config konsisumer 2026-05-03 19:58:04 +02:00
  • 1bd975c0ba fix(gateway): suppress duplicate voice transcripts clawbot 2026-05-03 09:24:08 -06:00
  • b58db237e4 fix(kanban): drop worker identity claim from KANBAN_GUIDANCE (#19427) Teknium 2026-05-03 16:59:00 -07:00
  • 6713274a42 fix(file): strip leaked terminal fences from reads LeonSGP43 2026-05-03 22:59:04 +08:00
  • 2d7543c61f fix(windows): enforce UTF-8 stdout/stderr to prevent UnicodeEncodeError crash Alan Chen 2026-05-03 22:40:34 +08:00
  • 2ababfe6ed chore(release): map 0xKingBack noreply email Teknium 2026-05-03 16:54:06 -07:00
  • 3c42024539 fix(curator): pass auxiliary curator api_key/base_url into runtime resolution 0xKingBack 2026-05-02 01:13:17 +08:00
  • 3792b77bd1 fix(send_message): support QQBot C2C and group chats Kiala 2026-05-03 21:26:24 +08:00
  • 86e64c1d3b fix(gateway): hide required-arg commands from Telegram menu MrBob 2026-05-03 16:49:37 -03:00
  • 408dd8aa28 fix(compressor): skip non-string tool content in dedup pass to prevent AttributeError sprmn24 2026-05-04 00:57:36 +03:00
  • 5bd937533c fix(vision): guard user_prompt type in video_analyze_tool before debug_call_data construction sprmn24 2026-05-04 00:44:47 +03:00
  • 6c4aca7adc fix(vision): guard user_prompt type before debug_call_data construction sprmn24 2026-05-04 00:32:53 +03:00
  • a5cae16496 fix(api_server): fall back to default port on malformed API_SERVER_PORT Zyproth 2026-05-04 00:03:36 +03:00
  • 65bebb9b80 fix(cli): follow 307 redirects in MiniMax OAuth httpx clients Amit Gaur 2026-05-03 12:45:23 -07:00
  • dfdd7b6e6f fix(codex-transport): preserve request override headers for xai responses Zyproth 2026-05-03 16:27:25 +03:00
  • 4a2f822137 fix(mcp): reconnect on terminated sessions LeonSGP43 2026-05-03 21:33:52 +08:00
  • 2658494e81 fix(kanban): add per-path env overrides + dispatcher env injection teknium1 2026-05-03 15:05:28 -07:00
  • f5bd77b3e1 fix(kanban): anchor board, workspaces, and worker logs at the shared Hermes root GodsBoy 2026-05-03 22:33:11 +02:00
  • 7e780f4832 fix(tui): run plugin slash commands live asheriif 2026-05-03 14:50:00 +00:00
  • 167b5648ea Revert "fix(cli): CLI/TUI on local backend always uses launch directory, ignores terminal.cwd (#19242)" (#19329) Siddharth Balyan 2026-05-04 00:43:58 +05:30
  • 9eaddfafa3 fix(cli): CLI/TUI on local backend always uses launch directory, ignores terminal.cwd (#19242) Siddharth Balyan 2026-05-04 00:14:36 +05:30
  • b8ae8cc801 fix(debug): redact log content at upload time in hermes debug share GodsBoy 2026-05-03 19:58:44 +02:00
  • c9a3f36f56 feat: add video_analyze tool for native video understanding (#19301) Siddharth Balyan 2026-05-04 00:04:36 +05:30
  • 0dd8e3f8d8 rename: video-orchestrator → kanban-video-orchestrator SHL0MS 2026-05-03 12:10:38 -04:00
  • 511add7249 feat(skill): add video-orchestrator optional creative skill SHL0MS 2026-05-03 11:40:34 -04:00
  • e97a9993b9 Merge pull request #19307 from NousResearch/bb/fix-terminal-resize-jumble brooklyn! 2026-05-03 10:17:15 -07:00
  • 279b656adc fix(tui): clear Apple Terminal resize artifacts Brooklyn Nicholson 2026-05-03 12:11:24 -05:00
  • e527240b27 fix(tools): write_file handler now rejects missing 'content'/'path' args instead of silently writing zero-byte files (#19096) Bartok9 2026-05-03 03:32:32 -04:00
  • 6b4fb9f878 fix(cron): treat non-dict origin as missing instead of crashing tick Tranquil-Flow 2026-05-03 09:00:34 +10:00
  • 69dd0f7cf1 fix(approval): extend sensitive write target to cover shell RC and credential files JasonOA888 2026-05-03 21:49:15 +08:00
  • 3c59566cc5 chore(release): map leprincep35700 email for PR #18440 salvage teknium1 2026-05-03 08:16:17 -07:00
  • b59bb4e351 fix(gateway): preserve home-channel thread targets across restart notifications leprincep35700 2026-05-01 15:19:25 +00:00
  • d87fd9f039 fix(goals): make /goal work in TUI and fix gateway verdict delivery (#19209) Teknium 2026-05-03 05:49:12 -07:00
  • 55647a5813 fix(whatsapp): pin protobufjs >=7.5.5 via npm overrides to clear 3 critical vulns (#19204) Teknium 2026-05-03 05:22:30 -07:00
  • 6f2dab248a fix: update tests for resume_pending semantics + add AUTHOR_MAP entries kshitijk4poor 2026-05-03 16:22:57 +05:30
  • 1148c46241 fix(gateway): correct ws scheme conversion for https urls charliekerfoot 2026-05-02 16:19:13 -05:00
  • 7a22c639dc chore: add shellybotmoyer to AUTHOR_MAP kshitijk4poor 2026-05-03 16:19:37 +05:30
  • 934103476f fix(gateway): send /new response before cancel_session_processing to avoid race (#18912) Hermes Agent 2026-05-02 17:41:47 +00:00
  • bf3239472f chore: add millerc79 to AUTHOR_MAP kshitijk4poor 2026-05-03 16:18:47 +05:30
  • f1e0292517 fix(gateway): resume sessions after crash/restart instead of blanket suspend millerc79 2026-05-02 19:19:24 -05:00
  • 0a97ce6bff chore: add nftpoetrist to AUTHOR_MAP kshitijk4poor 2026-05-03 16:17:09 +05:30
  • 6c1322b997 fix(slack): close previous handler in connect() to prevent zombie Socket Mode connections nftpoetrist 2026-05-03 00:09:04 +03:00