核心用法
mog 是一款面向 Microsoft 365 生态的命令行工具,支持 9 大模块:Mail、Calendar、OneDrive、Contacts、Tasks、Word、PowerPoint、Excel、OneNote。采用统一的 OAuth 认证体系,通过 8 字符 slug 简化冗长的微软 GUID,支持管道操作和脚本自动化。
典型工作流:
- 邮件:搜索、发送(支持 Markdown/HTML/文件管道)、管理附件
- 日程:创建会议、查询空闲时间、ACL 权限管理
- 网盘:完整的文件操作(ls/upload/download/mkdir/move 等)
- 办公文档:Excel 单元格级读写、OneNote 笔记本管理、Word/PPT 批量导出
显著优点
1. 统一体验:与 gog(Google Ops Gadget)设计一致,跨云切换零成本
2. slug 系统:将微软 100+ 字符的 GUID 压缩为 8 位可读标识,命令行友好
3. 管道原生:cat draft.txt | mog mail send 支持标准 Unix 管道
4. 多格式支持:邮件正文支持纯文本、Markdown、HTML 三种模式
5. 企业级覆盖:包含目录查询(contacts directory)、空闲时间查询(freebusy)等商务场景
潜在局限
- OAuth 依赖:需预先配置 Microsoft Graph API 权限,企业租户可能需要管理员审批
- 功能边界:Excel 仅支持基础单元格操作,复杂公式/图表需借助原生工具
- 平台锁定:专属于 Microsoft 365,不支持本地 Office 或其他云服务
- 令牌持久化:虽采用 OS 级加密(0600 权限),但本地存储仍存在潜在泄露面
适合人群
- DevOps/SRE 工程师:自动化报告发送、日程编排
- 企业管理员:批量用户目录查询、权限审计
- 开发者:将 Office 文档操作集成到 CI/CD 或内部工具链
- 重度 CLI 用户:厌倦了 Outlook Web 界面的效率追求者
常规风险
- 权限过大:默认申请 Mail.ReadWrite、Calendars.ReadWrite 等广泛权限,需按需最小化
- 令牌泄露:
tokens.json若被窃取可导致完整邮箱/网盘访问 - 误操作:
mog tasks clear、mog drive rm等命令无二次确认,脚本中需谨慎 - API 限流:Microsoft Graph 存在调用配额,高频自动化需处理 429 错误