核心用法
MS Outlook + Teams Assistant 是一款面向 Windows 用户的桌面级效率工具,通过直接调用 Outlook COM 接口实现本地化邮件管理。核心功能分为三大模块:
1. 智能监控与提醒
- 扫描过去 7 天(可配置)的 Outlook 收件箱,基于启发式算法识别需要回复的邮件:优先处理"收件人"字段包含用户的邮件、过滤广播邮件、检测主题/正文中的直接请求
- 可选通过 Microsoft Graph API 监控 Teams 私信提及(1:1 聊天)和群组中被@的消息
- 生成 Telegram 格式的待办提醒,支持一键忽略或延后处理
2. 邮件回复草稿生成
- 基于现有邮件线程自动生成两种长度的回复建议:简短版(2-5句)和标准版(5-10句)
- 严格遵循用户预设的写作风格: conversational(对话式)、spartan(简洁)、避免行话、禁用长破折号
- 在 Outlook 中创建草稿(不自动发送),或输出到 Telegram 供用户审阅
3. 状态管理
- 本地 JSON 状态文件跟踪已忽略/延后的项目,防止重复提醒
- 支持通过邮件
internetMessageId或主题+时间戳作为唯一标识
显著优点
- 零依赖网页版:直接操控 Outlook 桌面客户端,绕过企业环境下网页版访问限制
- 本地优先架构:邮件内容不经过第三方云服务,敏感数据驻留本地
- 可配置启发式规则:用户可自定义"需要回复"的判定标准
- 双模式提醒:Telegram 为默认安全通道,Teams 发送需显式开启
- 符合企业合规:不自动发送任何消息,所有输出均为草稿或待确认状态
潜在局限
- Windows 独占:依赖
pywin32和 Outlook COM 自动化,macOS/移动端无法使用 - Teams 功能受限:需 Entra ID 应用注册,且受租户策略约束;部分企业可能禁用 Graph 权限
- 邮件线程解析局限:"最佳努力"提取历史内容,复杂嵌套回复可能上下文丢失
- 状态文件无加密:本地
dismissed列表以明文 JSON 存储,多用户机器存在隐私风险 - 网络条件依赖:Teams Graph 首次需设备码登录,过期后需重新授权
适合人群
- 企业环境中强制使用 Outlook 桌面版、无法使用网页邮箱的 Windows 用户
- 日均邮件量 50-200 封、需外部系统辅助优先级判断的知识工作者
- 对 Teams 消息响应延迟敏感、希望集中管理 Outlook+Teams 待办的管理者
- 重视数据本地化处理、不愿将邮件内容同步至云端 AI 服务的隐私敏感用户
常规风险
| 风险类别 | 具体表现 | 缓解措施 |
|---------|---------|---------|
| 自动化误伤 | 启发式规则误判广播邮件为需回复 | 定期审核 `config.json` 中的排除发件人列表 |
| 权限扩散 | Teams Graph 权限范围过宽 | 严格遵循最小权限原则,仅申请 `ChatMessage.Read` |
| 凭证泄露 | `config.json` 包含 clientId/tenantId | 绝对禁止提交至版本控制,使用 `.gitignore` 保护 |
| 提醒疲劳 | 高频扫描导致 Telegram 消息轰炸 | 调整 `--days` 和 `--max-items` 参数,善用 snooze 功能 |
| 合规边界 | 某些企业视 COM 自动化为"非标准访问" | 使用前咨询 IT 安全团队,确认符合终端安全策略 |