Unlocking Hermes: A Guide to Setting Up the API Gateway

The Hermes AI Agent is an incredibly powerful tool right in your terminal, capable of running commands, reading files, and interacting with your local machine. But what if you want to access its power from outside the
terminal? What if you could programmatically send tasks to your agent?

This is where a core, and sometimes overlooked, feature comes into play: the Hermes API Gateway.

The gateway transforms your personal AI assistant into a full-fledged reasoning engine that can be accessed over your network. It’s the key to unlocking scripted automations and building custom interactions. In this post,
I’ll provide a clear, step-by-step guide on how to enable and use it.
Why Do You Need a Gateway? The “Walled Garden” Problem

By default, your interaction with Hermes happens in one place: your terminal. This is great for direct, interactive use. However, this creates a “walled garden.” The agent can’t be easily controlled by a script, triggered
by an event, or integrated into a larger workflow.

The API Gateway breaks down these walls. By exposing a standard HTTP endpoint, it allows any application that can send a web request to start a conversation with your agent.
The Solution: A Doorway for Your AI

Think of the gateway as a secure, public-facing front door for your agent. Instead of having to be physically at the terminal to type a command, you can send a message to a URL. Hermes receives the message, does the work,
and sends a response right back.

This simple concept is incredibly powerful and opens the door to a new level of automation.
The Setup: A Step-by-Step Guide

Getting the gateway running is straightforward. It involves editing one configuration file and then knowing how to “knock” on the new front door.

Step 1: Configure and Enable the Gateway

First, you need to tell Hermes to start the gateway. This is done in the agent’s main configuration file, located at ~/.hermes/config.yaml.

Open this file in your favorite text editor. You will need to find (or add) the gateway section.

yaml
~/.hermes/config.yaml

gateway:
This is the master switch. Set it to true to enable the gateway.
enabled: true
The host IP the gateway will listen on.
'0.0.0.0' makes it accessible from other machines on your network.
'127.0.0.1' (localhost) restricts access to only the same machine.
host: 0.0.0.0
The port it will run on. 5000 is a common default.
port: 5000
SECURITY: This is the most important setting. The gateway is
unprotected by default. Set a strong, secret token here.
api_key: "your-super-secret-and-long-password-here"


Security is paramount. The api_key setting is not optional for any serious use. Without it, anyone on your network could access and control your agent. I recommend generating a long, random string to use as your key.

Step 2: Restart the Hermes Agent

The changes you made to config.yaml will only apply after you restart the Hermes agent. Stop your current session and start it again.

As Hermes boots up, you should see a new line in the logs confirming that the gateway is active and listening:

INFO | uvicorn.main | Started server on http://0.0.0.0:5000

This confirms your gateway is live.

Step 3: Send Your First API Request

With the gateway running, it’s time to test it. The easiest way is with a curl command from another terminal window. You will send a POST request to the /api/v1/chat endpoint.

Your request must contain two key things:
1. The Authorization header with your secret api_key.
2. A JSON payload with your message and some metadata.

Here is the command structure:

bash
curl -X POST http://127.0.0.1:5000/api/v1/chat \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your-super-secret-and-long-password-here" \
-d '{
"platform": "api",
"chat_id": "api-test-session",
"user_id": "default-user",
"prompt": "Hello from the API! Please list the files in the current directory."
}'

Let’s break down the JSON data:
platform: Identifies the source of the message.
chat_id: This is a crucial field. It groups messages into conversations. Using the same chat_id across multiple requests allows Hermes to remember context, just like in a normal chat.
user_id: Identifies the user sending the message.
prompt: The actual task or question for the agent.

After running the command, you will get a JSON response from the agent containing its answer.
The Possibilities Are Now Open

You now have a fully functional API for your Hermes agent. This is the foundational building block for countless new applications. Whether you want to write a simple script to automate a repetitive task or build a more
complex system that leverages the agent’s reasoning abilities, you now have the key to do it. You’ve successfully turned your personal AI assistant into a programmable platform.

Why I fired Dropbox: How Nextcloud is saving me hundreds every year

