Log calories from meal photos with Hermes Agent
Send Hermes a photo of every meal. It writes down the time, calories and protein in one spreadsheet, and sums up your week on Sunday.
Written from the original post and the product’s own docs, checked 2026-10-19. We haven’t run it ourselves, so check each step as you go.
What you need
- A Mac, Linux or Windows computer to run Hermes Agent (it's free and open source).
- A model that can see images. Hermes works with many model providers; pick one with vision.
- A way to send photos: Telegram is easiest from your phone. The Hermes desktop app also takes attached images.
- Optional: a Google account, if you want the log in Google Sheets instead of a file on your computer.
Steps
-
Install Hermes Agent
On a Mac or Linux, open Terminal and run:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bashOn Windows, in PowerShell:
iex (irm https://hermes-agent.nousresearch.com/install.ps1)Then run hermes and follow the setup to choose your model.
-
Connect Telegram
Follow the Telegram page in the Hermes docs, then run hermes gateway so it answers your messages. Hermes on Telegram accepts text, voice, images and files.
-
Choose where the log lives
Two simple options: a spreadsheet file on your computer (Hermes's built-in Xlsx skill makes and edits .xlsx and CSV files), or Google Sheets (the Google Workspace skill can add rows to a sheet after you sign in).
-
Tell Hermes the rules
Send this once, so every photo after it is handled the same way. The author shared their own, longer prompt (linked from the case); this is a shorter version.
From now on, when I send a photo of food, log it: - the time I sent it - what the meal is, in a few words - estimated calories and grams of protein Add one row per meal to my food log ([file name or Google Sheet name]). Reply with one line: the meal, the calories and protein, and my total so far today. If you can't tell what something is, ask me instead of guessing. -
Send your first meal
Take a photo of your next meal and send it. Check the reply, then open the spreadsheet and make sure the row is there with the right time.
-
Add a weekly summary
Hermes has built-in scheduled tasks you can set in plain words or with /cron add. Ask for a Sunday summary.
Every Sunday at 7pm, read this week's rows in my food log and send me: total and daily average calories, daily average protein, my best and worst day, and one thing to improve next week.
How to know it worked
- Each photo you send becomes one new row with the time, the meal, calories and protein.
- The reply's daily total matches the rows in the spreadsheet.
- On Sunday you get the summary without asking.
Watch out for
- Calories from a photo are an estimate. The author says it works for them, but Hermes's docs don't promise accuracy; for packaged food, a photo of the nutrition label is more reliable.
- Your model must support images, or Hermes can't read the photos.
- The log is only as private as where you keep it. A file on your own computer stays there; Google Sheets lives in your Google account.
- Hermes has to be running (hermes gateway) to answer on Telegram.
The real case this is based on
-
✓ Source checked
Hermes Agent 92 likes 48K views Life admin @HaimBender
Sources
- Hermes Agent on GitHub (install) (github.com)
- Hermes Agent docs: Telegram (hermes-agent.nousresearch.com)
- Hermes Agent docs: Vision (hermes-agent.nousresearch.com)
- Hermes Agent docs: Xlsx skill (hermes-agent.nousresearch.com)
- Hermes Agent docs: Google Workspace skill (hermes-agent.nousresearch.com)
- Hermes Agent docs: Scheduled tasks (cron) (hermes-agent.nousresearch.com)
- The author's full prompt (chat4000) (chat4000.com)