Ray Shao Back to the room Desktop
ProjectsGDG Singapore Hermes Workshop: Self-Hosted AI Agents on Google Cloud

← Projects

GDG Singapore Hermes Workshop: Self-Hosted AI Agents on Google Cloud

Jul 2026 to Sep 2026

On this page 9 sections
  1. Overview
  2. Event Facts
  3. Learning Outcomes
  4. Run of Show (as presented)
  5. Deck Structure
  6. Content Detail
  7. 01 Intro (Ray Shao)
  8. 02 The Headless Web (Google speaker)
  9. 03 Hands-on Session (Ray Shao)
  10. 04 nBits Labs (guest from nBits Labs)
  11. 05 Wrap-up (Ray Shao)
  12. What I Owned
  13. Design Decisions
  14. Deviations from Plan

Part of: community work alongside my Google Data Center internship

Overview

Designed and led a hands-on workshop on Hermes (Nous Research’s open-source autonomous agent framework) for the Google Developer Group Singapore monthly meetup, held Wednesday 23 Sep 2026 at Google Developer Space, Singapore (6:30-9:00 PM GMT+8, main programme from 7:00 PM). Attendees left with their own agent running on their machine, wired to Google AI Studio for the model and to Gmail / Calendar / Drive through a Google Cloud project they created themselves, producing a daily briefing and email triage skill.

I wrote the curriculum, the slide deck and the presenter script, ran the intro and the 30-minute hands-on segment, and coordinated a four-person speaker line-up (a Google DeepMind DevRel speaker, a Google product lead, an external guest builder, and me).

Event Facts

Event GDG Monthly Meetup #2609, organised by Google Developer Group Singapore
Date / time Wed 23 Sep 2026, 6:30-9:00 PM (GMT+8); programme starts 7:00 PM
Venue Google Developer Space, Singapore (registration Block 80, level 2; check-in closes 7:15 PM)
Format ~2.5 hour evening: two talks, one demo, one hands-on lab, one guest demo, group photo
Expected audience ~150 (planning range 150-300 in the proposal)
Actual attendance ~175 (about 200 registered), per Ray, 2026-10-21
My role Lead / curriculum owner; speaker for Intro (Hermes) and Hands-on Setup
Co-organiser Joshua Tan, GDG Singapore
Deck Hermes Workshop Slides (1).pdf, 123 pages (about 100 of them the working deck; the rest is the template appendix)

Learning Outcomes

  1. What Hermes actually is, and how it differs from a chat wrapper.
  2. Why wiring an agent into Google’s managed layer (AI Studio, Cloud Run, managed MCP servers) is worth doing for personal builds, not only for enterprises later.
  3. Hands-on: an agent reading the attendee’s real calendar and inbox, built by them within about an hour.

Run of Show (as presented)

Time Segment Speaker
6:50 PM Welcome remarks (venue rules, GDG SG, Tech for Good highlights, upcoming events, community QR codes) Joshua Tan
7:00 PM Google Ecosystem & Harnesses Gabby Ong (Developer Experience, Google DeepMind)
7:10 PM Introduction to Hermes Ray Shao
7:40 PM Agent Demo and Tools Introduction (“The Headless Web”) a Google speaker
8:00 PM Hands-on Set up Ray Shao
8:30 PM nBits Labs demo a guest from nBits Labs
~9:00 PM Wrap-up, Q&A, group photo, stick-around All

The first draft had a simple 30-minute grid starting at 7:00 (intro / demo / hands-on / nBits / wrap-up). The final agenda inserted welcome remarks and a DeepMind ecosystem talk, so my intro moved to 7:10 and hands-on to 8:00.

Deck Structure

Content Detail

01 Intro (Ray Shao)

What is Hermes. An AI agent from Nous Research (released Feb 2026, one of the fastest-growing open-source projects of the year) that uses tools (browser, terminal, email, Telegram, Notion) to finish multi-step tasks on its own instead of telling you what to do. Examples on the slide: read an email, draft a reply and send it after approval via Telegram; pull info from Notion, cross-check a webpage and update a doc; run a terminal command, check the output and fix an error unaided.

What sets it apart. Three things separate it from a chat wrapper built in an afternoon:

  1. Persistent memory and self-authored skills: it does not start from zero every session and improves on your specific workflows.
  2. Native MCP support: the protocol that lets an agent plug into real tools rather than just talk; runs on 6 execution backends including serverless.
  3. Messaging integrations: lives inside Telegram, Discord, Slack, WhatsApp or email, not just a terminal.

How it’s built. Interface layer (wherever you already work), core (persistent memory and self-authored skills), MCP protocol layer (real tools).

Comparison. Framed as “none of these is strictly better, they serve different builders”:

Gemini Spark OpenClaw Hermes Agent
Tagline Works while you sleep, as long as you live in Google Quick to start, hard to trust An agent you can see into and shape
Strengths Keeps working when your laptop is off; great if your day runs on Gmail, Docs, Calendar; included in the $20 Google AI Pro plan Up and running fast; remembers past conversations instantly Remembers past conversations; improves by turning repeated tasks into reusable skills; runs on your own hardware or any model you choose so data stays yours; keeps passwords and keys out of reach of the code it writes
Trade-offs Much less useful outside Google; you use the model Google picks Hard to tell what it is doing; can act on your machine without checking; slow memory writes (nearly 20 s); hard to debug You set it up and run it yourself

