基于 Playwright 浏览器自动化操作 Outlook 日历与邮件,无需 Azure 注册即可快速管理 M365 日程和通信
说明:
## 核心用法
Clippy 是一款命令行工具,通过 Playwright 浏览器自动化直接操作 Microsoft 365 Web 界面,实现 Outlook 日历和邮件的完整管理。核心工作流包括:
1. **身份认证**:使用 `clippy login –interactive` 启动浏览器完成登录,无需 Azure AD 应用注册;配合 `clippy keepalive` 后台维持会话活跃
2. **日历管理**:支持查看日程(日/周视图)、创建/更新/删除事件、响应会议邀请、查找可用会议时间、自动预订会议室
3. **邮件处理**:收件箱浏览与搜索、发送/回复/转发邮件、附件下载、邮件标记与归档
4. **组织查询**:人员与会议室搜索
所有命令支持 `–json` 输出便于脚本集成。
## 显著优点
– **零配置门槛**:绕过 Graph API 的复杂 OAuth 流程,个人用户无需管理员审批即可使用
– **功能完整度高**:覆盖日历 CRUD、循环事件、Teams 会议链接生成、会议室查找等高级场景
– **自动化友好**:JSON 输出、事件编号引用、附件批量下载,适合 CLI 工作流整合
– **跨平台支持**:Bun 运行时,支持 macOS/Linux/Windows
## 潜在缺点与局限性
– **可靠性风险**:依赖 Web UI 选择器,Microsoft 界面更新可能导致功能失效
– **性能瓶颈**:浏览器自动化比 API 调用慢 10-100 倍,不适合高频批量操作
– **会话脆弱性**:keepalive 机制需要常驻进程,终端重启或网络波动易导致认证失效
– **安全合规隐患**:工具需存储浏览器 Cookie/本地存储,企业环境下可能违反安全策略
– **功能边界**:无法访问邮件规则、高级搜索筛选、委托日历等 API 原生功能
## 适合人群
– 个人开发者/技术用户需要快速脚本化 Outlook 操作,但无管理员权限配置 Graph API
– 小型团队寻求轻量级日历邮件自动化,对稳定性要求不苛刻
– 临时性任务场景(批量发送通知、会议排期辅助)
## 常规风险
– **账户安全**:浏览器配置文件包含有效会话凭证,若 `~/.config/clippy` 目录权限不当或备份泄露,可导致账户劫持
– **数据泄露**:Playwright 可能将页面内容(含敏感邮件)缓存至本地
– **服务条款**:违反 Microsoft 服务条款中关于自动化的规定,存在账户限制风险
– **操作失误**:CLI 的事件编号引用模式在并发场景下易出现误删/误改