For years, I was a loyal Dropbox subscriber. It was the “gold standard” for syncing files, and like most people, I just accepted the monthly fee as a necessary “tech tax.” But as my storage needs grew, so did the bill.

When I hit my storage limit and was prompted to upgrade to a more expensive professional tier, I finally asked myself: Why am I paying someone else to hold my data on their hard drives?

Enter Nextcloud. After switching to this self-hosted powerhouse, I’ve realized it’s not just about privacy—it’s a massive win for my wallet. Here’s how Nextcloud saved me money and why it might be time for you to make the switch too.

The “Subscription Trap” vs. The Gear You Already Own

The biggest drain on a modern budget is “subscription creep.” Dropbox starts at around $10–$12 a month. That doesn’t sound like much until you realize you’ll be paying it forever. Over five years, that’s $600 to $720 for a single service.

With Nextcloud, the software is free and open-source. My only costs were:

  1. Hardware: I didn’t spend a dime here—I just used the Linux box I’ve had for years. Instead of buying a new gadget, I repurposed an old machine that was already sitting in my house.
  2. Electricity: A negligible amount to keep my existing setup running.

The hardware was already paid for years ago. Now, every month I don’t pay Dropbox is pure profit.

Unlimited Storage (Without the Upsell)

In the world of paid cloud storage, “more space” always equals “more money.” If I wanted 10TB on a commercial platform, I’d be looking at a hefty enterprise-grade monthly fee.

With Nextcloud, if I run out of space, I just plug in a larger hard drive. I’m only limited by the physical hardware I choose to buy, not by a tiered pricing plan designed to squeeze my budget.

The Learning Curve Is the Only “Cost”

Is it “plug and play” like Dropbox? Not exactly. You need to spend an afternoon setting it up (I recommend using Docker or a pre-configured image). But once it’s running, the interface feels remarkably similar to the big-name providers. I have a mobile app that auto-uploads my photos, a desktop client that syncs my work files, and a web interface I can access from anywhere.

The Bottom Line

Switching to Nextcloud gave me two things: data sovereignty and financial relief. I no longer worry about price hikes, privacy policy changes, or storage limits. My data is in my house, on my hardware, and my monthly bill is exactly $0.00.

If you’re tired of the “subscription tax,” give Nextcloud a look. Your bank account will thank you.

Failed to unpack the windows 10 IoT Core installation package

Always fails. At first I thought there was an issue with the SD card. Then I read that you have to right-click and run as Administrator from your windows box. I could not get this to work – it never ran. In the end I had to enable the local Administrator on my windows box and login to that account and run the windows dashboard from that account. It then worked. Hope that helps someone.

Global Emergency Resources LLC – 57th Presidential Inauguration.

Over the last couple of weeks I was very privileged to have some of the software that I have worked on being used for the 57th Presidential Inauguration. It is probably my biggest career moment ever – so far !

My employer Global Emergency Resources LLC landed a contract to supply the first aid locations and command centers with their product – HC Standard.

Ex·cerpt from Global Emergency Resource’s website:

WASHINGTON, D.C. – The 2013 Presidential Inauguration brought landmark changes in emergency management and spectator safety. For the first time, inaugural personnel used a powerful situational awareness software suite to track medical emergencies; reunite lost family members; and provide real time information to event organizers. Emergency personnel from The District of Columbia, Maryland, Virginia, and the United States military integrated emergency data using HC Standard® – a patient tracking and critical asset software solution developed by Global Emergency Resources, LLC based in Augusta, Georgia.

HC Standard® allowed local, state and federal agencies, including the National Parks Service, US Secret Service, the Red Cross, and Homeland Security officials to have a common operating picture of major events during the Inauguration, including the Presidential Candlelight Reception; the Inaugural Parade; activities along the National Mall; the Commander in Chief Ball; the Inaugural Ball; and the Inaugural Prayer Service.

