Skip to content

fix: improve Hermes native API compatibility#2

Merged
am-will merged 1 commit into
am-will:mainfrom
SSBrouhard:fix/hermes-native-api-compat
Jun 1, 2026
Merged

fix: improve Hermes native API compatibility#2
am-will merged 1 commit into
am-will:mainfrom
SSBrouhard:fix/hermes-native-api-compat

Conversation

@SSBrouhard

Copy link
Copy Markdown

Summary

This improves Lynk's native Hermes API path so Hermes looks usable in the Android chat UI without requiring a compatibility shim or manual debugging.

Changes:

  • Accept native Hermes health responses shaped like { status: "ok" } and normalize them to the shape the Lynk status formatter expects (ok: true, mode: "api").
  • Add Hermes API client methods for /skills and /toolsets.
  • Surface native Hermes skills as chat commands, including /skills, /skill, and installed skill entries.
  • Surface native Hermes toolsets as effective tools so the app does not show an empty tool surface when Hermes has tools enabled.
  • Suppress the generic Hermes proxy model when provider-specific models are discovered, reducing duplicate/confusing model picker entries.

Why

With native Hermes API mode, a non-technical user could see:

  • Gateway: not ok even when Hermes was healthy
  • no skills listed even though Hermes had skills installed
  • no tools listed even though Hermes had toolsets enabled
  • confusing generic model entries alongside provider-specific model discovery

That makes the Hermes integration look broken when the backend is actually alive. This PR tightens the adapter layer so native Hermes API behavior maps cleanly into Lynk's existing UI expectations.

Test Plan

Run from pc/:

  • npm run check
  • npm test
  • npm run build

All passed locally.

Normalize native Hermes health responses, expose native skills and toolsets in the chat UI, and suppress the generic Hermes proxy model when provider-specific models are discovered.
@am-will am-will merged commit 37eba70 into am-will:main Jun 1, 2026
2 checks passed
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.

2 participants