teams-hermes-agent
Set up a Microsoft Teams/Microsoft 365 Teams SDK bot that bridges Teams chat to a Nous Research Hermes Agent HTTP API.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Set up a Microsoft Teams/Microsoft 365 Teams SDK bot that bridges Teams chat to a Nous Research Hermes Agent HTTP API.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Deploy a randomized local Docker Hermes agent with Ollama Cloud and SearXNG.
Deploy OpenClaw gateway instances on Kubernetes with SearXNG as the web search provider. Use when the user wants to (1) Deploy a new OpenClaw instance, (2) Configure or verify SearXNG search integration, (3) Generate OpenClaw configuration files, (4) Set up K8s manifests for OpenClaw + SearXNG, or (5) Troubleshoot search provider connectivity in an OpenClaw deployment.
Manage and inspect Shrubnet's n8n automation server via the n8n Public API. Use when the user asks about n8n workflows, executions, credentials metadata, tags, users, webhook automation, debugging workflow runs, activating/deactivating workflows, creating/updating workflows, or checking the n8n server at n8n.cluster.shrubnet.com. Stores API credentials in the skill folder .env, never in SKILL.md.
Manage DNS records on Cloudflare via the Cloudflare MCP server or Cloudflare API v4. Use this skill whenever the user wants to view, create, update, or delete DNS records for a domain managed by Cloudflare, or when redirecting a domain on Cloudflare to a hosting provider (such as Netlify, DigitalOcean, Vercel, or any origin server). Triggers include any mention of "Cloudflare DNS", "Cloudflare", "CF DNS", "orange cloud", "proxied", "CNAME flattening", or general DNS management terms like "DNS records", "A record", "CNAME", "point domain to" when the domain is known to be on Cloudflare. Also triggers when another skill (like netlify-landing-page-deploy or digitalocean-management) needs DNS records updated on a Cloudflare-managed domain. This skill handles listing zones, reading existing records, creating/updating/deleting individual records, batch operations, and managing Cloudflare-specific features like proxy status (orange/grey cloud). It does NOT handle Cloudflare Workers, Pages, R2, WAF, or other non-DNS
Control the Raspberry Pi (LXDE) desktop via PyAutoGUI MCP. Implements a screenshot-reason-act-verify loop: take a screenshot, analyze what is visible, determine where to click or type, act, then immediately screenshot again to assess the result before proceeding. Use when the user asks to click, type, automate, or interact with any Linux GUI.
Control the Ubuntu/GNOME desktop on Wayland. Take screenshots, move mouse, click, and type. Uses ydotool for input simulation and GNOME Screencast service for screenshots (Wayland-compatible). Requires: ydotool, python3-dbus, wl-clipboard installed. IMPORTANT: Must run from the graphical session (SSH sessions need the wrapper).
| name | teams-hermes-agent |
| description | Set up a Microsoft Teams/Microsoft 365 Teams SDK bot that bridges Teams chat to a Nous Research Hermes Agent HTTP API. |
Use this skill when asked to connect a Nous Research Hermes Agent to Microsoft Teams or Microsoft 365 Teams chat.
Prefer the current Microsoft Teams SDK and Teams Developer CLI path:
@microsoft/teams.cli@preview for registration, app manifest, credentials, and sideload link.POST ${HERMES_BASE_URL}/v1/chat/completionsRead references/microsoft-teams-sources.md before making architecture decisions, tenant-registration choices, or claims about current Microsoft guidance.
.env, app packages containing secrets, or generated credentials..env.example for placeholders only.node --version
npm --version
npm install -g @microsoft/teams.cli@preview
teams --version
teams login
teams status
teams status must show sideloading/custom app upload enabled. If not, stop and ask the tenant admin to enable custom app upload.
curl -sS "${HERMES_BASE_URL:-http://127.0.0.1:8643}/health"
If Hermes requires an API key, load it from HERMES_API_KEY and do not print it.
skills/teams-hermes-agent/scripts/create-teams-hermes-bridge.sh ./teams-hermes-bridge
cd ./teams-hermes-bridge
cp .env.example .env
Fill .env locally:
PORT=3978
HERMES_BASE_URL=http://127.0.0.1:8643
HERMES_API_KEY=...
HERMES_MODEL=glm-5.2:cloud
devtunnel host -p 3978 --allow-anonymous
# or
ngrok http 3978
teams app create \
--name hermes-agent \
--endpoint https://<tunnel-host>/api/messages \
--env .env
The CLI writes Teams credentials to .env and prints the Teams App ID plus install link.
npm install
npm run dev
teams app get <teamsAppId> --install-link
Open the install link in a browser signed in to Teams, add the app, and send a test message.
HERMES_API_KEY returns a controlled bridge error, not a stack trace to Teams./api/messages.tenantId plus userId, channelId, or teamId; do not try to send proactive Teams messages by email or UPN.teams status shows sideloading disabled: tenant admin must enable custom app upload./api/messages..env do not match the registered app, or the server is not running on PORT.401: HERMES_API_KEY is absent or wrong.403: bot is not installed for that scope, or the user blocked/uninstalled it.