RepoFriendliAIFriendliAIpublished Sep 3, 2026seen 6d

friendliai/hermes-friendliai-provider

Python

Open original ↗

Captured source

source ↗

friendliai/hermes-friendliai-provider

Description: FriendliAI serverless model provider plugin for Hermes Agent — live model catalog, reasoning_effort/enable_thinking mapping, no built-in adapter needed

Language: Python

License: MIT

Stars: 0

Forks: 0

Open issues: 0

Created: 2026-09-03T04:08:41Z

Pushed: 2026-09-04T03:38:08Z

Default branch: main

Fork: no

Archived: no

README:

Hermes FriendliAI Provider

FriendliAI model provider plugin for Hermes Agent.

Fast-path profile for api.friendli.ai/serverless/v1: catalog-driven reasoning control (no hardcoded per-model effort tables) and the one wire quirk that silently breaks the generic custom profile on Friendli — disabling reasoning.

Installation

hermes plugins install friendliai/hermes-friendliai-provider

Then add your API key to ~/.hermes/.env:

FRIENDLIAI_API_KEY=your_key_here

Pick the provider with hermes model (FriendliAI → zai-org/GLM-5.3 etc.) or set it in config.yaml:

model:
provider: friendli
default: zai-org/GLM-5.3

Why not just point custom at Friendli?

  • Registering Friendli as a plain custom/OpenAI-compatible endpoint in config.yaml works for chat, but turning reasoning off gets you an HTTP 422custom sends reasoning_effort: "none", which isn't a value Friendli accepts.
  • This plugin sends both Friendli disable controls — reasoning_budget: 0 and chat_template_kwargs.enable_thinking: false — so /reasoning none and the desktop toggle work without editing your config.
  • Effort levels (low/high/max, ...) are validated per model from Friendli's live catalog, not a vocabulary you'd otherwise have to guess or hardcode yourself.
  • hermes model lists Friendli's current models and picks a fast aux model automatically — a custom entry only ever shows what you typed in.

License

MIT