No description
  • Rust 81.3%
  • Shell 11.4%
  • JavaScript 3.7%
  • CSS 1.4%
  • HTML 1.4%
  • Other 0.8%
Find a file
despiegk abff087a99
Some checks failed
Build and Test / build (push) Failing after 15s
chore: migrate to hero_admin_lib shared assets
Replace duplicated Bootstrap, Bootstrap Icons, Unpoly, highlight.js, marked,
ansi_up, Chart.js and connection-status.js with shared versions from
hero_admin_lib. Add /static/shared/{*path} route. Remove ~10-13 MB of
duplicated static files per crate.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-10 16:19:57 +02:00
.forgejo/workflows ci(build-linux): install rustc 1.93 — workspace requires it (#20) 2026-05-06 19:25:58 +00:00
crates chore: migrate to hero_admin_lib shared assets 2026-05-10 16:19:57 +02:00
docs refactor: rename hero_agent_ui -> hero_agent_admin (ui.sock -> admin.sock) (#21) 2026-05-08 02:05:52 +00:00
examples feat: forward hero context headers through MCP + url env expansion (#2) 2026-04-13 11:30:28 +02:00
scripts refactor: rename hero_agent_ui -> hero_agent_admin (ui.sock -> admin.sock) (#21) 2026-05-08 02:05:52 +00:00
tests/browser refactor: rename hero_agent_ui -> hero_agent_admin (ui.sock -> admin.sock) (#21) 2026-05-08 02:05:52 +00:00
.gitignore hero_agent: Rust-native AI agent for Hero OS 2026-03-21 00:32:32 -04:00
buildenv.sh refactor: rename hero_agent_ui -> hero_agent_admin (ui.sock -> admin.sock) (#21) 2026-05-08 02:05:52 +00:00
Cargo.lock chore: migrate to hero_admin_lib shared assets 2026-05-10 16:19:57 +02:00
Cargo.toml chore: migrate to hero_admin_lib shared assets 2026-05-10 16:19:57 +02:00
LICENSE hero_agent: Rust-native AI agent for Hero OS 2026-03-21 00:32:32 -04:00
Makefile refactor: rename hero_agent_ui -> hero_agent_admin (ui.sock -> admin.sock) (#21) 2026-05-08 02:05:52 +00:00
README.md hero_agent: Rust-native AI agent for Hero OS 2026-03-21 00:32:32 -04:00

hero_agent

Rust-native AI agent for Hero OS. Drop-in replacement for hero_shrimp (Bun/TypeScript), following the same HeroRpcServer pattern as every other Hero service: Unix socket, OpenRPC, auto-MCP.

Status

Fully implemented — 3 crates, 56 built-in tools, SSE streaming, MCP integration, OSIS-backed memory and conversations.

Why Rust

  • Native OSIS SDK integration — conversations, memories, user scoping without RPC bridge
  • Native SSE streaming via tokio + axum
  • One stack — same build, debug, deploy model as every other Hero service
  • HeroRpcServer pattern: health, discovery, inspector dashboard — all built in
  • LLM APIs are stable REST/SSE — no SDK needed, just reqwest + serde

Crate structure

crates/
├── hero_agent/          Core library — agent loop, LLM client, MCP, memory, tools
├── hero_agent_server/   Binary — HTTP server, SSE routes, admin dashboard
└── hero_agent_tools/    56 built-in tools — file ops, git, web, shell, planning

hero_shrimp naming

hero_agent intentionally uses hero_shrimp socket paths and naming conventions (e.g. hero_shrimp.sock) so it slots into the existing Hero ecosystem as a drop-in replacement without requiring changes to other services or the frontend.

When the decision is made to switch from hero_shrimp to hero_agent in production, a proper rename should be done across the ecosystem — updating socket paths, service names, and references in hero_services, hero_archipelagos, and other dependent repos.

Build and run

make build       # Build release binary
make run         # Run locally (TCP port for dev)
make test        # Run unit tests
make smoke-test  # Run integration smoke tests

Acknowledgment

hero_agent exists thanks to hero_shrimp. The architecture, tool design, agent loop, skill system, and SSE protocol were all pioneered by hero_shrimp in TypeScript. hero_agent is a Rust port — we followed the same design faithfully and hope it stays true to its origins.

Architecture

See docs/spec.md for the complete design and architecture specification.