Copied to Clipboard
and the repository is here:
The agent that grows with you
Hermes Agent
Hermes Agent ☤
Hermes Agent | Hermes Desktop
Documentation
Discord
License: MIT
Built by Nous Research
中文
اردو
Español
The self-improving AI agent built by Nous Research. It's the only agent with a built-in learning loop — it creates skills from experience, improves them during use, nudges itself to persist knowledge, searches its own past conversations, and builds a deepening model of who you are across sessions. Run it on a 5ドル VPS, a GPU cluster, or serverless infrastructure that costs nearly nothing when idle. It's not tied to your laptop — talk to it from Telegram while it works on a cloud VM.
Use any model you want — Nous Portal, OpenRouter (200+ models), NovitaAI (AI-native cloud for Model API, Agent Sandbox, and GPU Cloud), NVIDIA NIM (Nemotron), Xiaomi MiMo, z.ai/GLM, Kimi/Moonshot, MiniMax, Hugging Face, OpenAI, or your own endpoint. Switch with hermes model — no code changes, no lock-in.
...
how it works
the approval callback function handles permission requests from the ACP system. when a command needs approval, it runs a coroutine to get the response from the permission handler.
in the try block, if the coroutine completes successfully, the code checks if the response is none. if it is none, the function immediately returns deny.
this approach is straightforward but effective. it means that even in unusual situations where the permission system does not return a proper response, the callback always produces a valid result. the agent continues running instead of crashing.
the test confirms this behavior by mocking the coroutine to return none and verifying that the callback returns deny.
my tech stack
the changes were made using python with the standard library asyncio module for handling asynchronous permission requests. the test uses pytest with mock objects to verify the behavior without needing a full system setup.
lessons learned
working on this fix taught me a few things about building reliable agent systems.
first, edge cases matter. in a system that handles permissions, every unexpected input should have a clear handling path. crashing is never the right answer.
second, testing edge cases is just as important as testing happy paths. the regression test ensures that this none response case keeps working correctly as the codebase evolves.
third, the hermes agent codebase is well structured and welcoming to contributions. the team uses copilot for code review, which helps catch potential improvements early.
i am glad to have contributed to an open source project that gives developers control over their own AI agents. the hermes agent challenge is a great way to get involved and learn about agentic systems.
thanks for reading.
if you want to explore hermes agent or contribute to it, check out the github repository linked above.
and thanks again ...