[{"data":1,"prerenderedAt":224},["ShallowReactive",2],{"en.code.hermes-auxiliary-models-optimization":3,"en.code.hermes-auxiliary-models-optimization-surround":219},{"id":4,"title":5,"body":6,"createdAt":200,"description":201,"draft":202,"extension":203,"image":204,"language":205,"meta":206,"navigation":207,"path":208,"private":202,"rawbody":209,"read":210,"seo":211,"stem":212,"topics":213,"updatedAt":200,"__hash__":218},"content\u002Fcode\u002F20.hermes-auxiliary-models-optimization.md","Optimizing Hermes Under the Hood",{"type":7,"value":8,"toc":192},"minimark",[9,13,16,19,24,27,30,33,36,39,43,46,54,57,64,92,95,98,102,113,119,123,126,169,172,175,179,182,185,188],[10,11,12],"p",{},"A little over a month ago, I started using Hermes instead of OpenClaw. Carefully at first: a few personal tasks, some experiments, the usual “will this survive real life?” check. Then, as these things often go, it quietly became part of my workday.",[10,14,15],{},"Right now, a noticeable part of my personal and work tasks already goes through Hermes. I mostly use it together with Telegram: drop an idea, ask it to check something, run a small operation, come back later, and continue without starting from zero.",[10,17,18],{},"Lately I have been playing more with agent orchestration inside Hermes. Profiles with different models, different working modes, Kanban, separation between personal and work contexts. All of that quickly leads to one boring but important question: how much does the work Hermes does under the hood cost?",[20,21,23],"h2",{"id":22},"agents-have-background-costs-too","Agents Have Background Costs Too",[10,25,26],{},"When we say “the agent answers with model X,” it sounds simple. But the real system does more than just produce the main answer. Hermes runs many service operations around the conversation: compressing history, extracting text from web pages, selecting skills, generating session titles, checking dangerous commands, processing images, and so on.",[10,28,29],{},"By default, these tasks run on the same model as the main conversation. That is convenient. But it is not always reasonable.",[10,31,32],{},"If the main model is expensive or tied to subscription limits, there is no point in sending all service work through it. A session title, selecting the right skill \u002F MCP, or pulling text out of a page are simple background tasks. A smaller model is usually enough for them.",[10,34,35],{},"My Hermes setup runs through a Codex subscription, so the question became very practical. I want to save tokens and limits without turning the system into a lottery.",[10,37,38],{},"This is not the only option. The same background operations can also be routed to local models or API models if that is more convenient or cheaper. In my case, this is specifically the Codex subscription path: keep the strong model where it is actually needed, and hand the simpler internal work to a smaller model.",[20,40,42],{"id":41},"what-i-moved-to-mini","What I Moved to Mini",[10,44,45],{},"Hermes has auxiliary models for this. The idea is simple: the main model stays responsible for conversation and complex tasks, while background operations get their own routes.",[10,47,48,49,53],{},"The full list of these operations is best checked in the current ",[50,51,52],"code",{},"config.yaml",": it depends on the Hermes version and enabled features. Here I am only talking about the items I changed in my setup.",[10,55,56],{},"I applied these settings to four of my working profiles, so service tasks behave the same way across different modes.",[10,58,59,60,63],{},"I moved these tasks to ",[50,61,62],{},"openai-codex \u002F gpt-5.4-mini",":",[65,66,67,74,80,86],"ul",{},[68,69,70,73],"li",{},[50,71,72],{},"compression"," — conversation history compression;",[68,75,76,79],{},[50,77,78],{},"web_extract"," — extracting text and meaning from web pages;",[68,81,82,85],{},[50,83,84],{},"skills_hub"," — selecting relevant skills;",[68,87,88,91],{},[50,89,90],{},"title_generation"," — generating short session titles.",[10,93,94],{},"These are text-heavy, frequent, and relatively low-risk tasks. A mistake there is unpleasant, but usually not catastrophic. The savings can be noticeable, especially if Hermes is not just a toy for one evening but a permanent working layer.",[10,96,97],{},"There is one downside to this approach: you need to keep an eye on the selected models. Providers update their lineups, rename models, and gradually move older options to deprecated status. A config that looks clean today may need a revision a couple of months later.",[20,99,101],{"id":100},"what-i-did-not-downgrade","What I Did Not Downgrade",[10,103,104,105,108,109,112],{},"I kept ",[50,106,107],{},"approval"," on ",[50,110,111],{},"openai-codex \u002F gpt-5.4",".",[10,114,115,116,118],{},"This is not the place to save pennies. ",[50,117,107],{}," helps decide whether a potentially dangerous command can run automatically or should ask the human first. If that check is wrong, the consequences can be more expensive than the extra tokens.",[20,120,122],{"id":121},"checking-the-change","Checking the Change",[10,124,125],{},"After changes like this, configs need to be checked. It is not enough to assume the command worked. I read the actual values and ran validation for each of my four profiles:",[127,128,133],"pre",{"className":129,"code":130,"language":131,"meta":132,"style":132},"language-bash shiki shiki-themes github-light github-dark","hermes -p \u003Cprofile> config check\n","bash","",[50,134,135],{"__ignoreMap":132},[136,137,140,144,148,152,156,160,163,166],"span",{"class":138,"line":139},"line",1,[136,141,143],{"class":142},"sScJk","hermes",[136,145,147],{"class":146},"sj4cs"," -p",[136,149,151],{"class":150},"szBVR"," \u003C",[136,153,155],{"class":154},"sZZnC","profil",[136,157,159],{"class":158},"sVt8B","e",[136,161,162],{"class":150},">",[136,164,165],{"class":154}," config",[136,167,168],{"class":154}," check\n",[10,170,171],{},"After checking the configs, restart the gateway if it is running. Otherwise Hermes will keep using the old configuration, and the new routes will not be picked up.",[10,173,174],{},"Only after that restart is it worth doing a live check: ask the agent directly about the current configuration, run a few simple scenarios, and make sure the expected auxiliary models are actually connected and working.",[20,176,178],{"id":177},"result","Result",[10,180,181],{},"This is a small setting, but it captures how I now think about agent systems. Choosing the “main model” is not enough. You also need to know which internal operations spend its quality and limits.",[10,183,184],{},"A strong model belongs where there is reasoning, responsibility, and risk. For service routine, a smaller model is often enough. Not because saving money at any cost is the goal, but because different jobs should go to different tools.",[10,186,187],{},"In that sense, Hermes is becoming less like just a Telegram bot and more like a small operating system for tasks. And as it turns out, even an operating system has utility bills.",[189,190,191],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":132,"searchDepth":193,"depth":193,"links":194},2,[195,196,197,198,199],{"id":22,"depth":193,"text":23},{"id":41,"depth":193,"text":42},{"id":100,"depth":193,"text":101},{"id":121,"depth":193,"text":122},{"id":177,"depth":193,"text":178},"2026-06-17","How auxiliary models in Hermes Agent help optimize background tasks and reduce token usage.",false,"md","hermes-auxiliary-models-optimization.png","en",{},true,"\u002Fcode\u002Fhermes-auxiliary-models-optimization","---\nlanguage: en\ntitle: \"Optimizing Hermes Under the Hood\"\ndescription: \"How auxiliary models in Hermes Agent help optimize background tasks and reduce token usage.\"\nimage: hermes-auxiliary-models-optimization.png\ncreatedAt: 2026-06-17\nupdatedAt: 2026-06-17\nread: 4\ntopics:\n  - AI\n  - Hermes\n  - Codex\n  - Workflow\n---\n\nA little over a month ago, I started using Hermes instead of OpenClaw. Carefully at first: a few personal tasks, some experiments, the usual “will this survive real life?” check. Then, as these things often go, it quietly became part of my workday.\n\nRight now, a noticeable part of my personal and work tasks already goes through Hermes. I mostly use it together with Telegram: drop an idea, ask it to check something, run a small operation, come back later, and continue without starting from zero.\n\nLately I have been playing more with agent orchestration inside Hermes. Profiles with different models, different working modes, Kanban, separation between personal and work contexts. All of that quickly leads to one boring but important question: how much does the work Hermes does under the hood cost?\n\n## Agents Have Background Costs Too\n\nWhen we say “the agent answers with model X,” it sounds simple. But the real system does more than just produce the main answer. Hermes runs many service operations around the conversation: compressing history, extracting text from web pages, selecting skills, generating session titles, checking dangerous commands, processing images, and so on.\n\nBy default, these tasks run on the same model as the main conversation. That is convenient. But it is not always reasonable.\n\nIf the main model is expensive or tied to subscription limits, there is no point in sending all service work through it. A session title, selecting the right skill \u002F MCP, or pulling text out of a page are simple background tasks. A smaller model is usually enough for them.\n\nMy Hermes setup runs through a Codex subscription, so the question became very practical. I want to save tokens and limits without turning the system into a lottery.\n\nThis is not the only option. The same background operations can also be routed to local models or API models if that is more convenient or cheaper. In my case, this is specifically the Codex subscription path: keep the strong model where it is actually needed, and hand the simpler internal work to a smaller model.\n\n## What I Moved to Mini\n\nHermes has auxiliary models for this. The idea is simple: the main model stays responsible for conversation and complex tasks, while background operations get their own routes.\n\nThe full list of these operations is best checked in the current `config.yaml`: it depends on the Hermes version and enabled features. Here I am only talking about the items I changed in my setup.\n\nI applied these settings to four of my working profiles, so service tasks behave the same way across different modes.\n\nI moved these tasks to `openai-codex \u002F gpt-5.4-mini`:\n\n- `compression` — conversation history compression;\n- `web_extract` — extracting text and meaning from web pages;\n- `skills_hub` — selecting relevant skills;\n- `title_generation` — generating short session titles.\n\nThese are text-heavy, frequent, and relatively low-risk tasks. A mistake there is unpleasant, but usually not catastrophic. The savings can be noticeable, especially if Hermes is not just a toy for one evening but a permanent working layer.\n\nThere is one downside to this approach: you need to keep an eye on the selected models. Providers update their lineups, rename models, and gradually move older options to deprecated status. A config that looks clean today may need a revision a couple of months later.\n\n## What I Did Not Downgrade\n\nI kept `approval` on `openai-codex \u002F gpt-5.4`.\n\nThis is not the place to save pennies. `approval` helps decide whether a potentially dangerous command can run automatically or should ask the human first. If that check is wrong, the consequences can be more expensive than the extra tokens.\n\n## Checking the Change\n\nAfter changes like this, configs need to be checked. It is not enough to assume the command worked. I read the actual values and ran validation for each of my four profiles:\n\n```bash\nhermes -p \u003Cprofile> config check\n```\n\nAfter checking the configs, restart the gateway if it is running. Otherwise Hermes will keep using the old configuration, and the new routes will not be picked up.\n\nOnly after that restart is it worth doing a live check: ask the agent directly about the current configuration, run a few simple scenarios, and make sure the expected auxiliary models are actually connected and working.\n\n## Result\n\nThis is a small setting, but it captures how I now think about agent systems. Choosing the “main model” is not enough. You also need to know which internal operations spend its quality and limits.\n\nA strong model belongs where there is reasoning, responsibility, and risk. For service routine, a smaller model is often enough. Not because saving money at any cost is the goal, but because different jobs should go to different tools.\n\nIn that sense, Hermes is becoming less like just a Telegram bot and more like a small operating system for tasks. And as it turns out, even an operating system has utility bills.\n",4,{"title":5,"description":201},"code\u002F20.hermes-auxiliary-models-optimization",[214,215,216,217],"AI","Hermes","Codex","Workflow","0g98ohzXkDPVnE8UpQd18qIcJiTAQ37stlkzP5CzAvw",[220],{"title":221,"path":222,"stem":223,"draft":202,"children":-1},"How I Implemented an LLM Wiki in Obsidian","\u002Fcode\u002Fllm-wiki-obsidian-implementation","code\u002F19.llm-wiki-obsidian-implementation",1784619325079]