mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-05-14 04:02:26 +00:00
fix(openrouter): use canonical X-Title attribution header
OpenRouter's dashboard attributes usage via the `X-Title` header. Hermes was sending `X-OpenRouter-Title`, which OpenRouter does not recognize, so Hermes usage showed up unlabeled. Rename to `X-Title` to match the canonical header (already used elsewhere in the same file via _AI_GATEWAY_HEADERS). Salvages the core fix from @JTroyerOvermatch's PR #13649. Dropped the PR's `HERMES_OPENROUTER_TITLE` / `HERMES_OPENROUTER_REFERER` env-var override plumbing per the '.env is for secrets only' policy — if per-deployment attribution is needed later it should go under `openrouter.title` / `openrouter.referer` in config.yaml instead.
This commit is contained in:
parent
269be4ec84
commit
6430d67569
3 changed files with 6 additions and 4 deletions
|
|
@ -259,10 +259,12 @@ _PROVIDERS_WITHOUT_VISION: frozenset = frozenset({
|
||||||
"kimi-coding-cn",
|
"kimi-coding-cn",
|
||||||
})
|
})
|
||||||
|
|
||||||
# OpenRouter app attribution headers (base — always sent)
|
# OpenRouter app attribution headers (base — always sent).
|
||||||
|
# `X-Title` is the canonical attribution header OpenRouter's dashboard
|
||||||
|
# reads; the previous `X-OpenRouter-Title` label was not recognized there.
|
||||||
_OR_HEADERS_BASE = {
|
_OR_HEADERS_BASE = {
|
||||||
"HTTP-Referer": "https://hermes-agent.nousresearch.com",
|
"HTTP-Referer": "https://hermes-agent.nousresearch.com",
|
||||||
"X-OpenRouter-Title": "Hermes Agent",
|
"X-Title": "Hermes Agent",
|
||||||
"X-OpenRouter-Categories": "productivity,cli-agent",
|
"X-OpenRouter-Categories": "productivity,cli-agent",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ class TestBuildOrHeaders:
|
||||||
|
|
||||||
headers = build_or_headers(or_config={"response_cache": False})
|
headers = build_or_headers(or_config={"response_cache": False})
|
||||||
assert headers["HTTP-Referer"] == "https://hermes-agent.nousresearch.com"
|
assert headers["HTTP-Referer"] == "https://hermes-agent.nousresearch.com"
|
||||||
assert headers["X-OpenRouter-Title"] == "Hermes Agent"
|
assert headers["X-Title"] == "Hermes Agent"
|
||||||
assert headers["X-OpenRouter-Categories"] == "productivity,cli-agent"
|
assert headers["X-OpenRouter-Categories"] == "productivity,cli-agent"
|
||||||
|
|
||||||
def test_cache_enabled(self):
|
def test_cache_enabled(self):
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ def test_openrouter_base_url_applies_or_headers(mock_openai):
|
||||||
|
|
||||||
headers = agent._client_kwargs["default_headers"]
|
headers = agent._client_kwargs["default_headers"]
|
||||||
assert headers["HTTP-Referer"] == "https://hermes-agent.nousresearch.com"
|
assert headers["HTTP-Referer"] == "https://hermes-agent.nousresearch.com"
|
||||||
assert headers["X-OpenRouter-Title"] == "Hermes Agent"
|
assert headers["X-Title"] == "Hermes Agent"
|
||||||
|
|
||||||
|
|
||||||
@patch("run_agent.OpenAI")
|
@patch("run_agent.OpenAI")
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue