乐于分享
好东西不私藏

让AI帮你管日程:WorkBuddy连接Outlook日历的完整实战指南

让AI帮你管日程:WorkBuddy连接Outlook日历的完整实战指南

你有没有经历过这样的时刻——

正在跟客户打电话,对方突然说"那我们下周三下午两点再聊",你一边“嗯,嗯,嗯”地应着,一边在心里疯狂记时间,挂了电话才发现忘了写进日历。

或者更惨的,明明在日历里建了会议,但因为时区搞错了,结果会议时间差了两个小时。

日程管理这件事,看起来简单,做起来没那容易

今天这篇文章,我把整个配置AI过程——从零到能用的每一步——完整记录下来。你跟着做,45分钟内就能让AI帮你管日历。

为什么AI管日历比你自己管更好?

先说结论:不是AI比你聪明,而是AI不会忘。

人类管理日程有三个致命弱点:

第一,忘记记录。 口头约定的事情,10件里有3件不会出现在日历上。

第二,切换成本高。 你正在写邮件,突然想到要建个日程,得切换到Outlook,新建事件,填标题、时间、地点……一套流程下来至少30秒,思路早就断了。

AI助手解决这三个问题的逻辑很简单:

你说一句话,它帮你建好。你不用切换窗口,不用算时区,不用记任何操作步骤。

整体架构思路:WorkBuddy是怎么连上Outlook的?

在动手之前,你需要理解一件事:WorkBuddy本身并不会直接操作你的Outlook。中间需要一个"桥梁"。

这个桥梁叫 MCP(Model Context Protocol)

MCP是Anthropic在2024年底提出的一个开放协议,它的作用是让AI助手能够安全地调用外部工具。你可以把它理解为一个"万能转接头"——AI助手是插头,各种外部服务(日历、邮件、数据库)是电器,AI直接插不上去,MCP就是中间那个转接头。

具体到我们的场景,架构是这样的:

你(说一句话) → WorkBuddy(AI助手,MCP客户端) → MCP Server(Outlook Assistant,桥梁) → Microsoft Graph API(微软哪些软件应用的接口) → 你的Outlook日历

你只需要跟WorkBuddy说"帮我建个日程",剩下的调用链路自动完成。

第一步:在Azure注册一个应用

这一步是必须的。微软要求任何访问用户数据的程序,都必须在Azure上注册并获得授权。

别被"Azure"这个词吓到,你不需要云服务器,不需要付费(一段时间免费,后续可能要收费),只是去微软的网站上填几个表单而已

1.1 打开Azure门户

用你的微软账号登录 https://portal.azure.com

如果你没有Azure账号,可以直接用你的Outlook/Microsoft 365账号登录,它会自动创建。

1.2 搜索"应用注册"

在顶部搜索框输入"应用注册(App registration)",点击进入。

1.3 新建注册

点击"新注册",填写以下信息:

• 名称:随便填,比如"WorkBuddy Calendar"

• 支持的账户类型:选择"任何组织目录中的账户和个人Microsoft账户"

 划重点;这个选项很关键,如果你用的是个人Outlook账号(不是公司分配的),必须选这个。

1.4 配置重定向URI

在注册页面找到"重定向 URI"部分:

• 平台:选择"Web"• URI:填 http://localhost:3333/auth/callback

这个URI的作用是:当你在浏览器里完成登录授权后,微软会把你重定向回这个地址,告诉AI助手"授权成功了"。报错也没关系

1.5 允许公共客户端流

注册完成后,进入你刚创建的应用:

左侧菜单 → "身份验证" → 滚到最底部"高级设置" → "允许公共客户端流" → 设为"是"

这一步开启"设备码登录"功能,是后续免密钥登录的前提。

1.6 记录两个关键ID

在应用的"概述"页面,记下这两个值:

• 应用程序(客户端) ID:类似 ec5ab380-27b2-4c45-9fc9-xxxx-xxxxx• 目录(租户) ID:类似 8dd138ba-8aee-450c-xxxx-xxxxx

1.7 创建客户端密钥

左侧菜单 → "证书和密码" → "客户端密码"选项卡 → "新建客户端密码"

• 描述:随便填,比如"WorkBuddy"• 过期时间:建议选24个月

创建成功后,立刻复制"值"这一列的内容

注意,这个值只显示一次。如果你关掉了页面,就只能删掉重新建一个。

1.8 添加API权限

左侧菜单 → "API权限" → "添加权限" → "Microsoft Graph" → "委托的权限"

勾选以下权限:

• offline_access — 允许后台自动刷新token• User.Read — 读取你的基本信息• Calendars.ReadWrite — 读写日历

如果你的需求不只是日历(还想管理邮件、联系人),可以额外添加 Mail.Read、Mail.ReadWrite、Contacts.Read 等。

第二步:配置WorkBuddy的MCP连接

Azure那边准备好了,现在回到WorkBuddy这边。

2.1 确认Node.js版本

打开命令行,输入:node -v

如果显示的版本低于 v20,你需要升级Node.js。去 https://nodejs.org 下载最新的LTS版本安装即可。

这步很重要,Outlook MCP Server依赖新版Node.js,旧版本会报模块找不到的错误。

2.2 编辑MCP配置文件

