Agent Teams

💬 AI 代理无缝操控 Teams 的自动化桥梁

通过本地 Teams 桌面应用自动提取 Token,实现 AI 代理与 Microsoft Teams 的双向交互,支持消息发送、频道读取、表情管理及文件上传。

收藏
4.9k
安装
1.3k
版本
1.10.5
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

Agent Teams 是一款 TypeScript CLI 工具,专为 AI 代理与人类协作设计,打通 Microsoft Teams 的自动化操作。核心能力包括:

  • 零配置认证:首次使用时自动从本地 Teams 桌面应用提取 Token(存储于 ~/.config/agent-messenger/teams-credentials.json),无需手动登录或浏览器操作
  • 消息操作:发送、读取、删除消息,支持频道历史回溯与消息检索
  • 频道与团队管理:列出现有频道/团队、切换活跃团队、获取成员列表
  • 反应与文件:添加/移除消息表情反应,上传文件至频道
  • 快照模式:一键导出完整团队状态(频道、成员、近期消息)为 JSON,便于 AI 代理快速建立上下文
  • 多账户支持:Work/Personal 账户切换,支持单命令指定账户

Memory 机制:通过 ~/.config/agent-messenger/MEMORY.md 持久化存储 Team ID、Channel ID、用户别名等,避免重复查询。

显著优点

1. 自动化 Token 管理:60-90 分钟 Token 过期后自动刷新,无需人工干预
2. AI 原生设计:默认 JSON 输出,支持 --pretty 人类可读模式,适配自动化工作流

3. 本地安全存储:凭证文件权限 0600,Token 不暴露在环境变量或代码中

4. 轻量无侵入:仅读取 Teams 桌面应用本地 SQLite/Cookies,不修改应用行为

潜在缺点与局限性

  • 无实时事件:缺乏 WebSocket,无法主动推送消息(需轮询)
  • 功能边界:不支持语音/视频频道、会议管理、Webhook、自适应卡片(Adaptive Cards)
  • Token 依赖:必须保持 Teams 桌面应用登录状态,若应用退出或会话过期需重新登录
  • 平台限制:仅支持 Windows/macOS(依赖本地 Teams 应用),无 Linux 原生方案
  • 纯文本消息:v1 版本不支持富媒体消息格式

适合人群

  • 需将 Teams 集成至自动化工作流的开发者/DevOps 工程师
  • 使用 AI 代理(如 Claude、GPT)辅助团队协作的高级用户
  • 需批量操作 Teams 消息/文件的系统管理员
  • 希望减少重复性 Teams 操作(如定时发送报告)的办公自动化用户

常规风险

| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| **Token 泄露** | 本地凭证文件若被恶意程序读取,可 impersonate 用户发送消息 | 确保 `~/.config/agent-messenger/` 目录权限严格,定期审计文件访问日志 |
| **会话过期** | Teams 桌面应用登出后 Token 失效,导致自动化任务中断 | 监控 `auth status`,设置失败重试与人工告警机制 |
| **误操作广播** | AI 代理可能误发消息至错误频道(尤其多团队场景) | 强制使用 Channel ID(非名称),关键操作前要求人工确认 |
| **Rate Limiting** | 高频调用可能触发 Microsoft Graph API 限制 | 合理设置轮询间隔,使用 `snapshot` 减少重复查询 |
| **Memory 污染** | `MEMORY.md` 中的过期 ID 可能导致操作失败或信息泄露 | 定期验证 ID 有效性,错误时自动清理 |

架构安全评估

该工具采用本地凭证提取 + 用户 Token 调用 Graph API 的架构,不涉及 OAuth App 或第三方服务中转,数据流完全本地闭环。相比传统「浏览器模拟登录」方案,减少了中间人攻击面,但仍依赖 Teams 桌面应用的安全状态。

Agent Teams 内容

references文件夹
templates文件夹
手动下载zip · 20.0 kB
authentication.mdtext/markdown
请选择文件