Skip to content

feat: add Hermes as builtin agent - #5802

Closed
hackice20 wants to merge 4 commits into
ParadevAI:mainfrom
hackice20:feat/hermes-agent
Closed

hackice20 wants to merge 4 commits into
ParadevAI:mainfrom
hackice20:feat/hermes-agent

Conversation

@hackice20

@hackice20 hackice20 commented Jul 20, 2026 •

Copy link
Copy Markdown
Contributor

What & why

Adds Nous Research Hermes Agent as a builtin terminal agent so it can be launched from Superset like Claude, Codex, and the other presets.

Closes #5403.

Wired in packages/shared/src/builtin-terminal-agents.ts:

  • Interactive: hermes --yolo
  • Prompt: hermes chat --yolo -q (argv)
  • Included in default terminal presets

How I tested it

  • Confirmed Hermes appears under Settings → Agents after restarting desktop (bun dev)
  • Verified launch command is hermes --yolo and prompt launch uses hermes chat --yolo -q
  • Ran bun test in packages/shared for agent settings/models tests
  • Ran Biome check on the changed file and package typecheck
  • Manual launch requires the hermes CLI on PATH (hermes setup / hermes model with a non-Portal provider if you skip Nous card signup)

Checklist

  • PR title follows conventional commits (type(scope): subject)
  • bun run lint and bun run typecheck pass (CI fails on lint warnings too)
  • "Allow edits from maintainers" is checked on fork PRs

Summary by cubic

Adds Hermes as a built-in terminal agent so users can launch and prompt it from Superset. Provides a ready-to-use agent with the correct interactive and prompt commands.

  • New Features

    • Added Hermes to BUILTIN_TERMINAL_AGENTS in packages/shared/src/builtin-terminal-agents.ts.
    • Interactive command: hermes --yolo.
    • Prompt command: hermes --yolo chat -q.
  • Migration

    • Ensure the hermes CLI is installed and on PATH (hermes setup; configure a model/provider).

Written for commit 295d478. Summary will update on new commits.

Review in cubic

Summary by CodeRabbit

  • New Features
    • Added Hermes as a built-in terminal agent.
    • Hermes is now included in the default terminal presets, with ready-to-use commands and chat prompt configuration.

@coderabbitai

coderabbitai Bot commented Jul 20, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

Adds Hermes as a built-in terminal agent with metadata, execution and prompt commands, and inclusion in default terminal presets.

Changes

Hermes agent

Layer / File(s) Summary
Register Hermes terminal agent
packages/shared/src/builtin-terminal-agents.ts
Adds the hermes agent with Hermes metadata, hermes --yolo execution, hermes --yolo chat -q prompting, and default preset inclusion.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Linked Issues check ✅ Passed The PR implements #5403 by adding Hermes as a supported builtin terminal agent in Superset.
Out of Scope Changes check ✅ Passed The change is narrowly scoped to adding the Hermes builtin agent and does not introduce unrelated modifications.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check ✅ Passed The title is clear, specific, and accurately summarizes the main change.
Description check ✅ Passed The description follows the template and includes what changed, testing, and checklist items.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@greptile-apps

greptile-apps Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

Registers Nous Research's Hermes Agent as a new builtin terminal agent in packages/shared/src/builtin-terminal-agents.ts, making it launchable from the Superset desktop alongside Claude, Codex, and other presets. The implementation follows the existing createBuiltinTerminalAgent pattern and the CLI flags (hermes --yolo, hermes chat --yolo -q) are confirmed correct against the official Hermes docs.

  • Adds the "hermes" agent entry with interactive command hermes --yolo and prompt command hermes chat --yolo -q, consistent with how YOLO mode is documented.
  • Sets includeInDefaultTerminalPresets: true, placing Hermes in the default agent list shown to all users, on par with Claude, Codex, Gemini, Copilot, Vibe, and Kimi.
  • No nonInteractiveCommand is supplied, which is acceptable precedent — Kimi (also a default preset) has the same omission.

Confidence Score: 5/5

Safe to merge — the change is a single additive entry in a well-established registry, and the CLI flags are verified against the official Hermes documentation.

