feat(agents): add Hermes agent support#74
Open
zahariadaniel16 wants to merge 1 commit into
Open
Conversation
Adds Hermes (by Nous Research) as a fully supported agent alongside the
existing 8. Hermes is detected at ~/.hermes and manages skills organized
into named category subdirectories (e.g. apple/, devops/, github/).
Rust (hk-core):
- New HermesAdapter: scans ~/.hermes/skills/{category}/ across all
category dirs; global write target is ~/.hermes/skills/local by
convention; MCP servers read from ~/.hermes/config.yaml (YAML format,
both URL-based and command-based entries); no hook or plugin support.
- McpFormat::HermesYaml + serde_yaml dependency: full deploy/remove/
restore/read support for Hermes's YAML config format.
- service::install_to_agent gains hermes_category: Option<&str> so
cross-agent deploys can target any category directory, not just local.
- install_from_local and install_from_marketplace also accept
hermes_category in all command handlers (Tauri + web).
- list_hermes_categories command/route exposes available category dirs.
- Project marker: .hermes/skills/local (HK-managed convention).
Frontend:
- Official Hermes SVG mascot with float/spin animations.
- Hermes added to AGENT_ORDER, display names, and onboarding scatter.
- Category picker (pill row + New input) in all three install paths:
install dialog (local/git), marketplace agent buttons, and extension
detail panel cross-agent deploy.
- Extension detail: new effect refreshes skill locations and loads
content for newly-added instances immediately after cross-agent
install, without navigating away.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
~/.hermes) as a fully supported ninth agent alongside Claude Code, Codex, Gemini CLI, Cursor, Antigravity, Copilot, Windsurf, and OpenCode.apple/,devops/,github/). All three install paths (local, git, marketplace) and the cross-agent deploy flow show a category picker when Hermes is the target.Changes
Rust (
hk-core)adapter/hermes.rs(new):HermesAdapterimplementingAgentAdapter. Scans~/.hermes/skills/{category}/across all category dirs (write target:local/). Reads MCP servers from~/.hermes/config.yaml(YAML, both URL-based and command-based). No hooks or user-level plugins. SurfacesSOUL.md,memories/, andconfig.yamlon the Agents page. Project marker:.hermes/skills/local.McpFormat::HermesYaml+serde_yaml = "0.9": full deploy/remove/restore/read for Hermes's YAML config format indeployer.rsandkits/install_plan.rs.service::install_to_agent: newhermes_category: Option<&str>param resolves the target dir to~/.hermes/skills/{category}/instead of the defaultlocal/.list_hermes_categoriescommand + web route: returns sorted subdirectory names from~/.hermes/skills/for the frontend picker.install_from_localandinstall_from_marketplacein all command handlers (Tauri + web) accepthermes_category.Frontend
AGENT_ORDER,AGENT_DISPLAY_NAMES, and onboarding scatter positions.useEffectongroup?.instances.lengthloads content and skill locations for newly-added instances right after a cross-agent install.Test plan
cargo test --workspacepasses (507 tests)npm testpasses (223 tests)hermes~/.hermes/config.yamlappears~/.hermes/skills/{category}/