Repository navigation
feat(shared): add Hermes as a built-in terminal agent - #6766
Conversation
|
Warning Review limit reachedNext included review available in 10 minutes. View limit detailsLimit details: You’ve used all 10 included reviews currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (9)
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (3)
📒 Files selected for processing (6)
🚧 Files skipped from review as they are similar to previous changes (6)
Included review availability: Your plan provides up to 10 included reviews per hour; 6 remain after this review. 📝 WalkthroughWalkthroughHermes is added as a built-in terminal agent. Its commands and arguments are tested. Light and dark icons are registered. Hermes appears in compatibility displays and supported-agent documentation. ChangesHermes agent integration
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to This change adds Hermes as a built-in terminal agent with registration, documentation, icons, and targeted tests; no actionable merge-blocking risk remains after normal checks and review. Sequence Diagram(s)sequenceDiagram
participant BuiltinTerminalAgents
participant AgentCommand
participant HermesCLI
BuiltinTerminalAgents->>AgentCommand: provide Hermes command configuration
AgentCommand->>HermesCLI: invoke hermes chat --yolo -q
AgentCommand->>HermesCLI: continue with hermes chat --yolo -c
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
🚀 Preview Deployment🔗 Preview Links
Preview updates automatically with new commits |
931c047 to
0d6ca09
Compare
|
Note GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer. |
Adds Nous Research's Hermes Agent to BUILTIN_TERMINAL_AGENTS, with light/dark preset icons, README row, docs bullet, and marketing demo entry. Builds on #5802; hermes chat has no positional prompt, so prompt launches run -q and continue interactively with -c (kimi pattern); resume is -r <session>. Co-authored-by: Yash <116657771+hackice20@users.noreply.github.com> Claude-Session: https://claude.ai/code/session_01DuAhw6Ao5Cru3acdkrzx9f
b9bea17 to
b9c1e6d
Compare
What
Adds Hermes Agent (Nous Research) as a built-in terminal agent. This builds on @hackice20's #5802, which added the manifest entry; this PR carries that forward onto the current manifest shape and adds the icon and wiring every other builtin has. Thank you @hackice20 for kicking this off; the commit carries your
Co-authored-by.packages/shared/src/builtin-terminal-agents.ts:hermesentrypackages/ui/src/assets/icons/preset-icons/hermes.svg+hermes-white.svg, registered inindex.ts(a small caduceus mark; Hermes has no vector logo upstream, its favicon is the ⚕ glyph and the README banner is pixel art, so this is a simple monochrome stand-in that can be swapped if Nous publishes one)apps/docs/content/docs/agent-integration.mdxbullet,UniversalCompatibilityDemoentry +apps/marketing/public/app-icons/hermes.svgagent-command.test.ts(prompt shape, preset args, resume args)Manifest
commandhermes chat --yolo--yolois both a global and ahermes chatoptionpromptCommandhermes chat --yolo -q-q, --queryis the only way to pass a prompt;hermes chathas no positional (checkedhermes_cli/_parser.py)promptCommandSuffix; hermes chat --yolo -c-c, --continueresumes the most recent session, so a prompt launch runs the query and then lands in the interactive chat on that session, same shape askimiresumeCommandhermes chat --yolo -r(+ session id)-r, --resume <SESSION_ID>nonInteractiveCommandhermes chat -q--yolo, likeclaude -pDifferences from #5802: the base command is
hermes chat --yolorather thanhermes --yolo(the reference documentschatas the subcommand; barehermesalso defaults to chat permain.py, so both work, butchatis the documented form), and prompt launches continue into the TUI instead of exiting after the one-shot answer. Not added to the default terminal presets, matchingdroid/pi/polygraph; happy to flipincludeInDefaultTerminalPresets.Live-checked against an installed Hermes v0.20.5 on macOS (2026-08-23):
hermes chat -hdocuments exactly the flags above (-q/--query,-r SESSION_ID,-c/--continue,--yolo), andhermes chat --yoloboots to the REPL (a fresh install stops at "no model configured - run /model", so a full prompt round-trip needs a provider configured; the launch shape itself is verified).One thing I could not verify without a configured Hermes install: that a
-qrun is saved as a session so the-csuffix picks it up (the source points that way:hermes_cli/oneshot.pydescribes the separate stateless-zmode as bypassing cli.py with "no session_id line" - implying a normalchat -qrun does record a session and print its id). If it does not, droppingpromptCommandSuffixleaves the one-shot behaviour #5802 had.Hermes runs as a plain terminal agent, same shape as Pi / Cursor Agent, so no
packages/agent-setuptarget or wrapper is needed.Testing
bun run typecheckcleanbun run lintcleanbun test packages/shared778 passBased on #5802 (left open; the author can close it once this lands).
https://claude.ai/code/session_01DuAhw6Ao5Cru3acdkrzx9f
Summary by cubic
Adds Hermes as a built-in terminal agent for consistent CLI handling, icons, and docs. Previously unavailable; now prompt launches run a
-qone-shot and auto-continue into the interactive chat; resume uses-r; non-interactive useshermes chat -q.hermesinpackages/shared/src/builtin-terminal-agents.tswith basehermes chat --yolo, prompthermes chat --yolo -q, prompt suffix; hermes chat --yolo -c, resumehermes chat --yolo -r, and non-interactivehermes chat -q.packages/ui/src/assets/icons/preset-icons/*, wires them inpackages/ui/src/assets/icons/preset-icons/index.ts, exposes Hermes in the desktop Agent Icon Picker and settings search (keywords include “hermes” and “nous”).READMEsupported-agents row,apps/docsagent-integration and terminal-presets entries,apps/marketing/public/app-icons/hermes.svg, andUniversalCompatibilityDemo.packages/shared/src/agent-command.test.tscover registration, prompt continuation shape, and derived preset args.packages/agent-setuptarget.Written for commit b9c1e6d. Summary will update on new commits.
Summary by CodeRabbit