init hero_hermes #1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
learn from ../hero_claude
setup full same structure
but call hero_hermes everywhere
in this case we will
we use hermes-agent:
we need to install with
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
we use hero_proc to launch (see skill /hero_proc_sdk)
https://hermes-agent.nousresearch.com/docs/user-guide/features/acp
https://hermes-agent.nousresearch.com/docs/user-guide/features/api-server
make sure both endpoints are exposed acp and api-server
Explain that we want to create a nice OpenRPC server, underscore server, which looks like ACP and more. It needs to have all the functions as exposed into the agents, the OpenAPI, the OpenAI compatible as well as the ACP compatible, and how we can use that to remotely launch all kinds of jobs, see what happens and so on, but all using clean OpenRPC, using our paradigm.
make nice UI
skills to use
Implementation Spec for Issue #1
Objective
Create a fully-functional
hero_hermesservice that wraps the NousResearch hermes-agent, exposing it through a clean OpenRPC server architecture following the Hero ecosystem patterns. The service will provide ACP (Agent Communication Protocol) compatibility, OpenAI-compatible API endpoints, and a modern Bootstrap admin dashboard for managing agents, tasks, and jobs remotely.Requirements
Core Infrastructure
hero_claudewith crates:hero_hermes,hero_hermes_sdk,hero_hermes_server,hero_hermes_ui,hero_hermes_exampleshero_procfor service lifecycle management (--start/--stop)OpenRPC Server (hero_hermes_server)
/v1/chat/completions)/v1/responses) for stateful conversations/.well-known/heroservice.jsonSDK (hero_hermes_sdk)
hero_rpc_derive::openrpc_client!CLI (hero_hermes)
--start,--stopagent list/register/get/start/stop/pause/resume/statetask submit/get/list/cancel/result/messagesjob create/list/get/run/cancelchat --prompt \"...\"Admin UI (hero_hermes_ui)
Dual Endpoint Support
Files to Create
Cargo.toml,Makefile,pyproject.toml,env.sh,install.sh,.gitignore,.python-version,README.mdcrates/hero_hermes_server/openrpc.json,server.pycrates/hero_hermes_sdk/Cargo.toml,src/lib.rscrates/hero_hermes/Cargo.toml,src/main.rscrates/hero_hermes_ui/Cargo.toml,askama.toml,src/main.rs,src/routes.rs,src/assets.rs,templates/index.html,static/*crates/hero_hermes_examples/Cargo.toml,examples/*.rs,tests/integration.rs.forgejo/workflows/ci.ymlImplementation Plan
Step 1: Initialize Repository Structure
Cargo.tomlworkspace manifestMakefilewith build/test/run targetspyproject.toml,env.sh,install.sh.gitignore,.python-version,README.mdStep 2: Create OpenRPC Specification
crates/hero_hermes_server/openrpc.jsonwith all RPC methodshermes.ping,hermes.healthhermes.agent.*hermes.task.*hermes.chat.completions,hermes.responses.createhermes.job.*hermes.event.*hermes.metrics.getStep 3: Create Python Server
crates/hero_hermes_server/server.pyStep 4: Create Rust SDK
crates/hero_hermes_sdk/with auto-generated client from OpenRPC specStep 5: Create CLI Binary
crates/hero_hermes/src/main.rsStep 6: Create Admin UI Structure
crates/hero_hermes_ui/with Axum serverStep 7: Create UI Templates and Assets
Step 8: Create Examples and Tests
Step 9: Create CI/CD Workflow
Step 10: Documentation
Acceptance Criteria
make installsuccessfully builds and installs all binarieshero_hermes --startregisters with hero_proc and starts server + UIhero_hermes --stopcleanly stops all componentshero_hermes pingreturns successful responsehero_hermes chat --prompt \"Hello\"returns LLM response/v1/chat/completionsworksNotes
Test Results
Compilation Errors
The project has 33 compilation errors in the CLI binary (crates/hero_hermes/src/main.rs). The errors are due to a mismatch between the method/type names used in the CLI and those generated by the SDK from the OpenRPC specification.
Root Cause:
Error Examples:
Impact:
Files Affected:
Next Steps:
The CLI code needs to be updated to use the correct client type (HermesClient) and method names (hermes_* instead of acp_*).
Test Results (Updated)
After fixing CLI naming issues:
All compilation errors have been resolved. The project builds successfully.
Summary of Fixes
Implementation Summary
The hero_hermes project has been fully initialized following the hero_claude structure.
Files Created
Root Configuration (8 files)
Server Crate (2 files)
SDK Crate (2 files)
CLI Crate (2 files)
UI Crate (8 files)
Examples Crate (7 files)
CI/CD (1 file)
Test Results
Features Implemented
Implementation Complete
Changes have been committed directly to the development branch:
4843e2632 files changed, 7973 insertions(+), 1 deletion(-)
The hero_hermes project is now fully initialized and ready for use.