The 2026-10-08 rename moved the harness model ids and the homepage cards; the served aliases on the wire stayed frank-primary/frank-large/ frank-secondary. This closes the gap: the alias each endpoint announces is now the family name, while the services, units, scripts, env files and runbooks keep the old names (container identity stays stable). - scripts/frank-secondary.env ALIAS, scripts/frank-large.env HALOGEN_MODEL_ID, scripts/frank-primary.env FRANK_PRIMARY_SERVED_NAME (+ the two serve-script defaults/gate messages) - seams re-pinned: frank_secondary/frank_large/frank_primary unit bats - fleet harnesses retargeted: bench-probe, deep-probe, calib-push, fleet-probes-swift15, autoresearch(+measure), bench-threads-batch-http, bench-decode - shared/homepage/docs.html: api-id annotations and the "switchover will rename the ids" footnote removed — the page's names are now the ids; opencode/Pi/curl examples send frank-zealot - dankclaw/hermes/config.yaml.example: frank-large -> frank-dragoon and the live 262144 context (Hermes routes by served id; see Hermes.md) Consumers with live state re-keyed out-of-band in the same window: OpenWebUI (model row, access_grant, openai.api_configs model_ids) and the Hermes config.yaml.
101 lines
3.4 KiB
Plaintext
101 lines
3.4 KiB
Plaintext
# Hermes configuration backup / non-secret baseline.
|
|
#
|
|
# Source on Dankclaw: /home/dank/Containers/hermes/data/config.yaml
|
|
# This file is a sanitized Git backup, not a complete replacement for the
|
|
# live Hermes state. Do not add dashboard password hashes, phone numbers,
|
|
# OAuth credentials, API keys, sessions, memories, or generated state here.
|
|
# The live directory is bind-mounted into the containers as /data.
|
|
|
|
model:
|
|
provider: dankclaw-large
|
|
base_url: http://192.168.0.143:7770/v1
|
|
api_key: not-needed
|
|
default: frank-dragoon
|
|
|
|
providers:
|
|
dankclaw-large:
|
|
api: http://192.168.0.143:7770/v1
|
|
discover_models: false
|
|
models:
|
|
frank-dragoon:
|
|
context_length: 262144
|
|
dankserver-small:
|
|
api: http://192.168.0.235:7770/v1
|
|
discover_models: false
|
|
models:
|
|
frank-medium:
|
|
context_length: 114688
|
|
|
|
# Auxiliary routing from the live configuration. Named providers route via
|
|
# their `api:` URL; `custom` entries route by their explicit `base_url`.
|
|
auxiliary:
|
|
vision: {provider: dankclaw-large, model: frank-dragoon}
|
|
web_extract: {provider: dankserver-small, model: frank-medium}
|
|
compression: {provider: dankserver-small, model: frank-medium}
|
|
skills_hub: {provider: dankserver-small, model: frank-medium}
|
|
approval: {provider: dankserver-small, model: frank-medium}
|
|
mcp: {provider: dankserver-small, model: frank-medium}
|
|
# Title generation goes out over the Responses transport on purpose: Hermes
|
|
# hardcodes response_format=json_schema on this one call, no local back-end
|
|
# implements constrained decoding (it is a 400), and this transport is the
|
|
# only one that drops the field. reasoning.effort=none is required with it —
|
|
# the call caps output at 64 tokens, which a thinking pass would consume
|
|
# entirely, leaving an empty title.
|
|
title_generation:
|
|
provider: dankserver-small
|
|
model: frank-medium
|
|
api_mode: codex_responses
|
|
extra_body:
|
|
reasoning:
|
|
effort: none
|
|
memory_query_rewrite: {provider: custom, model: frank-medium, base_url: http://192.168.0.235:7770/v1}
|
|
tts_audio_tags: {provider: custom, model: frank-medium, base_url: http://192.168.0.235:7770/v1}
|
|
triage_specifier: {provider: dankclaw-large, model: frank-dragoon}
|
|
kanban_decomposer: {provider: dankclaw-large, model: frank-dragoon}
|
|
profile_describer: {provider: dankserver-small, model: frank-medium}
|
|
curator: {provider: dankserver-small, model: frank-medium}
|
|
|
|
dashboard:
|
|
# basic_auth intentionally omitted; its password_hash remains live-only.
|
|
font: atkinson-hyperlegible
|
|
moa:
|
|
presets:
|
|
default:
|
|
reference_models:
|
|
- provider: openrouter
|
|
model: deepseek/deepseek-v4-pro
|
|
enabled: false
|
|
degraded_reference_policy: loud
|
|
fanout: user_turn
|
|
reference_models:
|
|
- provider: openrouter
|
|
model: deepseek/deepseek-v4-pro
|
|
enabled: false
|
|
aggregator:
|
|
provider: openrouter
|
|
model: anthropic/claude-opus-4.8
|
|
degraded_reference_policy: loud
|
|
max_tokens: 4096
|
|
fanout: user_turn
|
|
enabled: true
|
|
skills:
|
|
disabled: []
|
|
onboarding:
|
|
seen:
|
|
busy_input_prompt: true
|
|
_config_version: 34
|
|
platforms:
|
|
signal:
|
|
# Live config has the Signal adapter disabled; http_url points at the
|
|
# host signal-cli daemon. The account phone number stays live-only.
|
|
enabled: false
|
|
extra:
|
|
http_url: http://192.168.0.143:8080
|
|
mcp_servers:
|
|
chrome-devtools:
|
|
command: /usr/local/bin/npx
|
|
args:
|
|
- -y
|
|
- chrome-devtools-mcp@latest
|
|
- --browserUrl=http://127.0.0.1:9222
|