Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1735 commits
Select commit Hold shift + click to select a range
b8e2268
fix(agent): add MiniMax 'new_sensitive' to content_policy_blocked pat…
logicsunny Jun 3, 2026
578e398
fix(agent): route content-filter stream stalls to fallback chain (#32…
teknium1 Jun 28, 2026
4f16950
docs: add infographic for #32421 content-filter fallback fix
teknium1 Jun 28, 2026
de6e9ac
docs(discord): document bot-to-bot comms as unsupported (#32791) (#54…
teknium1 Jun 28, 2026
674e16e
fix(redact): stop DB-connstr redaction from corrupting code output (#…
teknium1 Jun 28, 2026
2ecb6f7
fix(telegram): clear send_path_degraded on successful reconnect (#352…
teknium1 Jun 28, 2026
f64d15c
fix(tui): defer buffered gateway events to stop dashboard chat #301 (…
kshitijk4poor Jun 28, 2026
64972b6
fix(config): canonicalize model.name/model.model to model.default (#3…
teknium1 Jun 28, 2026
a28fe78
fix(install): retry Playwright install with platform override on unre…
kshitijk4poor Jun 28, 2026
c0b4a34
fix(install): scope Playwright override to too-new apt releases + kee…
teknium1 Jun 28, 2026
093f567
fix(agent,cli): surface empty-body API errors and fail oneshot exit code
xxxigm Jun 28, 2026
d0f087e
docs: add infographic for #36109 empty-400 diagnostics
teknium1 Jun 28, 2026
263ffec
fix(whatsapp): resolve LID aliases on modern platforms/ session layout
fesalfayed Jun 1, 2026
3aaa98d
test(whatsapp): cover LID allowlist match on modern session layout
teknium1 Jun 28, 2026
9f7d520
docs: add infographic for #36664 WhatsApp LID session-path fix
teknium1 Jun 28, 2026
d2ea948
fix(gateway): suppress compression status noise on Discord and other …
HexLab98 Jun 28, 2026
d2fda59
test(gateway): cover Discord/Slack compression status suppression (#3…
HexLab98 Jun 28, 2026
5e774de
fix(api-server): redact provider errors at HTTP boundary
coygeek Jun 3, 2026
58c36b1
fix(api-server): widen error redaction to cron-endpoint + SSE sites
teknium1 Jun 28, 2026
d7a1052
fix(env-passthrough): fail closed when provider blocklist import fails
coygeek Jun 28, 2026
e551da6
fix(gateway): reap cgroup orphans via ExecStopPost to unblock restart
PRATHAMESH75 Jun 2, 2026
86ec979
chore(release): map PRATHAMESH75 author for #37550 salvage
teknium1 Jun 28, 2026
c23f394
fix: satisfy ruff encoding + windows-footgun lints for cgroup reaper
teknium1 Jun 28, 2026
6a2958a
fix(environments): use atomic file replacement for snapshot writes
kyssta-exe Jun 3, 2026
9f17f16
fix(environments): use $BASHPID for atomic snapshot temp + harden fai…
teknium1 Jun 28, 2026
f646b82
docs: add infographic for #38249 atomic env-snapshot fix
teknium1 Jun 28, 2026
f3d8f20
Merge pull request #54116 from kshitijk4poor/fix/36658-gateway-drain-…
kshitijk4poor Jun 28, 2026
7e2ca7f
fix(telegram): reset send pool after pool timeouts
yungchentang Jun 27, 2026
dddaea0
chore(release): map yungchentang author for #53622 salvage
teknium1 Jun 28, 2026
9f0e64c
fix(gateway): force exit after graceful shutdown
LeonSGP43 Jun 26, 2026
6eec0d4
docs: add infographic for #53107 gateway force-exit fix
teknium1 Jun 28, 2026
fde1c85
fix(tui_gateway): suppress WS peer-hangup teardown error flood (#5000…
teknium1 Jun 28, 2026
14baeef
fix(matrix): record DM rooms in m.direct on invite to prevent group m…
liuhao1024 Jun 21, 2026
b6f592d
fix(cli): detect self-lock in update recovery to break infinite retry…
Icather Jun 13, 2026
7c9cdad
test(cli): cover Windows self-lock recovery guard + cmd-quote its hint
teknium1 Jun 28, 2026
0229246
fix(desktop): probe venv runtime health before trusting bootstrap marker
sweetcornna Jun 28, 2026
ba37c91
fix(desktop/windows): resolve real hermes over extensionless shim + p…
Cossackx Jun 25, 2026
fe89ce0
chore(release): map Cossackx in AUTHOR_MAP for #52528 salvage
teknium1 Jun 28, 2026
dcc6cd1
docs: add infographic for #52378 Windows update-loop salvage
teknium1 Jun 28, 2026
b508d42
test(ci): raise per-file timeout 140s → 300s to stop false timeouts (…
teknium1 Jun 28, 2026
aa50c1b
fix(prompt): repair backend probe import (get_environment never existed)
teknium1 Jun 28, 2026
ea5aaa7
fix(gateway): offload remaining inline agent cleanup off the event lo…
teknium1 Jun 28, 2026
c38dfba
docs: add infographic for #53175 gateway cleanup off-loop fix
teknium1 Jun 28, 2026
00d8c2c
fix(gateway): prune stale sessions.json entries on startup
teknium1 Jun 28, 2026
7c0a5de
fix(memory/holographic): close DB connection on shutdown instead of l…
teknium1 Jun 28, 2026
7a6fe9b
fix(browser): block snapshot from eval-navigated private pages
liuhao1024 Jun 12, 2026
48f5c42
fix(browser): extend private-network guard to browser_vision
liuhao1024 Jun 12, 2026
0ae6196
fix(browser): allow local sidecar sessions to bypass SSRF guard
liuhao1024 Jun 12, 2026
7ef04ae
fix(browser): close eval return-value SSRF bypass (sibling of #44731)
teknium1 Jun 28, 2026
6d879d4
fix(dashboard): close PTY WebSocket on child EOF to stop FD leak (#54…
teknium1 Jun 28, 2026
9844243
fix(gateway): gate quick_commands through slash access policy
teknium1 Jun 28, 2026
90c1dc0
test(kanban): cover write_txn BUSY retry (currently failing)
yoniebans Jun 27, 2026
204a67f
fix(kanban): retry write_txn on transient SQLITE_BUSY
yoniebans Jun 27, 2026
bbe1bf4
fix(agent): stop redacting tool-call args in history; fix auth-header…
teknium1 Jun 28, 2026
822b71c
docs: add infographic for #43083 secret-redaction fix
teknium1 Jun 28, 2026
d5ba374
fix(telegram): detect wedged getUpdates consumer via pending_update_c…
teknium1 Jun 28, 2026
c1c179a
fix(security): redact secrets in background process + foreground env-…
teknium1 Jun 28, 2026
546193a
fix(install): time-box desktop + node-deps installs so a stalled down…
kshitijk4poor Jun 28, 2026
135f235
docs: fix incorrect web search instructions
chrispersico Jun 28, 2026
7968c90
test(install): track run_with_timeout extraction after #39219 refacto…
teknium1 Jun 28, 2026
a06d019
fix(dashboard): reap PTY bridge on child EOF, not only in writer fina…
teknium1 Jun 28, 2026
5e7bca9
fix(tui): coalesce render frames while stdout backpressure is unresol…
teknium1 Jun 28, 2026
831d443
fix(gateway): honor --start-now/--start-on-login flags and support no…
liuhao1024 Jun 8, 2026
463225c
fix(gateway): bypass legacy-unit prompt in non-TTY systemd install
teknium1 Jun 28, 2026
acca526
fix(gateway): treat zombie PIDs as dead in _pid_exists to unblock --r…
MorAlekss Jun 28, 2026
9bb5a80
fix(gateway): make zombie check defensive against partial psutil stubs
teknium1 Jun 28, 2026
d7f655f
fix: accept typed clarify choice replies
tymrtn Jun 3, 2026
19cbbe3
docs: add infographic for clarify typed-replies fix
teknium1 Jun 28, 2026
de928bc
fix(redact): non-reusable sentinel for prefix secrets in file reads (…
kshitijk4poor Jun 26, 2026
091ce82
test(redact): fix file_read regression-guard for current-main YAML co…
teknium1 Jun 28, 2026
5c2c85c
fix(tui): start MCP discovery for websocket sessions
sweetcornna Jun 28, 2026
f22b9d3
docs: add infographic for MCP WS discovery fix (#38945)
teknium1 Jun 28, 2026
8e356ec
docs(readme): trim provider list to a few names plus docs link (#54169)
teknium1 Jun 28, 2026
52a853f
fix(test): pin monotonic clock in spinner-elapsed test to fix CI flak…
teknium1 Jun 28, 2026
c4719aa
fix(gateway): boot out stale launchd registration before restart boot…
izumi0uu Jun 8, 2026
e54bedd
docs: add infographic for #42006 launchd bootout fix
teknium1 Jun 28, 2026
376d021
fix(desktop): force app exit after update/uninstall handoff on macOS
bradhallett Jun 28, 2026
61622bb
fix(tui): use role=user for model switch marker to avoid HTTP 400 on …
teknium1 Jun 28, 2026
9d919da
fix(gateway): mark platform lock failure as retryable instead of perm…
liuhao1024 Jun 28, 2026
d05cc8f
fix(mcp): skip preflight content-type probe for OAuth servers
Jun 20, 2026
f25f235
chore: map salvaged PR #49845 author email for AUTHOR_MAP
teknium1 Jun 28, 2026
cb982ad
fix(windows): hide console-window flash on backend git/gh/wmic/bash s…
teknium1 Jun 28, 2026
1ffa01f
test(windows): cover no-window backend subprocess flags
teknium1 Jun 28, 2026
0c2e6c0
test: make active session cross-process race deterministic (#54248)
teknium1 Jun 28, 2026
eeca59f
fix(windows): hide remaining backend console-flash legs missed on main
OutThisLife Jun 28, 2026
0209665
Merge pull request #53892 from NousResearch/bb/windows-popup-spawn-legs
OutThisLife Jun 28, 2026
3e16176
fix(tools): reconcile agent.disabled_toolsets when a toolset is enabled
ygd58 Jun 21, 2026
23021be
Merge pull request #52656 from helix4u/fix-desktop-empty-resume-view
OutThisLife Jun 28, 2026
a10727a
fix(browser): extend first-open timeout and surface daemon errors
infinitycrew39 Jun 25, 2026
7bb8aa3
test(browser): cover open timeout diagnostics and failed navigate title
infinitycrew39 Jun 25, 2026
1ab5c3c
refactor(browser): drop redundant sandbox-hint substring check
OutThisLife Jun 28, 2026
7029259
feat(browser): auto-install Chromium binary on local cold-start failure
OutThisLife Jun 28, 2026
27868e5
Merge pull request #54353 from NousResearch/bb/browser-first-open-tim…
OutThisLife Jun 28, 2026
b699d27
Merge pull request #54357 from NousResearch/bb/browser-chromium-autoi…
OutThisLife Jun 28, 2026
4526fcc
fix(desktop): make project "Add folder" picker remote-gateway aware
OutThisLife Jun 28, 2026
304f065
style(desktop): tighten pickProjectFolder comment
OutThisLife Jun 28, 2026
fc86e35
feat(desktop): make the git cockpit work over a remote gateway
OutThisLife Jun 28, 2026
e4cf3a2
refactor(web_git): unify porcelain-v2 parsing into one walker
OutThisLife Jun 28, 2026
9b71221
fix(desktop): write project IDEA.md through the remote-aware fs path
OutThisLife Jun 28, 2026
4e9439c
fix(desktop): route composer context picking through remote-aware fs
OutThisLife Jun 28, 2026
453f134
refactor(desktop): centralize remote git REST routing
OutThisLife Jun 28, 2026
8d8c711
refactor(desktop): keep remote fs routing inside the fs facade
OutThisLife Jun 28, 2026
19bae1b
test(desktop): assert new backend sessions carry workspace cwd
OutThisLife Jun 28, 2026
b31b0b9
docs: reconcile docs with code across last 3 releases (#54254)
teknium1 Jun 28, 2026
9a0010f
fix(windows): cover remaining console-flash spawn legs (#54417)
teknium1 Jun 28, 2026
c754235
fix(desktop): remote project picker UX and profile-scoped fs/git routing
OutThisLife Jun 28, 2026
6121009
fix(browser): extend private-network guard to browser_get_images
srojk34 Jun 28, 2026
c648ecd
fix(telegram): reject unauthorized users before event construction (#…
teknium1 Jun 28, 2026
f9b469d
test(web_git): assert default branch invariant, not hardcoded main
OutThisLife Jun 28, 2026
e5d22ab
fix(daytona): quote single-upload mkdir parent path (#54440)
teknium1 Jun 28, 2026
28097d9
Merge pull request #54385 from NousResearch/bb/project-folder-picker-…
OutThisLife Jun 28, 2026
95994bb
fix(windows): repair missing hermes.exe after pip install (#52931)
HexLab98 Jun 26, 2026
76bb8f4
test(cli): cover Windows console script repair (#52931)
HexLab98 Jun 26, 2026
df8e252
fix(windows): verify launchers after primary install
helix4u Jun 28, 2026
4c2961c
fix(curator): never archive cron-referenced skills + floor use=0 prun…
teknium1 Jun 28, 2026
86e6490
fix(gateway): preserve sessions across restarts (#54442)
teknium1 Jun 28, 2026
b0b7ff0
fix(provider): auto+base_url bypasses cloud API when custom endpoint …
Mibayy Jun 28, 2026
95f2919
perf(startup): lazy-load gateway platform adapters (#54448)
teknium1 Jun 28, 2026
e7d4ade
fix(anthropic): ignore stale non-Anthropic base_url across all resolu…
clovericbot Jun 28, 2026
c8b8696
docs: add PR infographic for anthropic stale base_url guard
teknium1 Jun 28, 2026
16ff1a3
Merge pull request #54457 from NousResearch/bb/windows-console-launch…
OutThisLife Jun 28, 2026
d65468e
fix(security): SSRF guard yuanbao media download_url (#54470)
teknium1 Jun 28, 2026
980622d
perf(startup): parse config + plugin manifests with libyaml CSafeLoad…
teknium1 Jun 28, 2026
32087e4
fix(windows): hide console flash on checkpoint git + skills_hub gh pr…
OutThisLife Jun 28, 2026
ee22d85
fix(windows): hide pdftoppm console flash on PDF attach
OutThisLife Jun 28, 2026
cb1bb1a
refactor(windows): unify windowless spawn form across the touched sites
OutThisLife Jun 28, 2026
d0d2cf1
Merge pull request #54492 from NousResearch/bb/windows-hide-checkpoin…
OutThisLife Jun 28, 2026
27f0324
fix(dashboard): stop ElevenLabs voice-list 401 log spam
OutThisLife Jun 27, 2026
f34cf7e
test(gmi): stub profile fetch_models in static-fallback test
OutThisLife Jun 28, 2026
65d45a0
Merge pull request #53386 from NousResearch/bb/elevenlabs-voices-401-…
OutThisLife Jun 28, 2026
cd5fb76
fix(desktop): restore cross-wired runtime-id guard on session resume
OutThisLife Jun 28, 2026
10043c6
Merge pull request #54503 from NousResearch/bb/fix-desktop-cross-wire…
OutThisLife Jun 28, 2026
6875d6c
feat(desktop): multi-terminal panel with side tab rail
OutThisLife Jun 29, 2026
c1bb34d
fix(desktop): keep inactive terminals sized so switching doesn't garble
OutThisLife Jun 29, 2026
2d55ff8
feat(desktop): ⌘W closes the focused terminal
OutThisLife Jun 29, 2026
b02f453
refactor(desktop): generalize focus check to isFocusWithin primitive
OutThisLife Jun 29, 2026
6e12f8c
fix(desktop): force a repaint when a terminal is re-activated
OutThisLife Jun 29, 2026
ad831dd
feat(desktop): mirror agent background terminals as read-only tabs
OutThisLife Jun 29, 2026
520212c
feat(desktop): stream agent terminal output live instead of polling
OutThisLife Jun 29, 2026
6ac9ba9
fix(desktop): seed agent terminal tabs from process snapshots
OutThisLife Jun 29, 2026
5d661a3
fix(desktop): show the agent command before terminal output arrives
OutThisLife Jun 29, 2026
7cfa2fa
fix(docker): gate resource limit flags on cgroup controller availabil…
benbarclay Jun 29, 2026
9860d93
fix(terminal): require approval for host-bound Docker commands (#54483)
teknium1 Jun 29, 2026
3483424
fix(security): redact bare-token credentials in URL userinfo (#6396) …
teknium1 Jun 29, 2026
f1cbe43
fix(gateway): log error-notification failures instead of silently swa…
teknium1 Jun 29, 2026
5c1ac6c
fix(config): strip `export ` prefix in .env parsers across three modules
aaronlab Apr 9, 2026
490f215
test: cover export-prefix stripping in .env parsers (PR #6659)
teknium1 Jun 28, 2026
ec148f5
fix(agent): guard Anthropic interrupt, cap vision data-URL size
aaronlab Jun 28, 2026
27ddd8f
fix(gateway): sanitize agent error messages, validate webhook gh args
aaronlab Jun 28, 2026
11183e8
fix(profiles): validate custom alias names to prevent path traversal
teknium1 Jun 28, 2026
9912207
feat(desktop): unify non-settings overlays under a shared Panel primi…
OutThisLife Jun 29, 2026
317b948
chore(desktop): drop dead overlay primitives
OutThisLife Jun 29, 2026
dda3268
fix(approvals): warn and default to manual on unknown approvals.mode
LIC99 Jun 28, 2026
c8fd47b
docs: add PR infographic for approval mode validation
teknium1 Jun 28, 2026
9f02eea
style(desktop): prettier + eslint pass
OutThisLife Jun 29, 2026
e117cfd
feat(desktop): live agent terminals + agent-driven tab close
OutThisLife Jun 29, 2026
dee41d0
feat(dashboard): catalogue all memory-provider API keys in OPTIONAL_E…
benbarclay Jun 29, 2026
adacb16
fix(desktop): make agent terminal tabs fully readable
OutThisLife Jun 29, 2026
dfb561a
refactor(desktop+dashboard): extract shared WebSocket/JSON-RPC layer
OutThisLife Jun 29, 2026
6c52e4a
fix(desktop): match agent terminal scrollback to user tabs
OutThisLife Jun 29, 2026
5a4bdfd
fix(shared): close websocket clients deterministically
OutThisLife Jun 29, 2026
6776b2f
feat(desktop): live gateway popout + statusbar/command-center polish
OutThisLife Jun 29, 2026
f6ccf08
refactor(web): centralize dashboard websocket URL calls
OutThisLife Jun 29, 2026
5a2906a
chore(desktop): keep the diff surgical
OutThisLife Jun 29, 2026
216ace4
style(shared): apply workspace formatter to websocket helpers
OutThisLife Jun 29, 2026
83f09f5
Merge pull request #54558 from NousResearch/bb/overlay-panels
OutThisLife Jun 29, 2026
1a1e00f
fix(desktop): stop injecting ctrl-l into terminal startup
OutThisLife Jun 29, 2026
ae465e9
Merge branch 'main' of github.com:NousResearch/hermes-agent into bb/d…
OutThisLife Jun 29, 2026
e9b95df
fix(docker): include apps/shared in dashboard image build
OutThisLife Jun 29, 2026
f019a99
docs: clarify desktop is self-contained, not dependent on the dashboard
OutThisLife Jun 29, 2026
4488fe1
Merge pull request #54517 from NousResearch/bb/desktop-multiterminal
OutThisLife Jun 29, 2026
dff491a
feat(cli): add headless `hermes serve` backend; desktop no longer lau…
OutThisLife Jun 29, 2026
e684b80
fix(desktop): route old runtimes through `dashboard` when `serve` is …
OutThisLife Jun 29, 2026
9d9a50c
test(cli): pin the `hermes serve` decoupling contract
OutThisLife Jun 29, 2026
1c0fa12
feat(desktop): persist & restore terminal tabs + scrollback across re…
OutThisLife Jun 29, 2026
306b661
fix(agent): limit .hermes.md parent walk to git repos only
aaronlab Jun 29, 2026
14204b0
test(agent): cover .hermes.md no-git-root cwd-only behavior
teknium1 Jun 29, 2026
43eaf79
chore: remove committed PR infographics and gitignore the path (#54564)
teknium1 Jun 29, 2026
163562b
fix: normalize lmstudio base urls
lkevincc0 Jun 26, 2026
9cf9d3a
chore(release): add AUTHOR_MAP entry for PR #53295 salvage
teknium1 Jun 29, 2026
d836b2b
fix(matrix,mattermost): invite auth check + API path traversal guard
aaronlab Jun 29, 2026
e20ff35
test(matrix): authorize inviter in DM-invite fixture for new invite-a…
teknium1 Jun 29, 2026
0943e2a
fix(cron): don't report a false 'gateway not running' on external-pro…
benbarclay Jun 29, 2026
313a8c6
fix(skills): replace string prefix check with strict path containment
Ruzzgar Apr 10, 2026
1af109c
test(cli): drop pytest dep + use real sentinel handlers in serve test
OutThisLife Jun 29, 2026
fb0644f
Merge pull request #54585 from NousResearch/bb/desktop-terminal-history
OutThisLife Jun 29, 2026
388268e
Merge pull request #54568 from NousResearch/bb/shared-websocket-layer
OutThisLife Jun 29, 2026
e1f4098
docs(cron): document explicit per-channel delivery targets for all pl…
benbarclay Jun 29, 2026
8fe800e
fix(file-tools): sanitize host/relative cwd override before it reache…
benbarclay Jun 29, 2026
476875a
Add dashboard backup upload and download
shannonsands Jun 29, 2026
61a4526
fix(gateway): clear session-scoped model overrides on /resume
Junass1 Jun 29, 2026
b4300f2
fix(gateway): evict cached agent on auto-reset to prevent stale conte…
marco0158 Apr 16, 2026
0b733a8
test(gateway): pin auto-reset cached-agent eviction (#10710)
teknium1 Jun 29, 2026
74541be
fix(security): cap WeCom callback body size before pre-auth XML parse…
teknium1 Jun 29, 2026
98a7cfb
fix(logging): suppress Windows lock timeout tracebacks
helix4u Jun 28, 2026
25d35cc
infographic: Windows CLH lock-timeout traceback suppression (#54436 s…
teknium1 Jun 29, 2026
032d702
fix(agent): omit stream_options for native Gemini streaming
sgaofen Jun 29, 2026
0106082
fix(agent): return OpenAI-shaped copilot ACP tool calls
sgaofen Apr 23, 2026
b481348
fix(agent): stream copilot ACP chat completions
sgaofen Apr 23, 2026
d7e573e
fix(vision): detect Ollama vision models via /api/show (#54511)
HexLab98 Jun 29, 2026
23f245e
test(vision): cover Ollama /api/show vision capability routing (#54511)
HexLab98 Jun 29, 2026
1c75e7c
feat(dashboard): list & add arbitrary custom .env keys on the Keys page
benbarclay Jun 29, 2026
20b03d9
i18n: add Custom Keys strings to all locale files
benbarclay Jun 29, 2026
aa2ae36
fix(desktop): launch Windows backend as console python so child conso…
jquesnelle Jun 29, 2026
f860492
test(desktop): match multiline spawn(ps, fullArgs) via regex like sib…
teknium1 Jun 29, 2026
1289f12
fix(memory): lazy-install supermemory + mem0 SDKs like honcho/hindsight
benbarclay Jun 29, 2026
0434a9a
chore: regenerate uv.lock for supermemory + mem0 extras
teknium1 Jun 29, 2026
29f0968
test(windows): harden pid-scan no-window assertion against captured-c…
teknium1 Jun 29, 2026
4125cc3
fix(slack): subscribe to message.mpim + mpim scopes so group DMs work
benbarclay Jun 29, 2026
34e616e
feat(slack): nudge stale installs to add mpim scopes; mark message.mp…
teknium1 Jun 29, 2026
2704563
fix(tools): send listItemId instead of sessionKey in Camofox tab crea…
liuhao1024 Jun 3, 2026
babd916
fix(browser): send Authorization header in Camofox HTTP calls when CA…
liuhao1024 May 6, 2026
fe38d50
fix(tools): read browser.command_timeout in Camofox HTTP client
liuhao1024 Jun 6, 2026
08d6195
fix(camofox): auto-recover from stale tab 404 on navigate
kaishi00 Jun 29, 2026
41095fd
fix(camofox): register CAMOFOX_API_KEY in OPTIONAL_ENV_VARS
teknium1 Jun 29, 2026
115e78c
test(camofox): accept headers= kwarg in persistence test mocks
teknium1 Jun 29, 2026
eddfecd
fix(vision): cap vision_analyze fan-out concurrency process-wide
benbarclay Jun 29, 2026
75317d8
fix(vision): narrow the fan-out cap to the CPU encode burst only
teknium1 Jun 29, 2026
bf0d8fe
fix(config): v32 migration flips baked-in verify_on_stop=true to fals…
teknium1 Jun 29, 2026
c79e6bc
fix(browser_tool): resolve race in _get_command_timeout cache returni…
Sanjays2402 Jun 29, 2026
9f97915
fix(browser): route open-timeout base through _safe_command_timeout
teknium1 Jun 29, 2026
fa11b11
fix: propagate key_env from custom_providers into ProviderDef
telos-oc Apr 23, 2026
2f5950a
chore(release): add telos-oc to AUTHOR_MAP for PR #14353 salvage
teknium1 Jun 29, 2026
d5eee13
perf(profiles): fix list_profiles O(N*M) wrapper rescan (6.4s -> 0.4s)
max-chen Jun 23, 2026
1bb7b59
fix: offload blocking profiles endpoints from asyncio event loop (#54…
Sahil-SS9 Jun 29, 2026
10c9eaf
chore(attribution): map mango001@126.com -> max-chen for salvaged #51194
teknium1 Jun 29, 2026
fa3dba4
docs(infographic): add list_profiles perf-fix infographic
teknium1 Jun 29, 2026
194bff0
fix(gateway): confirm final delivery before suppressing send
sgaofen Jun 29, 2026
dc5ef20
test(reasoning-floor): isolate stale-timeout floor tests from config-…
teknium1 Jun 29, 2026
f5ecbe1
feat(dashboard): auto-initiate portal SSO redirect on unauthenticated…
benbarclay Jun 29, 2026
61f56d2
refactor(dashboard-auth): drop redundant _interactive_providers helper
teknium1 Jun 29, 2026
23c03ce
fix(session-db): enrich NULL session metadata via upsert instead of I…
teknium1 Jun 29, 2026
576424c
fix(security): redact browser CDP endpoint logs
Ruzzgar Apr 5, 2026
9e49013
fix(security): fail-closed feishu webhook rate limiter + whatsapp bri…
Mibayy Jun 29, 2026
0fe9755
fix(gateway): use last_prompt_tokens for session-reset activity check
Mibayy Jun 29, 2026
cdd8e0a
test(gateway): exercise last_prompt_tokens in reset-activity tests
teknium1 Jun 29, 2026
1debd5e
fix(security): add session-id filename sanitizer to prevent path trav…
Xowiek Jun 29, 2026
ea1372d
fix(security): wire session-id sanitizer into artifact paths + API bo…
teknium1 Jun 29, 2026
09666ce
fix(gateway): neutralize untrusted session metadata in prompts
Xowiek Apr 7, 2026
dbad6d4
fix(gateway): also neutralize untrusted Matrix room name in prompt
teknium1 Jun 29, 2026
f53ba9b
fix(s6): dot-prefix gateway staging dir so svscan ignores it mid-buil…
benbarclay Jun 29, 2026
88e6f9b
fix(auxiliary): preserve max_tokens for NVIDIA NIM aux calls
HexLab98 Jun 29, 2026
f134529
test(auxiliary): cover NVIDIA NIM max_tokens in _build_call_kwargs
HexLab98 Jun 29, 2026
fd32456
feat(desktop): add context usage breakdown popover
austinpickett Jun 29, 2026
3bbeb9e
Merge pull request #54907 from NousResearch/austin/feat/context-usage…
OutThisLife Jun 29, 2026
c6c1fd8
docs: create dev venv outside the source tree (root-cause fix for #77…
teknium1 Jun 29, 2026
ee8cbfd
feat(web_extract): truncate-and-store instead of LLM summarization (#…
teknium1 Jun 29, 2026
7cf6758
feat(desktop): read-only spectator transcript for subagent watch windows
OutThisLife Jun 29, 2026
929dd9c
Merge pull request #55033 from NousResearch/bb/subagent-watch-readonly
OutThisLife Jun 29, 2026
40591f1
Merge upstream NousResearch/main into fork/main (2026-06-29 parity sync)
Jun 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 5 additions & 4 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,12 @@ runtime/

# ---------- Not needed inside the Docker image ----------

# Desktop app source (Tauri/Electron); never installed in the container
# Desktop app source (Tauri/Electron); never installed in the container.
# apps/shared is the dashboard↔desktop websocket helper and is linked from
# web/package.json as a file: workspace dep — keep it in the build context.
apps/
!apps/shared/
!apps/shared/**

# Test suite — not shipped in production images
tests/
Expand Down Expand Up @@ -102,6 +106,3 @@ acp_registry/
.gitattributes
.hadolint.yaml
.mailmap

# Top-level LICENSE (not matched by *.md); not needed inside the container
LICENSE
4 changes: 4 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@
# Get your token at: https://huggingface.co/settings/tokens
# Required permission: "Make calls to Inference Providers"
# HF_TOKEN=
# HF_BASE_URL=https://router.huggingface.co/v1 # Override default base URL
# OPENCODE_GO_BASE_URL=https://opencode.ai/zen/go/v1 # Override default base URL

# =============================================================================
Expand Down Expand Up @@ -411,6 +412,9 @@ IMAGE_TOOLS_DEBUG=false
# Groq API key (free tier — used for Whisper STT in voice mode)
# GROQ_API_KEY=

# ElevenLabs API key (cloud STT/TTS — Scribe transcription)
# ELEVENLABS_API_KEY=

# =============================================================================
# STT PROVIDER SELECTION
# =============================================================================
Expand Down
2 changes: 1 addition & 1 deletion .envrc
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
watch_file pyproject.toml uv.lock
watch_file package-lock.json package.json web/package.json ui-tui/package.json website/package.json apps/shared/package.json apps/desktop/package.json ui-tui/packages/hermes-ink/package.json
watch_file flake.nix flake.lock nix/devShell.nix nix/tui.nix nix/package.nix nix/python.nix
watch_file flake.nix flake.lock nix/devShell.nix nix/tui.nix nix/package.nix nix/python.nix nix/hermes-agent.nix nix/desktop.nix

use flake
62 changes: 62 additions & 0 deletions .github/actions/detect-changes/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: Detect affected areas
description: >-
Classify a PR's changed files into CI work lanes (python, frontend, site,
scan, deps, mcp_catalog) so the orchestrator can conditionally call only
the sub-workflows a PR can affect. Outputs are always "true" on push/dispatch
events and fail open (everything "true") when the diff cannot be computed.

outputs:
python:
description: Run Python tests / ruff / ty / windows-footguns.
value: ${{ steps.classify.outputs.python }}
frontend:
description: Run the TypeScript typecheck matrix + desktop build.
value: ${{ steps.classify.outputs.frontend }}
docker_meta:
description: Docker setup and meta files have changed.
value: ${{ steps.classify.outputs.docker_meta }}
site:
description: Build the Docusaurus docs site.
value: ${{ steps.classify.outputs.site }}
scan:
description: Run the supply-chain critical-pattern scanner.
value: ${{ steps.classify.outputs.scan }}
deps:
description: Check pyproject.toml dependency upper bounds.
value: ${{ steps.classify.outputs.deps }}
mcp_catalog:
description: Require MCP catalog security review label.
value: ${{ steps.classify.outputs.mcp_catalog }}

runs:
using: composite
steps:
- name: Classify changed files
id: classify
shell: bash
env:
GH_TOKEN: ${{ github.token }}
REPO: ${{ github.repository }}
EVENT_NAME: ${{ github.event_name }}
BASE_SHA: ${{ github.event.pull_request.base.sha }}
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
run: |
set -euo pipefail

# Only pull_request events are gated. Other events (push, release,
# dispatch) leave CHANGED empty, so the classifier fails open and every
# lane runs. Post-merge / on-demand validation is never weakened.
if [ "$EVENT_NAME" = "pull_request" ]; then
# Use the compare endpoint with the pinned base/head SHAs from the
# event payload instead of the "current PR files" endpoint. The SHAs
# are frozen at trigger time, so the file list is deterministic even
# if the PR receives a new push between trigger and detect.
CHANGED="$(gh api \
--paginate \
"repos/${REPO}/compare/${BASE_SHA}...${HEAD_SHA}" \
--jq '.files[].filename' || true)"
fi

echo "Changed files:"
printf '%s\n' "${CHANGED:-(none)}"
printf '%s\n' "${CHANGED:-}" | python3 scripts/ci/classify_changes.py
50 changes: 0 additions & 50 deletions .github/actions/hermes-smoke-test/action.yml

This file was deleted.

50 changes: 50 additions & 0 deletions .github/actions/retry/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Retry a flaky command
description: >-
Run a shell command, retrying on non-zero exit. For dependency installs
(npm ci, uv sync) whose only failures are transient network/toolchain
flakes — a node-gyp header fetch, a registry blip — so CI self-heals
instead of needing a manual re-run.

inputs:
command:
description: Shell command to run (and retry).
required: true
attempts:
description: Max attempts before giving up.
default: "3"
delay:
description: Seconds to wait between attempts.
default: "10"
working-directory:
description: Directory to run in.
default: "."

runs:
using: composite
steps:
- shell: bash
working-directory: ${{ inputs.working-directory }}
# command goes through env, never interpolated into the script body, so
# a command with quotes/specials can't break or inject into the runner.
env:
_CMD: ${{ inputs.command }}
_ATTEMPTS: ${{ inputs.attempts }}
_DELAY: ${{ inputs.delay }}
run: |
set -uo pipefail
n=0
while :; do
n=$((n + 1))
echo "::group::attempt $n/$_ATTEMPTS: $_CMD"
if bash -c "$_CMD"; then
echo "::endgroup::"
exit 0
fi
echo "::endgroup::"
if [ "$n" -ge "$_ATTEMPTS" ]; then
echo "::error::failed after $n attempts: $_CMD"
exit 1
fi
echo "::warning::attempt $n failed; retrying in ${_DELAY}s: $_CMD"
sleep "$_DELAY"
done
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
100 changes: 0 additions & 100 deletions .github/workflows/build-windows-installer.yml

This file was deleted.

Loading
Loading