慣性聚合 高效追蹤和閱讀你感興趣的部落格、新聞、科技資訊
閱讀原文 在慣性聚合中打開

推薦訂閱源

博客园 - 司徒正美
V
V2EX
T
Tailwind CSS Blog
有赞技术团队
有赞技术团队
aimingoo的专栏
aimingoo的专栏
Apple Machine Learning Research
Apple Machine Learning Research
IT之家
IT之家
Blog — PlanetScale
Blog — PlanetScale
A
About on SuperTechFans
月光博客
月光博客
T
The Blog of Author Tim Ferriss
宝玉的分享
宝玉的分享
Martin Fowler
Martin Fowler
博客园 - 聂微东
The GitHub Blog
The GitHub Blog
V
Visual Studio Blog
WordPress大学
WordPress大学
酷 壳 – CoolShell
酷 壳 – CoolShell
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI

博客园 - iTech

7万星的AI交易框架:让大模型模拟投行多空辩论,自动做交易决策 71000颗星的AI交易团队:让大模型模拟投行分工,自动做交易决策 13400颗星的开源项目:输入一句话,AI全自动帮你做短视频 102颗星的沙盒:当AI学会自己写代码、跑测试、做部署 AI 技术日报 - 2026-05-08 29k 星的 PageIndex:不用向量数据库,靠推理就能做 RAG 每天花两小时刷信息?这个开源项目帮你全自动搞定 读源码像读小说?试了 DeepWiki 和 Zread,我再也不想裸读 GitHub 了 Matt Pocock 开源的这套 .claude 技能,为什么让工程师集体上头? Cursor Team Kit:Cursor 官方团队在用的 17 个 AI 工作流 AI 技术日报 - 2026-05-07 AI 技术日报 - 2026-05-06 - iTech AI 技术日报 - 2026-05-05 Anthropic CEO 说 12 个月内程序员要失业,我扒完他的底牌,发现事情没那么简单 把工程师的肌肉记忆装进 Claude Code,这个 4300 Star 的项目我后悔没早用 AI 技术日报 - 2026-05-04 AI 技术日报 - 2026-05-03 AI 技术日报 - 2026-05-02 六大 Agent 框架横评:谁支持 Skills?谁能自动创建 Agent?MCP 呢? Wechatsync:一个 Chrome 插件,一键把文章同步到 31 个平台 LangChain 开源了 Open SWE:Stripe、Ramp、Coinbase 内部都在造的编程 Agent Cockpit:把 Claude Code 从终端里搬出来,装进浏览器 Cursor 把自家的 AI Agent 开放了:写几行 TypeScript 就能调 Cursor 干活 AI 技术日报 - 2026-05-01 AI 写代码每次结果都不一样?Archon 用 YAML 工作流把 AI 编程变成流水线 AI 写代码比你快了,但你还是得学编程——只不过学法得换 腾讯的龙虾特工队:4 个 AI Agent 同日更新,全家桶正式成型 Agno 不做更聪明的 Agent,它要把所有 Agent 框架包进同一个操作系统 Hermes Agent 终于有了像样的 Web 界面,而且还支持远程访问 Datawhale 出了一套 29 学科知识地图,把 AI 的底牌全掀了 Hermes Agent 在聊天框里就能用的 20 种高级功能 一份 AGENTS.md 能顶一次模型升级?Augment Code 用数据说了算 NVIDIA 开源了一个「AI 沙箱」,20K Star,让 Agent 跑代码不再裸奔 60ms 冷启动、5MB 内存:腾讯开源的这个沙箱让 Docker 安全隔离像笑话 AI 技术日报 - 2026-04-30 AI 技术日报 - 2026-04-29 AI 技术日报 - 2026-04-28 Goose:Linux 基金会亲儿子,能撼动 Claude Code 和 OpenCode 吗? AI 技术日报 - 2026-04-27 AI 技术日报 - 2026-04-26 Google 把价值20美元/月的东西免费了,102K人已经抢到了 OpenClaw 和 Claude Code 网络搜索配置指南 AI 技术日报 - 2026-04-25 Anthropic 为什么遥遥领先:从 Cat Wu 专访看AI霸主的底层逻辑 Mac 本地跑大模型完全指南:你的苹果电脑就是 AI 工作站 同样 70B 参数,为什么 MoE 只激活 13B 就能打平 Dense? DeepSeek-V4 技术报告里藏着一条线:华为昇腾 NPU 已完成推理验证 DeepSeek-V4 深夜炸场:1M 上下文、384K 输出、双模型,API 定价直接卷到底 MacBook Air 跑大模型实测:Ollama、llama.cpp、LM Studio 谁才是本地推理之王? AI 技术日报 - 2026-04-24
Hermes Agent 接入 Microsoft Teams 全指南:6 步讓你的 AI Agent 進群聊
iTech · 2026-05-24 · via 博客园 - iTech