WorkBuddy的MCP配置文件位于:用户目录/.workbuddy/mcp.json

在Windows上,你的用户目录通常是 C:\Users\你的用户名。

用文本编辑器打开这个文件,修改为以下内容:

{  "mcpServers": {    "outlook": {      "command": "npx",      "args": ["-y", "@littlebearapps/outlook-assistant"],      "env": {        "OUTLOOK_CLIENT_ID": "你的应用程序客户端ID",        "OUTLOOK_CLIENT_SECRET": "你的客户端密钥值"      }    }  }}

把"你的应用程序客户端ID"和"你的客户端密钥值"替换为第一步中获取的实际值。

****我的实际操作是把信息告诉Work Buddy 它来配置

2.3 重启WorkBuddy

配置文件修改后,必须完全关闭并重新打开WorkBuddy,MCP服务才会加载。

第三步:完成设备码认证

重启WorkBuddy后,第一次使用时需要进行一次认证。

在WorkBuddy的对话中输入"查看日历日程",AI会返回类似这样的信息:

请访问:https://login.microsoft.com/device输入代码:XXXXXXXX

操作步骤:

1. 在浏览器中打开上述链接2. 输入显示的代码3. 用你的微软账号登录4. 在权限确认页面点击"接受"

关键提醒: 完成登录后,要尽快告诉AI"已完成授权"。设备码认证有时间限制(通常15分钟),如果等太久,认证会超时,需要重新来。

认证成功后,token会被保存在本地,之后不需要再重复认证。

第四步:开始使用

4.1 查看日程

直接告诉WorkBuddy:

• "看看今天有什么安排"• "这周有什么会议"• "查一下明天下午的日程"

4.2 创建日程

用自然语言描述即可:

• "帮我建一个明天上午8点乘高铁去上饶"

4.3 修改和取消

• "把明天下午3点的会议改到4点"• "取消今天晚上的吃饭安排"

*** 这里注意,删除的日历需要点时间才能同步。 

4.4 时区注意事项

如果你在中国,创建日程时AI会自动带上 +08:00(北京时间)时区标识。但如果你经常跟海外客户沟通,建议在创建时明确时区:

• "帮我建一个明天伦敦时间下午3点的会议"(UTC+0/+1)• "下周五纽约时间上午10点开会"(UTC-4/-5)

常见问题排查

问题一:MCP Server启动失败

症状:WorkBuddy重启后,调用日历功能没有任何反应。

排查步骤:

1. 打开命令行,输入 node -v,确认版本不低于v202. 打开命令行,输入 npx -y @littlebearapps/outlook-assistant,看是否有报错信息3. 如果报错包含"MODULE_NOT_FOUND",说明Node.js版本太低,需要升级

问题二:设备码认证超时

症状:输入代码登录后,AI提示"Request timed out"。

原因:从登录完成到AI调用完成认证之间,等待时间太长。

解决:重新发起认证,登录完成后立刻(不要超过1分钟)告诉AI已完成。

问题三:日程时间不对

症状:创建的日程在Outlook中显示的时间和你说的不一样。

原因:创建日程时没有带时区信息,API按UTC时间处理了。

解决:确认AI在创建时是否带了 +08:00 时区标识。

问题四:"Not authenticated"错误

症状:认证成功后过了一段时间,再次使用时提示未认证。

原因:Token过期了。

解决:重新进行设备码认证即可。正常情况下token会自动刷新,但如果长时间未使用可能会过期。

技术原理补充:如果你想深入了解

MCP协议的工作方式

MCP采用客户端-服务器架构:

• MCP Client:WorkBuddy等AI助手,负责发起调用• MCP Server:各种服务适配器(如Outlook Assistant),负责执行具体操作

两者之间通过JSON-RPC 2.0协议通信。当你说"查看日程"时,实际的通信过程是:

WorkBuddy → MCP Server:调用 list-events 工具 → MCP Server → Microsoft Graph API:GET /me/calendarView → 返回日程数据

Microsoft Graph API

Microsoft Graph是微软提供的统一API接口,通过一个入口可以访问Outlook邮件、日历、联系人、OneDrive、Teams等各种服务。我们这里只用了日历相关的API端点。

OAuth 2.0 设备码流程

我们使用的认证方式是OAuth 2.0的设备码授权流程,它的优点是:

• 不需要搭建认证服务器• 不需要公网可访问的回调地址• 适合命令行工具和本地应用

流程是:AI请求一个设备码 → 你在浏览器中输入代码并登录 → AI用这个设备码换取access token → 后续API调用都使用这个token。

写在最后

整个配置过程看起来步骤很多,但实际上你只需要做一次。Azure注册5分钟(熟练后,第一可能要15分钟),配置文件2分钟,认证1分钟。之后,你只需要一句话就能管理日历。

这就是AI工具的价值所在:把一次性学习的成本,转化为长期节省的时间。

你每天可能要建3-5个日程,传统方式每个耗时30秒,一天就是2-3分钟。一年下来就是12-15个小时。而用AI,每个日程只需要说一句话——5秒钟。

更重要的是,它消除了"忘记记录"的可能性。你不需要记住"待会儿要建个日程",因为你已经在跟AI说话的过程中完成了这件事。

如果你的工作中有大量日程管理需求,这个30分钟的投入,绝对值得。