mirror of
https://github.com/EKKOLearnAI/hermes-web-ui.git
synced 2026-05-26 14:00:14 +00:00
456a7effd0
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.2 KiB
2.2 KiB
Official Hermes Dashboard API Integration
Branch: feat/official-api
Overview
Integrate with the official Hermes REST API (hermes dashboard on 127.0.0.1:9119) to replace or supplement CLI-based data fetching.
Reference: https://hermes-agent.nousresearch.com/docs/user-guide/features/web-dashboard
Priority
High
- Config management page —
GET/PUT /api/config,GET /api/config/schema- New settings page with form-based config editor
- All config fields auto-discovered from schema
- Save, reset to defaults, export/import
- API Key management —
GET/PUT/DELETE /api/env- View, set, delete API keys
- Grouped by category (LLM, Tools, Messaging)
- Redacted value display
- Session search —
GET /api/sessions/search?q=...- Full-text search across all message content
- Highlighted snippets
Medium
- Analytics —
GET /api/analytics/usage?days=30- Use official API data instead of computing from session list
- More accurate cost/cache stats
- Cron job management — Full CRUD
- Create, pause/resume, trigger, delete scheduled jobs
- Job list with status, schedule, run history
- Skills toggle —
PUT /api/skills/toggle- Enable/disable skills directly from UI
- Status enhancement —
GET /api/status- Platform connection states
- Active session count
Low
- Toolsets —
GET /api/tools/toolsets- Display available toolsets with status
Architecture
- BFF (Koa) proxies requests to official API at
127.0.0.1:9119 - Fallback to CLI when official API is not available
- User can configure official dashboard address in settings
- CORS: official API restricts to localhost, our BFF handles this
API Endpoints to Integrate
GET /api/statusGET /api/sessions,GET /api/sessions/{id},GET /api/sessions/{id}/messagesGET /api/sessions/search?q=...DELETE /api/sessions/{id}GET /api/config,GET /api/config/defaults,GET /api/config/schema,PUT /api/configGET /api/env,PUT /api/env,DELETE /api/envGET /api/logsGET /api/analytics/usage?days=NGET /api/cron/jobs,POST /api/cron/jobs,POST/DELETE /api/cron/jobs/{id}/*GET /api/skills,PUT /api/skills/toggleGET /api/tools/toolsets