Hermes Agent(GitHub 164k star)不只是終端裡的編碼助手。通過它的消息網關,Agent 可以接入 24 個消息平臺——Telegram、Discord、Slack、微信、飛書、釘釘、Microsoft Teams 等。你在一個平臺上配置好的 Agent 能力(Skills、工具調用、審批流程),在所有平臺上通用。

這篇聚焦 Microsoft Teams 的接入方法:6 步讓你的 AI Agent 機器人出現在 Teams 群聊裡。

這篇文章涵蓋什麼

  • Hermes Agent + Teams 的架構
  • 6 步接入流程
  • 交互式審批卡片
  • 會議紀要自動推送
  • 生產環境部署
  • 安全配置

架構

Teams 群聊 ←── HTTPS Webhook ──→ Hermes Gateway (端口 3978) ←──→ Agent + LLM

和 Slack 的 Socket Mode 不同,Teams 通過公共 HTTPS Webhook 推送消息。你的 Hermes 實例需要一個公網可達的端點——本地開發用隧道工具,生產環境用真實域名。

消息觸發規則

場景 行為
私聊(1:1) 每條消息都觸發 Agent 回覆,不需要 @
群聊(Group Chat) 只有 @機器人 時才回復
頻道(Channel) 只有 @機器人 時才回復

Teams 把 @mention 作為 <at>BotName</at> 標籤傳遞,Hermes 自動剝離後處理。

6 步接入

第 1 步:安裝 Teams CLI

Microsoft 的 @microsoft/teams.cli 自動化 Bot 註冊,不需要 Azure Portal:

npm install -g @microsoft/teams.cli@preview
teams login

驗證登錄並獲取你的 AAD Object ID(後面配置白名單要用):

teams status --verbose

第 2 步:暴露 Webhook 端口

Teams 不能向 localhost 推送消息。本地開發需要隧道工具:

# Microsoft devtunnel(推薦,URL 持久)
devtunnel create hermes-bot --allow-anonymous
devtunnel port create hermes-bot -p 3978 --protocol https
devtunnel host hermes-bot

# 或 ngrok
ngrok http 3978

# 或 cloudflared
cloudflared tunnel --url http://localhost:3978

記下輸出的 https:// URL,下一步要用。開發期間保持隧道運行。

第 3 步:創建 Bot

teams app create \
  --name "Hermes" \
  --endpoint "https://<your-tunnel-url>/api/messages"

CLI 輸出 CLIENT_IDCLIENT_SECRETTENANT_ID立即保存 Client Secret——不會再顯示第二次。

第 4 步:配置環境變量

添加到 ~/.hermes/.env

# 必填
TEAMS_CLIENT_ID=<your-client-id>
TEAMS_CLIENT_SECRET=<your-client-secret>
TEAMS_TENANT_ID=<your-tenant-id>

# 限制訪問用戶(強烈建議)
# 用 teams status --verbose 獲取 AAD Object ID
TEAMS_ALLOWED_USERS=<your-aad-object-id>

也可以用 config.yaml 配置:

platforms:
  teams:
    enabled: true
    extra:
      client_id: "your-client-id"
      client_secret: "your-secret"
      tenant_id: "your-tenant-id"
      port: 3978

第 5 步:啟動網關

HERMES_UID=$(id -u) HERMES_GID=$(id -g) docker compose up -d gateway

驗證是否運行:

curl http://localhost:3978/health
# 應返回: ok

docker logs -f hermes
# 看到: [teams] Webhook server listening on 0.0.0.0:3978/api/messages

第 6 步:在 Teams 中安裝應用

teams app get <teamsAppId> --install-link

打開輸出的鏈接,在 Teams 客戶端中安裝。安裝完成後給機器人發一條消息——它已經就緒了。

交互式審批卡片