The DC Department of Health partnered with the Maryland Institute for Emergency Medical Service Systems (MIEMSS), the Northern Virginia Emergency Response System (NVERS), and the Maryland Department of Human Resources (MD DHS) to provide patient care and tracking throughout the event. Each partner used its own installation of HC Standard® to enter patient data with Motorola MC65 handheld devices. The data was aggregated and shared in all systems so that EMTs, first responders, and command center leaders could see the full picture of Inaugural events as they occurred.

During the Inauguration, HC Standard® tracked every emergency or first aid case and plotted it in each of the three emergency operations centers used for the event tracking and management. Additionally, family members who were lost, and those who were looking for them, had their information uploaded to a multijurisdictional database so they could be more easily reunited. Even the 100+ horses that carried the mounted police were part of the HC Standard® operating picture.

“Interoperability was key,” says Stan Kuzia, CEO and founder of Global Emergency Resources. “The EMS and Healthcare partners in the National Capital Region (NCR) have worked diligently over the years to eliminate information silos and enhance communication. This Presidential Inauguration demonstrated their hard work is paying off”. The various civilian agencies in the NCR also worked closely with their military counterparts to share a combined picture of patients and missing persons being treated and handled during the entire event. HC Standard® helped to bridge the interoperability gaps on Inauguration Day as near real-time data was available to military responders just as fast as their civilian counterparts.

Original document can be found here: http://www.ger911.com/news-and-events/17-news/133-inauguration2013

36th Annual Palmetto Amateur Golf Tournament TV Commercial.

One of my experiences here in the USA has been to be a voice over for a set of TV commercials. My friend from church Tom Kotti asked me if I was willing to use my English accent and be the voice over for a TV commercial he was making. I was game, so I said “yes sure”. The TV commercials were for the 36th annual Palmetto golf tournament at the Palmetto Golf Club which has been established in Aiken since 1892. Here is one of the commercials.

I enjoyed the experience immensely and if any one wants to use my voice again please contact me via this blog.

End Of An Era

Back in May of 1994 I opened my company Farrow Computing Limited when I was a mere boy.  I never thought I would be as successful as I was with it.  But finally because of my emigration to the USA, it was closed at the end of March 2010, sixteen years of running my own business.

Looking back there were plenty of times of “what if I cant get work..”  “What if I mess something up”, but looking back it really did go well.  Enjoyed most of it.

Truly the end of an era.

Everyone Is Looking For A White Mini Cooper S

I noticed in my stats that everyone is coming to my blog from search engines looking for white Mini Cooper S’s and I realised that I dont actually have a picture of mine from the front. So here it is on the day I bought it waiting to be driven by myself. Shame I sold it back last year. Any way here it is in all its glory …..

White Mini Cooper S - HV57UOA

Drove it many times to France and once to Madrid. It was great fun, nearly as great as my GSX-R 750. Wonder where it is now??? Registration was HV57UOA – post here if you have seen it.

If your looking for more photos or stories about it try clicking the mini tag in my tag cloud.

Rick and Me At El Rickys Mexican Restaurant

Yesterday I got invited around a very good friend of mines – Rick Marden. It was excellent we had fajitas and they were good. Also had to have a photo with the hat !!.

It was such a great send off for my emigration to the USA. It ended up with him giving me a bottle of Pol Roger which was Winston Churchill’s favourite champagne and a special edition scalextric mini cooper from the Italian Job. So kind, thank you.

It was just great and I will miss him and his wife Judy a lot.

Updated My Blog To Use An Ebay Plugin

ok I updated my wordpress blog to use a plugin from watchcount.com, so that I can list my ebay items on my blog. I will be selling a lot of stuff soon due to my impending emigration to the USA yahooooooo !!!!

There was a small FEATURE in the plugin that didnt allow it to work when php is hosted on IIS but have worked with the author and have now solved that which is great. Actually great support from them and it works a treat.

So I now have ebay items on the sidebar and you can post directly into the text like this… Check out the tattoo flash from my impending brother in law !!! yahoooo. OK OK I am getting a bit wild for a Monday morning I know any way check this out.

[EBAY 110487838245]

Not sure on the ebay header bit but I guess thats ebay doing that so probably nothing we can do about it.