```
feat(engine): 添加技能查看工具并优化异步任务管理 - 添加SkillViewTool到引擎加载器中,增强技能管理功能 - 在AgentLoop中引入_active_direct_task来跟踪活跃任务 - 实现直接任务执行时的同步处理逻辑 - 更新工具实例化方式以支持依赖注入 feat(config): 增加智能体运行时参数配置支持 - 扩展AgentDefaultsConfig添加max_tokens和temperature字段 - 实现配置解析函数_first_config_value处理多个配置源 - 支持通过Web API动态更新智能体运行时参数 - 添加前端页面配置表单和验证逻辑 refactor(provider): 统一最大令牌数参数类型为可选整型 - 将所有LLM提供者的max_tokens参数改为int | None类型 - 为AnthropicProvider实现模型特定的最大令牌数默认值 - 调整参数传递逻辑,优先级:调用参数 > 配置文件 > 模型默认值 - 移除硬编码的默认值,改用条件判断 feat(process): 增强事件投影功能 - 添加工具调用开始/结束事件的映射逻辑 - 实现技能激活事件的识别和展示 - 添加辅助函数处理工具调用名称和参数提取 - 优化运行记录关联逻辑,提升事件匹配准确性 fix(web): 更新网络请求客户端信任环境设置 - 将WebFetchTool和WebSearchTool的trust_env参数设为True - 确保HTTP客户端能够正确使用系统代理配置 - 修复可能的网络连接问题 test: 添加配置加载和事件投影相关测试 - 新增智能体默认参数配置测试用例 - 实现API配置持久化和重载测试 - 添加技能卡片和工具事件的投影测试 ```
This commit is contained in:
150
skills/outlook-mail/versions/v0001/SKILL.md
Normal file
150
skills/outlook-mail/versions/v0001/SKILL.md
Normal file
@ -0,0 +1,150 @@
|
||||
---
|
||||
name: outlook-mail
|
||||
description: 通过 Outlook MCP 进行邮件收发、日历管理和会议安排。支持 Graph API 和 on-prem Exchange。
|
||||
tools:
|
||||
- mcp_outlook_mcp_mail_list_folders
|
||||
- mcp_outlook_mcp_mail_list_messages
|
||||
- mcp_outlook_mcp_mail_search_messages
|
||||
- mcp_outlook_mcp_mail_get_message
|
||||
- mcp_outlook_mcp_mail_send_email
|
||||
- mcp_outlook_mcp_mail_reply_to_message
|
||||
- mcp_outlook_mcp_mail_forward_message
|
||||
- mcp_outlook_mcp_mail_move_message
|
||||
- mcp_outlook_mcp_mail_delta_sync
|
||||
- mcp_outlook_mcp_calendar_list_events
|
||||
- mcp_outlook_mcp_calendar_create_event
|
||||
- mcp_outlook_mcp_calendar_update_event
|
||||
- mcp_outlook_mcp_calendar_get_schedule
|
||||
- mcp_outlook_mcp_calendar_find_meeting_times
|
||||
- mcp_outlook_mcp_calendar_delta_sync
|
||||
---
|
||||
|
||||
# Outlook MCP — 邮件与日历管理
|
||||
|
||||
通过 MCP server 连接 Outlook(Microsoft Graph / on-prem Exchange),提供邮件和日历的完整操作能力。
|
||||
|
||||
## 邮件工具
|
||||
|
||||
### mcp_outlook_mcp_mail_list_folders
|
||||
列出 Outlook 邮件文件夹。
|
||||
- `top` (int, 默认 50): 返回数量上限
|
||||
|
||||
### mcp_outlook_mcp_mail_list_messages
|
||||
列出指定文件夹的邮件。
|
||||
- `folder` (str, 默认 "inbox"): 文件夹名
|
||||
- `top` (int, 默认 20): 返回条数
|
||||
- `skip` (int, 默认 0): 跳过的条数
|
||||
- `unread_only` (bool, 默认 false): 仅未读
|
||||
|
||||
### mcp_outlook_mcp_mail_search_messages
|
||||
搜索邮件(使用 Graph search 语义)。
|
||||
- `query` (str): 搜索关键词
|
||||
- `folder` (str | None): 限定文件夹
|
||||
- `top` (int, 默认 20): 返回条数
|
||||
|
||||
### mcp_outlook_mcp_mail_get_message
|
||||
读取单封邮件的完整内容。
|
||||
- `message_id` (str): 邮件 ID
|
||||
- `changekey` (str | None): EWS changekey(on-prem 需要)
|
||||
|
||||
### mcp_outlook_mcp_mail_send_email
|
||||
发送新邮件。**幂等操作**,支持 idempotency_key。
|
||||
- `subject` (str): 主题
|
||||
- `body` (str): 正文(支持 HTML)
|
||||
- `to_recipients` (list[str]): 收件人
|
||||
- `cc_recipients` (list[str] | None): 抄送
|
||||
- `bcc_recipients` (list[str] | None): 密送
|
||||
- `idempotency_key` (str | None): 幂等键,防止重复发送
|
||||
|
||||
### mcp_outlook_mcp_mail_reply_to_message
|
||||
回复一封邮件。
|
||||
- `message_id` (str): 原邮件 ID
|
||||
- `comment` (str): 回复内容
|
||||
- `changekey` (str | None): EWS changekey
|
||||
- `idempotency_key` (str | None)
|
||||
|
||||
### mcp_outlook_mcp_mail_forward_message
|
||||
转发邮件给其他人。
|
||||
- `message_id` (str): 原邮件 ID
|
||||
- `to_recipients` (list[str]): 转发目标
|
||||
- `comment` (str): 附加说明
|
||||
- `cc_recipients` (list[str] | None)
|
||||
- `changekey` (str | None)
|
||||
- `idempotency_key` (str | None)
|
||||
|
||||
### mcp_outlook_mcp_mail_move_message
|
||||
移动邮件到其他文件夹。
|
||||
- `message_id` (str): 邮件 ID
|
||||
- `destination_folder` (str): 目标文件夹
|
||||
- `changekey` (str | None)
|
||||
- `idempotency_key` (str | None)
|
||||
|
||||
### mcp_outlook_mcp_mail_delta_sync
|
||||
增量同步邮件变更。支持游标持久化,适合长期同步场景。
|
||||
- `folder` (str, 默认 "inbox"): 文件夹
|
||||
- `delta_link` (str | None): 增量链接(续传时提供)
|
||||
- `top` (int, 默认 50)
|
||||
- `persist_cursor` (bool, 默认 true): 是否持久化游标
|
||||
|
||||
## 日历工具
|
||||
|
||||
### mcp_outlook_mcp_calendar_list_events
|
||||
列出日历事件或日历视图。
|
||||
- `start_time` (str | None): ISO 开始时间,与 end_time 成对提供
|
||||
- `end_time` (str | None): ISO 结束时间
|
||||
- `top` (int, 默认 20)
|
||||
- `skip` (int, 默认 0)
|
||||
|
||||
### mcp_outlook_mcp_calendar_create_event
|
||||
创建日历事件或正式会议邀请。**幂等操作**。
|
||||
- `subject` (str): 主题
|
||||
- `start_time` (str): ISO 开始时间
|
||||
- `end_time` (str): ISO 结束时间
|
||||
- `timezone` (str, 默认 "UTC"): 时区
|
||||
- `body` (str | None): 正文
|
||||
- `location` (str | None): 地点
|
||||
- `attendees` (list[str] | None): 参会人
|
||||
- `is_online_meeting` (bool, 默认 false): 是否创建 Teams 会议
|
||||
- `online_meeting_provider` (str, 默认 "teamsForBusiness"): 在线会议提供商
|
||||
- `transaction_id` (str | None): 事务 ID
|
||||
- `idempotency_key` (str | None)
|
||||
|
||||
### mcp_outlook_mcp_calendar_update_event
|
||||
更新已有日历事件。
|
||||
- `event_id` (str): 事件 ID
|
||||
- `subject` / `start_time` / `end_time` / `timezone` / `body` / `location` / `attendees`: 可选更新字段
|
||||
- `idempotency_key` (str | None)
|
||||
|
||||
### mcp_outlook_mcp_calendar_get_schedule
|
||||
查询与会人忙闲状态。
|
||||
- `schedules` (list[str]): 要查询的人员列表
|
||||
- `start_time` (str): ISO 开始
|
||||
- `end_time` (str): ISO 结束
|
||||
- `availability_view_interval` (int, 默认 30): 时间间隔(分钟)
|
||||
- `timezone` (str, 默认 "UTC")
|
||||
|
||||
### mcp_outlook_mcp_calendar_find_meeting_times
|
||||
推荐最佳会议时间。
|
||||
- `attendees` (list[str]): 参会人
|
||||
- `start_time` (str): 时间范围开始
|
||||
- `end_time` (str): 时间范围结束
|
||||
- `duration_minutes` (int, 默认 30): 会议时长
|
||||
- `timezone` (str, 默认 "UTC")
|
||||
- `max_candidates` (int, 默认 10): 候选数
|
||||
|
||||
### mcp_outlook_mcp_calendar_delta_sync
|
||||
增量同步日历事件变更。
|
||||
- `start_time` (str): 同步窗口开始
|
||||
- `end_time` (str): 同步窗口结束
|
||||
- `delta_link` (str | None): 增量续传链接
|
||||
- `top` (int, 默认 50)
|
||||
- `persist_cursor` (bool, 默认 true)
|
||||
- `cursor_key` (str, 默认 "calendar:primary")
|
||||
|
||||
## 使用原则
|
||||
|
||||
1. 邮件操作优先使用幂等键(idempotency_key)防止重复发送
|
||||
2. 日历时间参数统一使用 ISO 8601 格式
|
||||
3. 增量同步时优先使用返回的 delta_link 续传,避免全量拉取
|
||||
4. 发送邮件前确认收件人地址格式正确
|
||||
5. 创建会议时明确时区,避免跨时区混淆
|
||||
Reference in New Issue
Block a user