這是 Teams 集成最實用的功能之一。當 Agent 需要執行危險命令(刪除文件、執行 shell 命令等),它不會讓你手動輸入 /approve,而是發送一張 Adaptive Card,帶 4 個按鈕:

按鈕 行為
Allow Once 批准這一次特定命令
Allow Session 本會話內自動批准同類命令
Always Allow 永久批准該模式
Deny 拒絕執行

點擊按鈕後,卡片立即更新為審批決定,Agent 繼續執行或停止。

會議紀要自動推送

Hermes Agent 的 Teams 集成不僅支持聊天,還能自動推送會議紀要。開啟 Teams Meeting Pipeline 插件後,會議結束後自動生成紀要並推送到指定 Teams 頻道或聊天。

兩種推送模式:

模式 適用場景 限制
incoming_webhook 簡單推送到頻道 不支持線程、沒有回覆功能
graph 以 Bot 身份發帖,支持線程 需要 Microsoft Graph 權限

graph 模式配置:

platforms:
  teams:
    enabled: true
    extra:
      client_id: "..."
      client_secret: "..."
      tenant_id: "..."
      delivery_mode: "graph"
      chat_id: "19:meeting_..."    # 推送到聊天
      # 或
      # team_id: "..."
      # channel_id: "..."          # 推送到頻道

生產環境部署

本地開發用隧道,生產環境用真實域名:

# 創建 Bot 時直接用生產域名
teams app create \
  --name "Hermes" \
  --endpoint "https://your-domain.com/api/messages"

# 已有 Bot 更新端點
teams app update --id <teamsAppId> --endpoint "https://your-domain.com/api/messages"

要求:
- 端口 3978(或 TEAMS_PORT 指定的端口)可從公網訪問
- TLS 證書有效(Teams 拒絕自簽名證書)

安全配置

⚠️ 必須設置 TEAMS_ALLOWED_USERS,否則任何能找到或安裝你的 Bot 的人都可以與它交互。

安全最佳實踐:

  • TEAMS_ALLOWED_USERS 填入授權用戶的 AAD Object ID,未授權消息靜默丟棄
  • TEAMS_CLIENT_SECRET 當作密碼對待,定期輪換
  • ~/.hermes/.env 文件權限設為 600chmod 600 ~/.hermes/.env
  • 公開端點 /api/messages 由 Teams Bot Framework 認證——沒有有效 JWT 的請求會被拒絕

配置參考

變量 說明
TEAMS_CLIENT_ID Azure AD App(客戶端)ID
TEAMS_CLIENT_SECRET Azure AD 客戶端密鑰
TEAMS_TENANT_ID Azure AD 租戶 ID
TEAMS_ALLOWED_USERS 逗號分隔的 AAD Object ID 白名單
TEAMS_ALLOW_ALL_USERS true 跳過白名單(不推薦)
TEAMS_HOME_CHANNEL 定時/主動消息的對話 ID
TEAMS_PORT Webhook 端口(默認 3978)

常見問題

問題 解決方案
health 端點正常但 Bot 不響應 檢查隧道是否仍在運行,Bot 端點是否匹配隧道 URL
KeyError: 'teams' 日誌錯誤 重啟容器
認證錯誤 驗證 CLIENT_ID、CLIENT_SECRET、TENANT_ID
Bot 收到消息但忽略 AAD Object ID 不在 ALLOWED_USERS 中
隧道 URL 重啟後變化 devtunnel 用命名隧道 URL 持久;ngrok 免費版每次變,需用 teams app update 更新
No inference provider configured 檢查 ANTHROPIC_API_KEY(或其他 LLM key)已配置

Hermes Agent 支持的 24 個消息平臺

Teams 只是其中之一。Hermes Agent 同時支持:

Telegram、Discord、Slack、WhatsApp、Signal、Email、SMS(Twilio)、Home Assistant、Mattermost、Matrix、釘釘、飛書/Lark、企業微信、企業微信回調、微信、iMessage(BlueBubbles)、QQ Bot、元寶、Microsoft Teams、Teams Meetings、LINE、SimpleX Chat、ntfy、Open WebUI、Webhooks。

同一個 Agent,一套 Skills 和工具配置,全部平臺通用。


作者: itech001
來源: 公眾號:AI人工智能時代
網站: https://www.theaiera.cn/
每日分享最前沿的AI新聞資訊和技術研究。

本文首發於 AI人工智能時代,轉載請註明出處。