Why this matters. Two numbers: Gartner expects 40% of enterprise applications to embed task-specific agents by 2026, up from almost nothing a year earlier; and at Cloud Next this year Google made 50+ managed MCP servers generally available or in preview, covering nearly every Google Cloud service (already shipped, not a roadmap).

Two ways to run it. On your own device (VM, homelab, always-on machine) or on a cloud instance wired to a Google-managed MCP server, with zero infrastructure to stand up or patch yourself. Gemma 4 (Apache 2.0) was the local-model story.

02 The Headless Web (Google speaker)

03 Hands-on Session (Ray Shao)

Before we begin. LLM keys primarily from Google AI Studio (alternatives: OpenRouter, local LLM via LM Studio, other compatible endpoints). Run Hermes in a VM, strongly recommended, with no root/admin permissions to contain the blast radius (macOS: UTM, Windows: VirtualBox, other: cloud instance). Spare hardware (cheap mini PC, old laptop, spare PC) with Proxmox as a suggested hypervisor. Quick links: Hermes GitHub, AI Studio, Cloud Console.

Setup flow (what attendees actually did).

  1. Install: open a terminal, copy the install commands from the Hermes GitHub repo, run them and approve prompts.
  2. Cloud endpoint: in AI Studio sign in, open API Keys, create a key against a project, copy it.
  3. Local endpoint (optional): LM Studio Local Server, load a model with OpenAI-compatible mode, enable the network server (and CORS in non-bridge VMs such as WSL/UTM), copy the address and model ID into Hermes as a custom endpoint, verify with curl if the model list is empty. Performance bar: about 30 tokens/s at 64k+ context, otherwise switch to a cloud endpoint.
  4. Hermes setup wizard: exit the mode-selection page, choose the provider (AI Studio) and paste the key, choose a Flash Lite model for the best rate limits and set effort, take the default terminal backend, optionally connect Telegram (“connect this bot”), skip image, speech and search for now. Start with hermes chat; reconfigure with hermes setup.
  5. Skill objective: a Google Workspace MCP skill for a daily briefing and email triage. Attendees prompted the agent to guide them (for example: create an email triage skill using Google Workspace MCP with a Google Cloud project, give me a daily briefing at a time I choose, ask questions to understand my needs).
  6. Google Cloud project: create a project, select your own org for billing (nothing charged), open “explore and enable APIs”.
  7. Enable APIs: Gmail, Google Calendar, Google Drive, Google Sheets, Google Docs, People (contacts).
  8. OAuth consent screen: app name and support email, External audience with test users added, developer contact, agree to policy, create.
  9. OAuth client: type Desktop app, download the client ID JSON, paste it into the Hermes chat (fall back to another Flash model if rate-limited).
  10. Authorize: follow the link Hermes prints, choose permissions and Allow, copy the URL from the resulting empty page (it contains the auth code), paste it back into Hermes.
  11. First result: ask for a briefing. Schedule it as a recurring cron job by asking Hermes. hermes dashboard launches the web UI. Use --help when unsure.

The demo prompt. “What’s actually on my plate this week? Check my calendar, flag anything urgent in my unread email, and pull up any docs that look relevant to what’s coming up.”

Local model guidance (slides 66-67). LM Studio (low complexity, slower tokens/s), llama.cpp (medium, medium tokens/s), vLLM (high complexity, high concurrency and total throughput). Picks by VRAM at 64k context: 6 GB Qwen3.5-4B / Gemma 4 E4B; 8 GB Qwen3.5-9B Q4; 12 GB Qwen3.5-9B Q6_K / Gemma 4 12B; 16 GB Gemma 4 12B Q6_K / Qwen3.5-9B Q8, with 128k context options via a Q4 KV cache or CPU-offloaded experts (Gemma 4 26B-A4B). Prefer quantised models for the VRAM saving at similar quality.

Safety note said aloud. Hermes asks for confirmation before it sends, edits or deletes anything, and the exercise only reads data. Use a personal Gmail (managed Workspace accounts often block third-party OAuth by admin policy, silently), and expect a “Google hasn’t verified this app” screen for your own OAuth client.

04 nBits Labs (guest from nBits Labs)

Yellowdex, an address-intelligence dataset and agent stack built by a two-person team at nBits Labs (15.8M labelled addresses, 10 networks, 55 indexer specs). Agents write deterministic indexer specs from one example transaction and open a reviewed pull request; no model runs in production; a human merges. Tracer is an investigation agent with about 40 read-only tools that cites tool calls for every answer. The segment ended with adding the Yellowdex MCP server (endpoint plus bearer key) to the Hermes each attendee had just built, and three use cases: fact-checking Telegram news alerts, watching treasuries and Safe signers, and tax records separating self-transfers from disposals, with the point that personal data stays on the attendee’s machine and the provider only sees addresses. Live demo page: a QR scan yielded a temporary key to add to Hermes.

05 Wrap-up (Ray Shao)

What I Owned

Design Decisions

Deviations from Plan

All projectsBack to top