Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
315 commits
Select commit Hold shift + click to select a range
ea7981e
fix(dashboard): point webhook-disabled hint at Channels page (#43324)
teknium1 Jun 10, 2026
e4a1b35
fix(config): preserve original .env file mode instead of unconditiona…
benbarclay Jun 10, 2026
63a421d
fix(dashboard): _require_token endpoints all 401 behind the OAuth gat…
benbarclay Jun 10, 2026
9ca9697
fix(gateway): return tuple from voice transcription on placeholder ca…
synapsesx Jun 10, 2026
095f526
refactor(memory,skills): replace tri-state write_mode with boolean wr…
teknium1 Jun 10, 2026
1c055a4
fix(xai): accept Grok Build code during loopback wait + tiny screensh…
OndrejDrapalik Jun 10, 2026
ab55008
chore: add AUTHOR_MAP entry for OndrejDrapalik
teknium1 Jun 10, 2026
19c07c4
fix(params): send max_completion_tokens for newer OpenAI families on …
Llugaes Apr 22, 2026
2ce3ae3
fix(error-classifier): don't misclassify unsupported-param 400s as co…
teknium1 Jun 10, 2026
105625d
fix(skills): honour overall_timeout and bound ClawHub catalog walk
briandevans Jun 3, 2026
3119008
fix(discord): don't auto-disconnect voice when reply mode is off
xxxigm Jun 10, 2026
aea0b73
test(discord): cover voice timeout under voice-off mode
xxxigm Jun 10, 2026
5a4297a
fix(model_metadata): prefer hardcoded 1M for MiniMax M3 over stale mo…
xiaoxinova Jun 8, 2026
e5580f4
fix(discord): propagate role_authorized flag so DISCORD_ALLOWED_ROLES…
joel611 May 28, 2026
099146f
chore: add AUTHOR_MAP entry for PR #33958 contributor
teknium1 Jun 10, 2026
4eadef1
fix: guard role_authorized check against MagicMock test sources
teknium1 Jun 10, 2026
af978ec
fix(model): require confirmation for expensive model selections
rewbs May 15, 2026
243cada
fix(model): cover typed gateway /model path + async-safe pricing lookups
teknium1 Jun 10, 2026
383d44b
fix(web): rank explicit credentials above managed-gateway probe
tomekpanek Jun 4, 2026
888bf96
chore(release): add tomekpanek to AUTHOR_MAP
teknium1 Jun 10, 2026
6a30cfc
fix(gateway): stop typing before post-delivery callbacks (#37556)
konsisumer Jun 10, 2026
eee1da4
fix(skills): bound ClawHub catalog walk to requested page on cold sta…
teknium1 Jun 10, 2026
298bb93
feat(skills): show live per-source progress while browsing (#43398)
teknium1 Jun 10, 2026
e807546
style(desktop): render in-thread tool codicons as filled glyphs
OutThisLife Jun 10, 2026
984e69f
Auto-restart gateway after Telegram QR onboarding
shannonsands Jun 10, 2026
fa32af8
fix: dedupe concurrent gateway restarts + surface restart outcome in …
teknium1 Jun 10, 2026
c1308eb
style(desktop): filled SVG glyphs for in-thread tool icons
OutThisLife Jun 10, 2026
3827367
fix(desktop): carve sticky user bubbles out of the titlebar drag region
OutThisLife Jun 10, 2026
f222bd2
Merge pull request #43430 from NousResearch/bb/desktop-tool-codicons-…
OutThisLife Jun 10, 2026
2f19512
fix(cli): repair non-UTF-8 stdout/stderr on all platforms, not just W…
kshitijk4poor Jun 10, 2026
5d8c44a
fix(docker): pre-install matrix deps in Docker image (#30399) (#42413)
Tranquil-Flow Jun 10, 2026
cd9a9cd
fix(gateway): Slack approval UX in threads — block-size overflow + ty…
teknium1 Jun 10, 2026
183d86b
fix(openrouter): route reasoning_effort to verbosity for adaptive Ant…
alt-glitch Jun 10, 2026
1581333
fix(config): preserve original .env file mode in remove_env_value too…
benbarclay Jun 10, 2026
a5c32cd
fix(update): self-heal a venv left half-built by an interrupted insta…
teknium1 Jun 10, 2026
70d5d7e
fix(memory,skills): repair write-approval inline prompt, gateway stag…
teknium1 Jun 10, 2026
af3c8b8
fix(tests): close pid-file read race in test_grandchild_reaped_via_pg…
teknium1 Jun 10, 2026
5718811
feat(tts): add Gemini persona prompt file
barronlroth Jun 9, 2026
2c19208
feat(tts): add Gemini audio tag rewrite
barronlroth Jun 9, 2026
189ffe7
test: port voice-reply suffix assertions, fix change-detector cap tes…
teknium1 Jun 10, 2026
4c797d0
fix(desktop): hide Windows console children launched by GUI
helix4u Jun 10, 2026
47e77ae
fix(curator): use shared atomic state writer
helix4u Jun 10, 2026
a72bb03
fix(docker): optimize image size — .dockerignore, drop dev deps, spli…
thedavidweng Jun 10, 2026
3bfbb3f
change(tooling): typecheck in CI, update ts to 6
ethernet8023 Jun 4, 2026
90f4b30
change(tooling): remove react-compiler eslint, update concurrently
ethernet8023 Jun 10, 2026
4cecb1a
change(tooling): npm audit fix in website/
ethernet8023 Jun 10, 2026
d986bb0
feat(dashboard): full-featured profile builder (model + skills + MCPs…
teknium1 Jun 10, 2026
6fe4821
Add dashboard file browser paths
shannonsands Jun 9, 2026
dd60c49
Add dashboard file drop upload panel
shannonsands Jun 9, 2026
3acf731
Move folder creation into dialog
shannonsands Jun 9, 2026
07ac185
fix(ci): exit-4 forensics for vanishing test files in run_tests_paral…
teknium1 Jun 10, 2026
6de3963
fix(desktop): keep model runtime state per session (#43702)
OutThisLife Jun 10, 2026
6110aed
Suppress "Credit access paused" notice on free models (#43669)
rob-maron Jun 10, 2026
86e10dd
fix(agent): route 'thinking blocks cannot be modified' 400 to recovery
ianculling May 31, 2026
9f95f72
fix(agent): strip api_messages in thinking-signature recovery so the …
0xyg3n May 30, 2026
2d75833
chore(release): map ianculling for #36087 salvage
teknium1 Jun 10, 2026
a8f404b
fix(gateway): probe launchd domain instead of hardcoding user/<uid> (…
Tranquil-Flow Jun 7, 2026
1e7316c
fix(desktop): use sudo callback without interactive env
helix4u Jun 10, 2026
acd4f34
fix(cron): resolve per-job provider "custom" to providers.custom inst…
xxxigm Jun 10, 2026
f7a6d6a
test(cron): cover provider "custom" → providers.custom resolution
xxxigm Jun 10, 2026
88fcf0c
docs(memory): clarify that memory does not auto-compact when full
xxxigm Jun 10, 2026
590b3c0
fix(gateway): recover partial Telegram overflow streams
GodsBoy Jun 9, 2026
da81851
fix(gateway): finalize best-effort delivery when stream consumer is c…
GodsBoy Jun 10, 2026
3b4c715
fix(telegram): stripped-text fallbacks, re-finalize skip, and tail-on…
teknium1 Jun 10, 2026
0a593f1
fix(skills/github): resolve .env via HERMES_HOME, not hardcoded ~/.he…
xxxigm Jun 10, 2026
d1383a6
fix(skills): widen HERMES_HOME-aware .env resolution to all sibling s…
teknium1 Jun 10, 2026
e96ca1a
feat(sessions): drop empty sessions on CLI exit and session rotation
teknium1 Jun 11, 2026
4490c7c
fix: in-memory transcript blocks empty-session prune
teknium1 Jun 11, 2026
9dd9ef0
fix(web): profiles page modal (#43858)
austinpickett Jun 11, 2026
615ad97
fix(streaming): stop socket read timeout from preempting stale-stream…
xxxigm Jun 11, 2026
bfcc9f9
Merge commit '6110aed9b' into feat/whatsapp-cloud-api
jquesnelle Jun 11, 2026
3ffbdfb
desktop: registry-driven slash commands + first-class /resume & /hand…
OutThisLife Jun 11, 2026
fe54960
desktop: un-truncate the active slash/@ row so long descriptions stay…
OutThisLife Jun 11, 2026
e0e2571
feat(web): Parallel-backed web search & extract — free Search MCP whe…
parallel-m May 29, 2026
0a5762c
fix(web): genericize free-MCP client identity per telemetry policy
teknium1 Jun 10, 2026
acd7932
docs: cross-link write-approval gate from skills, configuration, and …
teknium1 Jun 11, 2026
18d61bd
fix(desktop): persist composer drafts across reloads
Jun 10, 2026
3d14f01
fix(desktop): debounce per-keystroke draft persistence writes
teknium1 Jun 11, 2026
914befa
feat(dashboard): profile-scoped skills & toolsets management
teknium1 Jun 10, 2026
ad90120
fix(dashboard): dedupe useNavigate import/declaration in ProfilesPage
teknium1 Jun 10, 2026
65ddc7c
fix(desktop): retain composer attachments per session scope + guard p…
OutThisLife Jun 11, 2026
aaccaad
fix(anthropic): preserve interleaved thinking/tool_use block order on…
Spaceman-Spiffy May 30, 2026
529bb1c
fix(anthropic): strip output-only SDK fields from replayed content bl…
Spaceman-Spiffy May 31, 2026
7a1eed8
fix(anthropic): redact replayed tool inputs and broaden thinking-repl…
Spaceman-Spiffy Jun 1, 2026
efcbbde
refactor: keep anthropic_content_blocks in-memory only (no state.db c…
teknium1 Jun 11, 2026
68ffedb
chore(release): map Spaceman-Spiffy for #35586 salvage
teknium1 Jun 11, 2026
7d8d000
revert(cron): remove per-job profile support (PR #28124) (#43956)
teknium1 Jun 11, 2026
fdc0d19
fix(desktop): make draft persistence actually fire — new-chat sentine…
OutThisLife Jun 11, 2026
3e74f75
feat(agent): coding-context posture across CLI/TUI/desktop/ACP (#43316)
OutThisLife Jun 11, 2026
c710868
refactor(desktop): decouple composer from session lifecycle entirely
OutThisLife Jun 11, 2026
292192f
refactor(desktop): tidy composer draft persistence
OutThisLife Jun 11, 2026
d7d281f
feat(desktop): strict per-thread drafts on decoupled composer
OutThisLife Jun 11, 2026
975edd4
fix(cli): omit --workspace when subpackage has its own package-lock.j…
OutThisLife Jun 11, 2026
419c8a9
Merge remote-tracking branch 'origin/main' into hermes/salvage-compos…
OutThisLife Jun 11, 2026
4d22b82
Merge pull request #43959 from NousResearch/hermes/salvage-composer-d…
OutThisLife Jun 11, 2026
13f1efd
fix(gateway): collapse repeated terminal headers in consecutive tool …
teknium1 Jun 11, 2026
fa7f24e
Enable webhooks from dashboard page
shannonsands Jun 11, 2026
0b5b7dd
fix(cli): show quick commands in /help output
Mar 31, 2026
2450fd7
chore: add mvanhorn to AUTHOR_MAP
teknium1 Jun 11, 2026
f38f7a3
fix(desktop): recover stale session before stop
helix4u Jun 11, 2026
264ac72
fix(gateway,windows): preserve restart watcher env
youjunxiaji Jun 7, 2026
cb2c130
fix(gateway): scrub _HERMES_GATEWAY from POSIX detached restart watch…
teknium1 Jun 11, 2026
4829f8d
Merge pull request #44047 from kshitijk4poor/salvage/desktop-stop-sta…
kshitijk4poor Jun 11, 2026
b8e2c16
Merge origin/main into salvage branch (resolve AUTHOR_MAP conflict)
teknium1 Jun 11, 2026
04b3f19
fix(sessions): archive compressed conversation lineages
dschnurbusch Jun 8, 2026
5e81113
chore: map dschnurbusch contributor email for attribution
kshitijk4poor Jun 11, 2026
dd40600
fix(backup): stage SQLite snapshots alongside output zip and stop exc…
liuhao1024 May 30, 2026
cedd9b6
fix(update): avoid SSH auth for passive official checks
helix4u Jun 10, 2026
ed2b9e4
fix(backup): stage SQLite snapshots beside output zip in pre-update p…
kshitijk4poor Jun 11, 2026
899acfe
fix(install/windows): repair stale winget registration; refresh PATH …
xxxigm Jun 10, 2026
9662b76
fix(install/windows): merge PATH in Update-ProcessPathForPackages ins…
kshitijk4poor Jun 11, 2026
b4fbf7b
Merge pull request #44082 from kshitijk4poor/fix/backup-staging-and-n…
kshitijk4poor Jun 11, 2026
0edeee1
test(desktop): cover official-SSH remote detection for passive updates
kshitijk4poor Jun 11, 2026
39f40ec
Merge pull request #44074 from kshitijk4poor/fix/archive-compressed-s…
kshitijk4poor Jun 11, 2026
c94e93a
Merge pull request #44084 from kshitijk4poor/salvage/windows-winget-s…
kshitijk4poor Jun 11, 2026
0d3e2cc
fix(desktop): deduplicate sidebar rows by compression lineage in merg…
liuhao1024 Jun 11, 2026
955fa40
Merge pull request #44085 from kshitijk4poor/review/pr-43754-ssh-update
kshitijk4poor Jun 11, 2026
85503dc
Merge pull request #44038 from NousResearch/hermes/hermes-fb4ee8ce
teknium1 Jun 11, 2026
875aa8f
feat(dashboard): unify multi-profile management — one machine dashboa…
teknium1 Jun 11, 2026
3edd09a
fix(whatsapp): restart stale bridge processes instead of silently reu…
teknium1 Jun 11, 2026
73dd584
fix(mcp): propagate HERMES_HOME override onto the MCP event loop (#44…
teknium1 Jun 11, 2026
4717989
fix(matrix): isolate room context and restore reliable inbound dispat…
nepenth Jun 11, 2026
9c16ca8
fix(dashboard): normalize model assignments + confirm-modal for backu…
teknium1 Jun 11, 2026
a2d7f53
fix(delegate): stop subagent tool completion lines leaking into paren…
teknium1 Jun 11, 2026
8972a15
feat(cli,tui): show time since last final agent response on the statu…
teknium1 Jun 11, 2026
f456f30
fix(gateway): refuse to write service definitions with a temp-dir HER…
teknium1 Jun 11, 2026
a09343c
feat(dashboard): SKILL.md editor on Skills page + attach-skill select…
teknium1 Jun 11, 2026
d0e017b
fix(gateway): gate oversized Telegram voice/audio before download (#4…
austinpickett Jun 11, 2026
e372803
fix(desktop): refresh session model metadata on switch (#43977)
OmarB97 Jun 11, 2026
b1af653
fix(desktop): Harden local file tree paths (#43618)
yucode-kk Jun 11, 2026
e24c935
fix(bedrock): fall back to non-streaming InvokeModel when IAM denies …
teknium1 Jun 11, 2026
9c051f5
fix(dashboard): Anthropic API Key entry checks ANTHROPIC_API_KEY, not…
teknium1 Jun 11, 2026
2ecb4e6
Merge remote-tracking branch 'origin/main' into hermes/hermes-6b48295e
teknium1 Jun 11, 2026
52c7976
fix(whatsapp-cloud): review follow-ups for #43921
teknium1 Jun 11, 2026
ee1a744
fix(agent): demote non-coding skill categories to names-only — never …
OutThisLife Jun 11, 2026
dca11b6
fix(mcp): preserve stdio argv passthrough
helix4u Jun 10, 2026
b2043cf
fix(tui): decode startup subprocess output as utf-8
helix4u Jun 10, 2026
5508f4b
fix(cli): utf-8 decode for whatsapp-bridge npm install capture (sibli…
teknium1 Jun 11, 2026
e71d746
fix(mcp): avoid false failed startup status
helix4u Jun 10, 2026
51f47f9
feat(desktop): add read-only remote filesystem API
yoniebans Jun 9, 2026
db79e90
feat(desktop): add filesystem routing facade
yoniebans Jun 9, 2026
8878484
feat(desktop): wire remote filesystem browsing
yoniebans Jun 9, 2026
56a0f48
fix(desktop): tighten remote filesystem wiring
yoniebans Jun 9, 2026
9121834
fix(desktop): scope remote workspace defaults
yoniebans Jun 10, 2026
c7bfc93
fix(dashboard): Config page header shows the switched profile's confi…
teknium1 Jun 11, 2026
4d6a133
fix(agent): gate skill-index demotion behind the opt-in focus mode (#…
teknium1 Jun 11, 2026
9a09ea6
feat(cron): Suggested Cron Jobs — one surface for proposed automations
teknium1 Jun 7, 2026
1593ca5
feat(cron): Cron Recipes — parameterized automation templates across …
teknium1 Jun 8, 2026
e976faa
feat(cron-recipes): /cron-recipe <name> seeds a conversational fill
teknium1 Jun 8, 2026
e8b7578
fix(cron-recipes): pre-release hardening — honest cadences, strict sl…
teknium1 Jun 10, 2026
3c489fd
fix(commands): unpin /reset from Slack priority aliases — registry hi…
teknium1 Jun 10, 2026
cb29e8a
refactor(cron): rebrand Cron Recipes -> Automation Blueprints
teknium1 Jun 11, 2026
a4f179c
fix(agent): steer GPT/Codex family to V4A for single-file edits too (…
OutThisLife Jun 11, 2026
8505e9d
fix(desktop): disable spellcheck on composer inputs (#44415)
OutThisLife Jun 11, 2026
93a2f68
fix(desktop): preserve explicit hide-all choice in model visibility d…
liuhao1024 Jun 11, 2026
743c55e
fix(desktop): stop file tree throwing "Cannot have two HTML5 backends…
xxxigm Jun 11, 2026
ce99a81
fix(dashboard): suppress unicode-animations postinstall during npm ci
austinpickett Jun 11, 2026
e7ae145
fix(gateway): guide the agent to read attached PDF/DOCX instead of pu…
xxxigm Jun 11, 2026
4e9be3e
test(gateway): cover document context note for PDF/DOCX vs text
xxxigm Jun 11, 2026
13650ab
fix(gateway): audio attachment note no longer steers the agent into p…
teknium1 Jun 11, 2026
020ef76
fix(discord): cancel _bot_task on connect() timeout to prevent zombie…
deaneeth Jun 11, 2026
08b1c44
fix(discord): extend bot-task cancellation to connect()'s generic exc…
teknium1 Jun 11, 2026
5e5308d
fix(node): fix @types/node version
ethernet8023 Jun 11, 2026
e080365
fix(tui): new weird typeerror
ethernet8023 Jun 11, 2026
c3464ec
fix(discord): recover from runtime gateway task exits (#44383)
austinpickett Jun 11, 2026
93764b9
fix(web): guarantee the keyless web default registers even if discove…
xxxigm Jun 11, 2026
32a7301
test(web): cover keyless default surviving a failed plugin sweep
xxxigm Jun 11, 2026
114e265
fix(plugins): don't cache a failed discovery sweep as discovered
teknium1 Jun 11, 2026
484f484
fix(desktop): carve sidebar nav rows out of the titlebar drag region …
OutThisLife Jun 11, 2026
d5e2fbf
fix(agent): frame compaction handoff sections as historical context
konsisumer Jun 11, 2026
8f8cad7
fix(agent): strengthen compression preamble against stale task execut…
kyssta-exe Jun 8, 2026
acb2954
fix(agent): freeze carveout-era SUMMARY_PREFIX for renormalization
teknium1 Jun 11, 2026
6c752ca
refactor(agent): tighten SUMMARY_PREFIX wording and fix stale doc ref…
teknium1 Jun 11, 2026
021ed69
docs: finish Automation Blueprints terminology rebrand (#44470)
austinpickett Jun 11, 2026
2ee69d0
fix(skills): let ClawHub index build walk past the 12s browse budget …
austinpickett Jun 11, 2026
7396977
fix(desktop): discover MCP tools for dashboard /api/ws backends (#44512)
OutThisLife Jun 11, 2026
b1fe210
fix(desktop): keep named-profile desktop backends per-profile (#44510)
OutThisLife Jun 11, 2026
d221e36
fix(desktop): recover from transient assistant-ui index-lookup crash …
mollusk Jun 11, 2026
9102d4a
fix(dashboard): show Windows 11 in host panel (#44511)
helix4u Jun 11, 2026
e96fe06
fix(desktop): use served dashboard token for websocket auth
jeffrobodie-glitch Jun 10, 2026
7a2d498
fix(desktop): route profile session reads
Evisolpxe Jun 11, 2026
e3ed772
fix(desktop): refuse a foreign backend's session token after readiness
OutThisLife Jun 11, 2026
9ff0ba0
fix(desktop): prevent backend port-squat boot loop and pickPort self-…
bionicbutterfly13 Jun 9, 2026
81436e1
fix(approval): carry allow_permanent to TUI + desktop approval prompts
OutThisLife Jun 11, 2026
cc726aa
refactor(desktop): fold served-token adoption + foreign-backend refus…
OutThisLife Jun 11, 2026
b097d7b
refactor(desktop): use native fetch in dashboard-token
OutThisLife Jun 11, 2026
55a18e6
chore(approval): tighten allow_permanent comments + DRY the no-always…
OutThisLife Jun 11, 2026
e2145a5
fix(ui-tui): stabilize embedded dashboard chat gateway (#44528)
austinpickett Jun 11, 2026
c6007e5
Merge pull request #44534 from NousResearch/bb/approval-allow-permanent
OutThisLife Jun 11, 2026
4ddb033
fix(desktop): collect + persist API key for custom OpenAI endpoints (…
OutThisLife Jun 12, 2026
880107a
Merge pull request #44529 from NousResearch/bb/desktop-profile-fallout
OutThisLife Jun 12, 2026
96cc7ee
fix(coding): don't provide worktree root in context
ethernet8023 Jun 12, 2026
5affecb
fix(mcp): capability-gate tools/list so prompt-only MCP servers can c…
teknium1 Jun 12, 2026
afe5370
Merge pull request #44545 from NousResearch/hermes-worktree-code
OutThisLife Jun 12, 2026
ab06ef8
fix(coding): teach agents terminal env state persists
OutThisLife Jun 12, 2026
9e484f0
Merge pull request #44559 from NousResearch/bb/persistent-terminal-env
OutThisLife Jun 12, 2026
6c00077
feat(desktop): auto-detect RTL/bidi text direction in chat
OutThisLife Jun 12, 2026
4d67ac6
Merge pull request #44596 from NousResearch/bb/desktop-rtl-bidi
OutThisLife Jun 12, 2026
09bcf5a
fix(desktop): move tool-row copy control into expanded body
OutThisLife Jun 12, 2026
6db65e6
Merge pull request #44627 from NousResearch/bb/desktop-tool-row-copy-…
OutThisLife Jun 12, 2026
6e41ca9
fix(desktop): bundle JetBrains Mono for the terminal pane (#44642)
OutThisLife Jun 12, 2026
24f74eb
fix(desktop): make file-preview source + markdown selectable (#44648)
OutThisLife Jun 12, 2026
62e937b
feat(plugins): expose register_slack_action_handler API
bcsmith528 May 6, 2026
08e8bed
fix(gateway): keep plugin action wrapper signature to (ack, body, act…
bcsmith528 May 6, 2026
e4c168b
chore: map bcsmith528 contributor email for attribution
kshitijk4poor Jun 12, 2026
c574170
Merge pull request #44664 from kshitijk4poor/salvage/slack-plugin-act…
kshitijk4poor Jun 12, 2026
82d5701
fix(slack): ack reaction lifecycle events
Veritas-7 Jun 9, 2026
889a136
fix(plugins): clear _plugin_platform_names on force-rediscover
kshitijk4poor Jun 12, 2026
44bd478
fix(plugins): credit shared hook/middleware/tool names to every plugin
kshitijk4poor Jun 12, 2026
b2d151a
fix(tools): strip default from $ref nodes in tool schemas
OutThisLife Jun 12, 2026
a35b370
Merge pull request #44674 from kshitijk4poor/fix/slack-reactions-plug…
kshitijk4poor Jun 12, 2026
a942bfd
fix(gateway): reset _last_flushed_db_idx when reusing cached agent (#…
kyssta-exe Jun 12, 2026
343803b
fix(cli): use subprocess on Windows for dashboard profile re-exec (#4…
kyssta-exe Jun 12, 2026
db7714d
Merge pull request #44331 from NousResearch/hermes/hermes-6b48295e
teknium1 Jun 12, 2026
434c684
fix(agent): focus automatic compression on recent user turns
konsisumer Jun 3, 2026
c7bee8f
refactor(agent): drop unused tail_start param from _derive_auto_focus…
teknium1 Jun 12, 2026
d6df38b
🐛 fix(cli): wrap long approval commands in prompt
BlackishGreen33 May 1, 2026
81cdbbd
🐛 fix(cli): wrap approval preview hints
BlackishGreen33 May 2, 2026
b3f5e17
fix(tui): wrap long approval commands in the Ink overlay
teknium1 Jun 12, 2026
d810f2b
Merge pull request #44676 from NousResearch/bb/fix-schema-ref-default
OutThisLife Jun 12, 2026
87893fe
fix(memory): flatten multimodal content before provider sync
erosika Jun 11, 2026
15439be
refactor(memory): reuse _summarize_user_message_for_log instead of fo…
kshitijk4poor Jun 12, 2026
046f444
Merge pull request #44738 from kshitijk4poor/salvage/memory-sync-mult…
kshitijk4poor Jun 12, 2026
906bee9
fix(nix): natively compile and correctly stage node-pty for desktop app
ethernet8023 Jun 11, 2026
c196269
fix(credits): suppress usage gauge when top-up funds exist + add disp…
teknium1 Jun 12, 2026
0a963d8
feat(photon): add telemetry toggle via `hermes photon telemetry`
underthestars-zhy Jun 11, 2026
573c4e6
feat(photon): upgrade to spectrum-ts 3.0.0 (pinned) with markdown + r…
underthestars-zhy Jun 11, 2026
a652131
fix(photon): stop gateway restarts from orphaning the sidecar on its …
underthestars-zhy Jun 11, 2026
9bfff6e
chore(photon): bump spectrum-ts to 3.1.0
underthestars-zhy Jun 11, 2026
a23c0b3
fix(photon): use per-call httpx client in _sidecar_call
underthestars-zhy Jun 11, 2026
156f4fb
feat(photon): add agent-facing emoji reaction support
underthestars-zhy Jun 11, 2026
23305cf
fix(photon): normalize DM chat keys in last-inbound reaction tracker
underthestars-zhy Jun 11, 2026
b4e95a2
fix(photon): add clarifying comments for Windows-safe os.kill usage
underthestars-zhy Jun 11, 2026
05470aa
feat(messaging): expose action='unreact' in send_message + react disp…
teknium1 Jun 12, 2026
8207ae8
fix(gateway): add Signal message type classification for documents
kdunn926 Apr 20, 2026
ffef9da
test(gateway): verify Signal inbound PDF attachment sets MessageType.…
kdunn926 Apr 20, 2026
8e821cd
test(gateway): verify Signal inbound text attachment sets MessageType…
kdunn926 Apr 20, 2026
1e29ab3
fix(gateway): classify Signal video attachments + catch-all DOCUMENT …
teknium1 Jun 12, 2026
f03f161
fix(gateway): classify email document attachments as DOCUMENT
teknium1 Jun 12, 2026
74180eb
fix(gateway): classify SimpleX non-image/non-audio files as DOCUMENT
teknium1 Jun 12, 2026
8b2a3c9
chore: add kdunn926 to AUTHOR_MAP
teknium1 Jun 12, 2026
286ecd2
fix(agent): strip MEDIA directives from compressor summarizer input (…
Tranquil-Flow Apr 24, 2026
8e5b759
refactor(agent): hoist MEDIA-directive regex to module level
teknium1 Jun 12, 2026
4474873
feat(cli): persist resolved approval/clarify prompts in scrollback (#…
teknium1 Jun 12, 2026
7ba5df0
feat(billing): /credits command — balance + portal top-up handoff (#4…
alt-glitch Jun 12, 2026
0fd34e8
fix(teams): cache document/video/audio attachments and classify as DO…
teknium1 Jun 12, 2026
e20e0bd
feat(Yuanbao): support wechat forward msg (#43508)
loongfay Jun 12, 2026
88dbf95
fix(dashboard): profile-scope Channels endpoints and seed per-profile…
teknium1 Jun 12, 2026
9c50521
fix(desktop): complete backend PATH for Homebrew Codex
y0shua1ee Jun 12, 2026
e582aa8
fix(desktop): refresh session list after delete/archive, extract sess…
Jun 12, 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
  •  
  •  
  •  
42 changes: 42 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -63,3 +63,45 @@ data/
# Compose/profile runtime state (bind-mounted; avoid ownership/secret issues)
hermes-config/
runtime/

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

# Desktop app source (Tauri/Electron); never installed in the container
apps/

# Test suite — not shipped in production images
tests/

# Documentation site (Docusaurus) and supplementary docs
website/
docs/

# Assets only used by the GitHub README
assets/
infographic/

# Plugin-level docs (hermes-achievements ships docs/ but the runtime doesn't read them)
plugins/hermes-achievements/docs/

# Nix / Homebrew / AUR packaging metadata — irrelevant to Docker
nix/
flake.nix
flake.lock
packaging/

# Design and planning documents
plans/
.plans/

# ACP registry manifest (icon + agent.json) — not consumed at runtime
acp_registry/

# Repo-level dotfiles that are git-only or dev-tooling config
.env.example
.envrc
.gitattributes
.hadolint.yaml
.mailmap

# Top-level LICENSE (not matched by *.md); not needed inside the container
LICENSE
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion .github/workflows/deploy-site.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:

- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: 20
node-version: 22
cache: npm
cache-dependency-path: website/package-lock.json

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docs-site-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:

- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: 20
node-version: 22
cache: npm
cache-dependency-path: website/package-lock.json

Expand Down
48 changes: 40 additions & 8 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,15 +55,31 @@ jobs:

- name: Install uv
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5
with:
# Persist uv's download/wheel cache (~/.cache/uv) across runs.
# Keyed on the dependency manifests, so the cache is reused until
# pyproject.toml or uv.lock changes. `uv sync` still runs every
# time, but resolves from the warm cache instead of re-downloading
# and re-building wheels.
enable-cache: true
cache-dependency-glob: |
pyproject.toml
uv.lock

- name: Set up Python 3.11
run: uv python install 3.11

- name: Install dependencies
run: |
uv venv .venv --python 3.11
source .venv/bin/activate
uv pip install -e ".[all,dev]"
# `uv sync --locked` installs the exact pinned set from uv.lock (and
# fails if the lock is out of sync with pyproject.toml), giving a
# reproducible env. It also creates .venv itself, so no separate
# `uv venv` step is needed.
run: uv sync --locked --python 3.11 --extra all --extra dev

- name: Minimize uv cache
# Optimized for CI: prunes pre-built wheels that are cheap to
# re-download, keeping the persisted cache small and fast to restore.
run: uv cache prune --ci

- name: Run tests (slice ${{ matrix.slice }}/6)
# Per-file isolation via scripts/run_tests_parallel.py: discovers
Expand Down Expand Up @@ -161,15 +177,31 @@ jobs:

- name: Install uv
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5
with:
# Persist uv's download/wheel cache (~/.cache/uv) across runs.
# Keyed on the dependency manifests, so the cache is reused until
# pyproject.toml or uv.lock changes. `uv sync` still runs every
# time, but resolves from the warm cache instead of re-downloading
# and re-building wheels.
enable-cache: true
cache-dependency-glob: |
pyproject.toml
uv.lock

- name: Set up Python 3.11
run: uv python install 3.11

- name: Install dependencies
run: |
uv venv .venv --python 3.11
source .venv/bin/activate
uv pip install -e ".[all,dev]"
# `uv sync --locked` installs the exact pinned set from uv.lock (and
# fails if the lock is out of sync with pyproject.toml), giving a
# reproducible env. It also creates .venv itself, so no separate
# `uv venv` step is needed.
run: uv sync --locked --python 3.11 --extra all --extra dev

- name: Minimize uv cache
# Optimized for CI: prunes pre-built wheels that are cheap to
# re-download, keeping the persisted cache small and fast to restore.
run: uv cache prune --ci

- name: Packaged-wheel i18n smoke test
run: |
Expand Down
25 changes: 25 additions & 0 deletions .github/workflows/typecheck.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# .github/workflows/typecheck.yml
name: Typecheck

on:
push:
branches: [main]
pull_request:
branches: [main]

jobs:
typecheck:
runs-on: ubuntu-latest
strategy:
matrix:
package:
[ui-tui, web, apps/bootstrap-installer, apps/desktop, apps/shared]
fail-fast: false # report all failures, not just the first one
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: 22
cache: npm
- run: npm ci
- run: npm run --prefix ${{ matrix.package }} typecheck
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,9 @@ website/static/api/skills-index.json
# every build).
website/static/api/skills.json
website/static/api/skills-meta.json
# automation-blueprints-index.json is a build artifact emitted by
# website/scripts/extract-automation-blueprints.py during prebuild.
website/static/api/automation-blueprints-index.json
models-dev-upstream/

# Local editor / agent tooling (machine-specific; keep in global config, not the repo)
Expand All @@ -114,6 +117,12 @@ docs/superpowers/*
# treat it as a local edit and autostash it on every run (#38529).
.hermes-bootstrap-complete

# Interrupted-update breadcrumb + recovery lock written next to the shared venv
# by `hermes update` / launch-time self-heal. Runtime state, never a code change
# — ignore so `git status` stays clean and update's autostash skips them.
.update-incomplete
.update-incomplete.lock

# Tool Search live-test harness output — non-deterministic model transcripts,
# regenerated by scripts/tool_search_livetest.py. Never an artifact of the repo.
scripts/out/
Expand Down
Loading
Loading