The change follows the exact same shape as every other agent in the list, the hermes --yolo and hermes chat --yolo -q flags are confirmed correct by the official CLI reference, and the omission of nonInteractiveCommand is consistent with existing agents like Kimi that also ship without one.

No files require special attention.

Important Files Changed

Filename Overview
packages/shared/src/builtin-terminal-agents.ts Adds Hermes as a builtin terminal agent with correct CLI flags (hermes --yolo for interactive, hermes chat --yolo -q for prompt mode); follows the established pattern for all other agents in the list.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[User opens Settings → Agents] --> B{Agent list}
    B --> C[Default presets\nincludeInDefaultTerminalPresets: true]
    C --> D[claude, amp, codex, gemini,\ncopilot, vibe, kimi, hermes]
    D --> E{Launch mode}
    E -->|Interactive| F["hermes --yolo"]
    E -->|Prompt launch| G["hermes chat --yolo -q <prompt>"]
    F --> H[YOLO mode active\nAll dangerous command\napprovals bypassed]
    G --> H
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    A[User opens Settings → Agents] --> B{Agent list}
    B --> C[Default presets\nincludeInDefaultTerminalPresets: true]
    C --> D[claude, amp, codex, gemini,\ncopilot, vibe, kimi, hermes]
    D --> E{Launch mode}
    E -->|Interactive| F["hermes --yolo"]
    E -->|Prompt launch| G["hermes chat --yolo -q <prompt>"]
    F --> H[YOLO mode active\nAll dangerous command\napprovals bypassed]
    G --> H
Loading

Reviews (1): Last reviewed commit: "feat: add Hermes as builtin agent" | Re-trigger Greptile

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@packages/shared/src/builtin-terminal-agents.ts`:
- Around line 159-160: Update the Hermes agent’s promptCommand configuration to
use the prefix “hermes --yolo chat -q”, matching the command’s “hermes --yolo”
prefix and preventing derivePromptArgs() from duplicating the flag.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: b730324c-8043-4014-8f84-e8941c353fd9

📥 Commits

Reviewing files that changed from the base of the PR and between 2ce34e6 and 8ec7ea4.

📒 Files selected for processing (1)
  • packages/shared/src/builtin-terminal-agents.ts

@ghost

ghost commented Jul 29, 2026 •

Copy link
Copy Markdown

Ready to review this PR? Stage has broken it down into 1 individual chapter for you:

Title
1 Register Hermes as a built-in terminal agent
Open in Stage

Chapters generated by Stage for commit 295d478 on Jul 29, 2026 2:54pm UTC.

Kitenite added a commit that referenced this pull request Aug 24, 2026
Adds Nous Research's Hermes Agent (`hermes`) to BUILTIN_TERMINAL_AGENTS,
with light/dark preset icons, README row, docs bullet, and marketing demo
entry.

Builds on #5802, which carried only the manifest entry. Flags are taken
from the Hermes CLI reference and `hermes_cli/_parser.py`: `hermes chat`
has no positional prompt, so prompt launches run `hermes chat --yolo -q`
and then drop into the interactive chat with `-c`, the same shape kimi
uses. Resume is `-r <session>`.

Hermes runs as a plain terminal agent, same shape as Pi / Cursor Agent, so
no agent-setup target is needed.

Co-authored-by: Yash <116657771+hackice20@users.noreply.github.com>

Claude-Session: https://claude.ai/code/session_01DuAhw6Ao5Cru3acdkrzx9f
Kitenite added a commit that referenced this pull request Aug 24, 2026
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
Kitenite added a commit that referenced this pull request Aug 24, 2026
* feat(shared): add Hermes as a built-in terminal agent

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

* feat(desktop): expose Hermes in the icon picker, settings search, and preset docs

Claude-Session: https://claude.ai/code/session_01DuAhw6Ao5Cru3acdkrzx9f
@Kitenite

Copy link
Copy Markdown
Member

Hermes is now on main — landed via #6766 (squash 011724e) with your Co-authored-by credit. Thank you again @hackice20 for kicking this off; this PR can be closed whenever you like.

@hackice20 hackice20 closed this Aug 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[feat] add hermes agent

2 participants