teknium1
f6ff6639e8
fix: complete salvaged cronjob dependency check
...
Add regression coverage for cronjob availability and import shutil for the crontab PATH check added from PR #1380 .
2026-03-14 21:39:59 -07:00
Nikita
861869cb48
fix( #878 ): add robust crontab binary check to requirements
2026-03-14 21:39:59 -07:00
Teknium
b14a07315b
fix: save /plan output in workspace ( #1381 )
2026-03-14 21:28:51 -07:00
Teknium
ff3473a37c
feat: add /plan command ( #1372 )
...
* feat: add /plan command
* refactor: back /plan with bundled skill
* docs: document /plan skill
2026-03-14 21:18:17 -07:00
Teknium
cb7690b2b5
Merge pull request #1375 from NousResearch/hermes/hermes-dd253d81
...
feat: add direct endpoint overrides for auxiliary and delegation
2026-03-14 21:17:42 -07:00
Teknium
95939a1b51
docs: clarify gateway service scopes ( #1378 )
2026-03-14 21:17:41 -07:00
teknium1
85ef09e520
Merge origin/main into hermes/hermes-dd253d81
2026-03-14 21:16:29 -07:00
Teknium
6b1adb7eb1
Merge pull request #1376 from NousResearch/hermes/hermes-781f9235-docs
...
docs: clarify saved custom endpoint routing
2026-03-14 21:15:24 -07:00
teknium1
282df107a5
docs: clarify saved custom endpoint routing
2026-03-14 21:12:42 -07:00
teknium1
9f6bccd76a
feat: add direct endpoint overrides for auxiliary and delegation
...
Add base_url/api_key overrides for auxiliary tasks and delegation so users can
route those flows straight to a custom OpenAI-compatible endpoint without
having to rely on provider=main or named custom providers.
Also clear gateway session env vars in test isolation so the full suite stays
deterministic when run from a messaging-backed agent session.
2026-03-14 21:11:37 -07:00
Teknium
168a8e2e35
feat: add gateway install scope prompts ( #1374 )
2026-03-14 21:06:52 -07:00
Teknium
a86b487349
Merge pull request #1373 from NousResearch/hermes/hermes-781f9235
...
fix: restore config-saved custom endpoint resolution
2026-03-14 21:06:41 -07:00
teknium1
53d1043a50
fix: restore config-saved custom endpoint resolution
2026-03-14 20:58:12 -07:00
Teknium
6c24d76533
feat: add system gateway service mode ( #1371 )
2026-03-14 20:54:51 -07:00
Teknium
30b73bdf34
Merge pull request #1368 from NousResearch/hermes/hermes-dd253d81
...
fix: resolve cron auto-delivery target after dotenv reload
2026-03-14 20:54:16 -07:00
teknium1
31db8c28a4
Merge origin/main into hermes/hermes-dd253d81
2026-03-14 20:53:59 -07:00
Teknium
f549981293
Merge pull request #1369 from NousResearch/hermes/hermes-aed06679
...
fix: exclude Coding Plan-only models from Moonshot model selection
2026-03-14 20:46:51 -07:00
0xbyt4
2a6dbb25b2
fix: exclude Coding Plan-only models from Moonshot model selection
...
Moonshot (legacy key) users were shown kimi-for-coding and
kimi-k2-thinking-turbo which only work on the Coding Plan endpoint
(api.kimi.com/coding/v1). Add a separate "moonshot" model list that
excludes plan-specific models.
2026-03-14 20:42:30 -07:00
teknium1
0fd0eb93e8
fix: resolve cron auto-delivery target after dotenv reload
...
Resolve cron auto-delivery targets after reloading .env so bare-platform deliveries pick up home-channel settings before the agent run. Add a regression test for the dotenv-backed home-channel path and clean up scheduler tests that were leaking un-awaited send coroutines.
2026-03-14 20:41:58 -07:00
Teknium
88a48037d1
Merge pull request #1367 from NousResearch/hermes/hermes-aa701810
...
refactor: unify vision backend gating
2026-03-14 20:31:58 -07:00
teknium1
dc11b86e4b
refactor: unify vision backend gating
2026-03-14 20:22:13 -07:00
Teknium
fc5443d854
Merge pull request #1360 from NousResearch/hermes/hermes-aa701810
...
fix: refresh Anthropic OAuth before stale env tokens
2026-03-14 19:53:40 -07:00
teknium1
799114ac8b
docs: clarify Anthropic Claude auth flow
2026-03-14 19:49:38 -07:00
teknium1
70ea13eb40
fix: preflight Anthropic auth and prefer Claude store
2026-03-14 19:38:55 -07:00
Teknium
0bc5aba5d0
Merge pull request #1363 from NousResearch/hermes/hermes-6be30215
...
docs: fix messaging gateway diagram alignment
2026-03-14 19:34:52 -07:00
Teknium
f8a3e37f54
Merge pull request #1343 from NousResearch/hermes/hermes-5d160594
...
feat: compress cron management into one tool
2026-03-14 19:34:20 -07:00
teknium1
3229e434b8
Merge origin/main into hermes/hermes-5d160594
2026-03-14 19:34:05 -07:00
Teknium
24f61d006a
feat: preload CLI skills on launch ( #1359 )
...
* feat: preload CLI skills on launch
* test: cover continue with worktree and skills flags
* feat: show activated skills before CLI banner
2026-03-14 19:33:59 -07:00
teknium1
c050c2d552
docs: fix messaging gateway diagram alignment
2026-03-14 19:31:32 -07:00
Teknium
81cd367aec
Merge pull request #1362 from NousResearch/hermes/hermes-e1bd76eb
...
docs: complete voice mode docs
2026-03-14 19:30:23 -07:00
teknium1
e099117a3b
docs: complete voice mode docs
2026-03-14 19:29:01 -07:00
teknium1
2536ff328b
fix: prefer prompt names for multi-skill cron jobs
2026-03-14 19:28:52 -07:00
Teknium
f3a074339d
Merge pull request #1361 from NousResearch/hermes/hermes-10683759
...
docs: add provider contribution guide
2026-03-14 19:25:51 -07:00
teknium1
ea053e8afd
docs: add provider contribution guide
2026-03-14 19:22:47 -07:00
teknium1
e052c74727
fix: refresh Anthropic OAuth before stale env tokens
2026-03-14 19:22:31 -07:00
teknium1
a6dc73fa07
docs: finish cron terminology cleanup
2026-03-14 19:20:58 -07:00
teknium1
c3ea620796
feat: add multi-skill cron editing and docs
2026-03-14 19:18:10 -07:00
teknium1
7b140b31e6
fix: suppress duplicate cron sends to auto-delivery targets
...
Allow cron runs to keep using send_message for additional destinations, but
skip same-target sends when the scheduler will already auto-deliver the final
response there. Add prompt/tool guidance, docs, and regression coverage for
origin/home-channel resolution and thread-aware comparisons.
2026-03-14 19:07:50 -07:00
Teknium
fa89b65230
Merge pull request #1355 from NousResearch/hermes/hermes-ec1096a3
...
Salvaged PR #1052 onto current main with the contributor commit preserved plus a small follow-up for current-main conflict resolution and safe command quoting.
2026-03-14 18:05:28 -07:00
teknium1
ed0c7194ed
fix: preserve current gateway update and startup behavior
...
Follow up on salvaged PR #1052 .
Restore current-main gateway lifecycle handling after conflict resolution and
adapt the update fallback to use shell-quoted argv parts safely.
2026-03-14 18:03:50 -07:00
Teknium
dc44e183e6
Merge pull request #1341 from NousResearch/hermes/hermes-2f2b4807
...
fix(gateway): buffer Telegram media groups to prevent self-interruption
2026-03-14 18:03:24 -07:00
teknium1
79c81b2244
Merge origin/main into hermes/hermes-2f2b4807
2026-03-14 18:02:08 -07:00
teknium1
df5c61b37c
feat: compress cron management into one tool
2026-03-14 12:21:50 -07:00
Teknium
b2bdaecf9b
Merge pull request #1340 from NousResearch/hermes/hermes-1fc28d17
...
fix(cli): fall back to main when current branch has no remote counterpart
2026-03-14 12:19:34 -07:00
teknium1
3fab72f1e1
fix(gateway): clean up pending Telegram media groups on disconnect
...
Cancel any queued media-group flush tasks during Telegram adapter disconnect
and clear the buffered events map so shutdown can't leave a pending album
flush behind. Add a regression test covering disconnect before the debounce
window expires.
2026-03-14 12:18:24 -07:00
stoicneko
e1824ef8a6
fix(cli): fall back to main when current branch has no remote counterpart
...
`hermes update` crashed with CalledProcessError when run on a local-only
branch (e.g. fix/stoicneko) because `git rev-list HEAD..origin/{branch}`
fails when origin/{branch} doesn't exist. Now verifies the remote branch
exists first and falls back to origin/main.
2026-03-14 12:16:00 -07:00
teyrebaz33
f3a38c90fc
fix(gateway): fall back to sys.executable -m hermes_cli.main when hermes not on PATH
...
When shutil.which('hermes') returns None, _resolve_hermes_bin() now tries
sys.executable -m hermes_cli.main as a fallback. This handles setups where
Hermes is launched via a venv or module invocation and the hermes symlink is
not on PATH for the gateway process.
Fixes #1049
2026-03-14 12:15:51 -07:00
Teknium
a748257bf5
Merge pull request #1339 from NousResearch/hermes/hermes-048e6599
...
Merging Telegram gateway conflict hardening: same-host token lock, clean shutdown on getUpdates conflict, persisted runtime health, and clearer gateway status diagnostics.
2026-03-14 12:15:14 -07:00
capybaraonchain
8fb618234f
fix(gateway): buffer Telegram media groups to prevent self-interruption
...
Telegram albums arrive as multiple updates with a shared media_group_id.
Previously each image triggered a separate MessageEvent, causing the agent
to interrupt itself when describing the first image.
- Add 0.8s debounce window for media group items
- Merge attachments into single MessageEvent
- Add regression test for photo album buffering
2026-03-14 12:14:45 -07:00
teknium1
5a2fcaab39
fix(gateway): harden Telegram polling conflict handling
...
- detect Telegram getUpdates conflicts and stop polling cleanly instead of retry-spamming forever
- add a machine-local token-scoped lock so different HERMES_HOME profiles on the same host can't poll the same bot token at once
- persist gateway runtime health/fatal adapter state and surface it in ● hermes-gateway.service - Hermes Agent Gateway - Messaging Platform Integration
Loaded: loaded (/home/teknium/.config/systemd/user/hermes-gateway.service; enabled; preset: enabled)
Active: active (running) since Sat 2026-03-14 09:25:35 PDT; 2h 45min ago
Invocation: 8879379b25994201b98381f4bd80c2af
Main PID: 1147926 (python)
Tasks: 16 (limit: 76757)
Memory: 151.4M (peak: 168.1M)
CPU: 47.883s
CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/hermes-gateway.service
├─1147926 /home/teknium/.hermes/hermes-agent/venv/bin/python -m hermes_cli.main gateway run --replace
└─1147966 node /home/teknium/.hermes/hermes-agent/scripts/whatsapp-bridge/bridge.js --port 3000 --session /home/teknium/.hermes/whatsapp/session --mode self-chat
Mar 14 09:27:03 teknium-dev python[1147926]: 🔄 Retrying API call (2/3)...
Mar 14 09:27:04 teknium-dev python[1147926]: [409B blob data]
Mar 14 09:27:04 teknium-dev python[1147926]: Content: ''
Mar 14 09:27:04 teknium-dev python[1147926]: ❌ Max retries (3) for empty content exceeded.
Mar 14 09:27:07 teknium-dev python[1147926]: [1K blob data]
Mar 14 09:27:07 teknium-dev python[1147926]: Content: ''
Mar 14 09:27:07 teknium-dev python[1147926]: 🔄 Retrying API call (1/3)...
Mar 14 09:27:12 teknium-dev python[1147926]: [1.7K blob data]
Mar 14 09:27:12 teknium-dev python[1147926]: Content: ''
Mar 14 09:27:12 teknium-dev python[1147926]: 🔄 Retrying API call (2/3)...
⚠ Installed gateway service definition is outdated
Run: hermes gateway restart # auto-refreshes the unit
✓ Gateway service is running
✓ Systemd linger is enabled (service survives logout)
- cleanly exit non-retryable startup conflicts without triggering service restart loops
Tests:
- gateway status runtime-state helpers
- Telegram token-lock and polling-conflict behavior
- GatewayRunner clean exit on non-retryable startup conflict
- CLI runtime health summary
2026-03-14 12:11:23 -07:00