语音指令:“定明天上午 10 点项目复盘会,拉上产品和研发。”Skill 自动创建日历、发出入会链接,并预置好「议题+决议+待办」的空模板,不用再手敲群公告。
一句话起会 (One-Sentence Meeting)是一项面向实际任务的技能,主要用于用户用一句话描述会议需求,Skill 自动完成三件事:;解析 — 从自然语言中提取时间、主题、参与人;
自然语言建会;支持中文口语化表达,如"定明。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
用户用一句话描述会议需求,Skill 自动完成三件事:
| 场景 | 说明 |
|---|---|
| 自然语言建会 | 支持中文口语化表达,如"定明天上午10点项目复盘会,拉上产品和研发" |
| 生成日历文件 | 输出标准 .ics 格式,兼容 Google Calendar / Outlook / Apple Calendar |
| 生成会议模板 | 输出 Markdown 格式的会议纪要模板(议题+决议+待办) |
| 时间模糊表达 | 支持"明天"、"后天"、"下周X"、"半小时后"、"傍晚"等常见说法 |
| 多人参与 | 参与人通过"和"、"、"、"、"等分隔,列表形式传入 |
| 场景 | 说明 | 替代方案 |
|---|---|---|
| 修改已有会议 | 不支持"把刚才那会改到下午2点" | 重新用一句话创建新会议,旧会议手动删除 |
| 周期会议 | 不支持"每周一上午9点站会" | 分解为多次单次创建 |
| 自动邀请参与人 | 不自动发邮件/消息通知参会人 | 生成会议模板后,手动复制内容发群公告或邮件 |
| 会议冲突检测 | 不检查你的日历是否已有冲突事件 | 导入 .ics 后,日历应用本身会提示冲突 |
| 批量创建 | 不支持"这周五场评审会一起定了" | 逐条创建,或提供清晰列表后手动拆分 |
| 多人编辑会议模板 | 生成的是本地文件,不涉及实时协作 | 可将 .md 内容粘贴到腾讯文档/飞书文档实现在线协作 |
当用户输入包含以下模式时触发此技能:
典型输入示例:
从用户的一句话中提取以下结构化字段:
| 字段 | 提取内容 | 默认值 |
|---|---|---|
topic |
会议主题(如"项目复盘会"、"需求评审") | "未命名会议" |
datetime |
日期+时间(如"明天上午10点"→具体日期时间) | 提示用户补充 |
duration |
会议时长(如"半小时"、"1小时") | 60分钟 |
participants |
参与人员/团队(如"产品、研发") | "未指定" |
解析规则:
时间解析 — 将中文时间表达转为具体日期时间:
主题提取 — 识别"会"字前的名词短语作为会议主题:
参与人提取 — 识别参与关键词后的内容,支持的引导词:
拉上、叫上、约上、拉喊上、叫、带上、加上、需要XX参加、让XX也来、XX一起、把XX也叫上/、时长提取 — 识别时长描述:
核心原则:不要猜,要确认。 以下规则为强制执行,不得跳过。
解析完成后、生成文件前,必须执行三件事:
| 置信度 | 标记 | 触发条件 | 行为 |
|---|---|---|---|
| ✅ 确定 | 无标记 | 用户明确说了(如"明天上午10点") | 直接使用 |
| ⚠️ 推断 | [推断] |
用了默认值或模糊映射(如"傍晚"→18:00、"站"→"每日站会") | 使用但标注"假设为...",给用户纠正机会 |
| ❓ 缺失 | [待确认] |
完全提取不到(如没提时间、没提参与人) | 暂停流程,明确询问用户 |
生成文件之前,先以 Markdown 格式呈现所有解析结果,加上置信度标记:
📋 解析结果(请确认): | 字段 | 解析值 | 置信度 | |---------|-----------------|--------| | 日期时间 | 7月22日 10:00 | ✅ | | 会议主题 | 项目复盘 | ⚠️ 推断 [原输入"复盘会",去掉"会"字] | | 参与人 | 产品、研发 | ✅ | | 时长 | 60分钟 | ⚠️ 推断 [未指定,使用默认值] |
结尾加上引导语:"如果以上信息有误,请直接告诉我需要修改的地方,我再生成文件。"
当输入有歧义时,不走"猜一个→用户不满意→重来"的循环,而是:
| 步骤 | 操作 | 输出 |
|---|---|---|
| 2.1 检测平台 | 按飞书 > 腾讯会议 > 企微 > 钉钉优先级检查 connector | 有 → 走 2.2;无 → 走 2.3 |
| 2.2 平台直连 | 调用 connector API 创建日历事件 + 获取入会链接 | .ics 可省略(平台已有) |
| 2.3 降级 .ics | 生成标准 RFC 5545 格式 .ics 文件,含 DTSTART/DTEND/SUMMARY/DESCRIPTION/LOCATION | 会议_{主题}_{日期}.ics,双击导入任意日历 |
读取 assets/meeting-template.md,替换 7 个占位符({{会议主题}}、{{会议时间}}、{{会议时长}}、{{参会人员}}、{{入会链接}}、{{生成时间}}、{{议题标题}}),保存为 会议纪要_{主题}_{日期}.md。
其中 {{议题标题}} 根据主题智能生成(如"复盘"→"阶段回顾与问题分析"),完整映射见增值功能章节。
| 要素 | 内容 |
|---|---|
| 会议摘要 | 时间 + 主题 + 参与人 + 时长(卡片式排版) |
| 日历文件 | .ics 路径 + "双击导入"说明 |
| 会议模板 | .md 路径 + "已预填议题/决议/待办"说明 |
| 平台提示 | 无 connector → 提示可连接以获得入会链接 |
当执行过程出现异常时,按以下「症状 → 原因 → 解决」路径逐步诊断。核心原则:不要猜测,逐层验证。
| 表现 | 可能原因 | 排查步骤 | 解决方式 |
|---|---|---|---|
| 生成的日期不是用户想要的 | 模糊表达有多种理解(如"周五"未指定本周/下周) | 1. 列出当前日期和星期几 2. 列出"周五"在本周和下周分别是哪一天 3. 计算本周五是否已过 | 默认取最近的未来日期(本周五若已过则取下周)。若仍有歧义,直接在回复中列出两个候选日期请用户确认 |
| "傍晚"、"晚上"、"中午"等无法映射到具体时间 | 非标准时间词没有固定映射 | 1. 检查是否出现非标准时间词 2. 查找内置映射表 | 默认映射:早晨=08:00、上午=10:00、中午=12:00、下午=15:00、傍晚=18:00、晚上=20:00。若无匹配,回退到 10:00 并告知用户假定的时间 |
| 完全没有时间信息 | 用户只说了主题没提时间 | 警告:无法从输入中提取时间 | 暂停流程,明确询问:"请问会议定在什么时间?",不要用默认值蒙混 |
| 表现 | 可能原因 | 排查步骤 | 解决方式 |
|---|---|---|---|
| participants 列表为空或只有"未指定" | 输入中没有"拉上"/"叫上"/"约上"等关键词 | 1. 检查输入中是否包含参与人关键词 2. 检查是否使用非典型表达如"喊上"、"需要XX参加" | 尝试扩展匹配:也检测"喊上"、"需要XX参加"、"XX也来"等模式。若完全无匹配,在模板中填入"待补充"并提示用户 |
| 参与人识别不完整 | 分隔词不标准(如用空格、斜杠分隔) | 检查输入中除"和/与/、/,"外的分隔方式 | 将空格、"/"、""也视作人名分隔符。识别结果在呈现时列出给用户二次确认 |
| 表现 | 可能原因 | 排查步骤 | 解决方式 |
|---|---|---|---|
| Connector 显示已连接但 API 调用失败 | Token 过期、权限不足、API 限流 | 1. 检查调用返回的 HTTP 状态码 2. 401/403 → 权限问题 3. 429 → 限流 4. 5xx → 服务端异常 | 自动降级到 .ics 方案,并在最终呈现时明确告知用户具体是哪个 connector 出了什么问题(如"飞书连接已过期,请重新授权")。不静默降级 |
| 多个 connector 都连了,不知用哪个 | 优先级设定不明 | 按 connectors.md 中定义的优先级顺序依次尝试 | 使用第一个可用的,并在结果中标注"已通过飞书创建" |
| 网络超时 | 平台 API 响应慢或不可达 | 1. 设置 15 秒超时 2. 超时后等待 3 秒重试一次 3. 仍超时则放弃 | 两次重试后仍超时,自动降级到 .ics 方案。告知用户"XX平台当前响应较慢,已改用本地日历文件" |
| 表现 | 可能原因 | 排查步骤 | 解决方式 |
|---|---|---|---|
| .ics 或 .md 文件保存失败 | 工作目录无写入权限、磁盘满、路径含非法字符 | 1. 检查当前工作目录是否可写(尝试创建临时文件) 2. 检查磁盘剩余空间 3. 检查主题中是否有文件名非法字符(如 :, *, ?, <, >, |, ") |
文件名中的非法字符替换为 -。若目录不可写,保存到系统临时目录并告知用户路径。若磁盘满,明确报错 |
| 文件名太长 | 会议主题本身过长 | 检查生成的文件名是否超过 255 字符 | 截断主题到前 20 个字符 + 日期,保证总文件名不超过 100 字符 |
| 表现 | 可能原因 | 排查步骤 | 解决方式 |
|---|---|---|---|
| 双击 .ics 报格式错误 | DTSTART/DTEND 格式不符合 RFC 5545 | 1. 检查日期格式是否为 YYYYMMDDTHHmmSS(如 20260722T100000) 2. 检查是否遗漏了时区标识 3. 检查换行符是否为 CRLF(Windows) |
严格按照 RFC 5545 格式生成:DTSTART:20260722T020000Z(UTC 时间)或带时区的 DTSTART;TZID=Asia/Shanghai:20260722T100000 |
| 导入后时间不对 | 时区换算错误 | 检查 .ics 中的时间是否为 UTC+8 转 UTC | 在 DESCRIPTION 中也写入「北京时间 X月X日 HH:MM」,方便用户交叉验证 |
当遇到上述未覆盖的错误时,遵循以下原则:
以下写法会导致解析失败或不完整,请引导用户避开:
❌ "开个会"、"定项目复盘会" 问题:没有时间信息,无法确定会议何时举行 后果:必须以默认时间(当天 10:00)创建,大概率不对
→ 正确写法:加时间——"明天下午 3 点开项目复盘会"
❌ "周五上午开会" 问题:本周五还是下周五?当天是周三时,本周五已过,歧义更严重 后果:默认取最近未来日期,用户可能发现日期不对
→ 正确写法:明确——"本周五上午开会" 或 "下周五上午开会"
❌ "明天下午开会,前端后端设计" 问题:没有"拉上"/"叫上"等引导词,参与人提取不到 后果:参与人列为"待补充",用户需手动填写
→ 正确写法:加引导词——"明天下午开会,拉上前端后端和设计"
❌ "每周一上午 9 点站会" 问题:当前版本不支持周期会议,无法生成重复事件 后果:只会创建一次会议,不是每周重复
→ 替代方案:分次创建——每次说"定下周一上午 9 点站会"
❌ "把刚才那个会改到下午 3 点" 问题:不支持修改已有的会议(.ics 是静态文件) 后果:命令无法执行,不知道怎么处理
→ 替代方案:重新创建——"定今天下午 3 点 XX 会,拉上 XX"
❌ "拉上张三(请假中)、李四@北京" 问题:括号、@等特殊字符会干扰人名提取 后果:人名被截断或带上括号内容
→ 正确写法:纯文本——"拉上张三、李四"
❌ "明天晚上 10 点开始,开到凌晨" 问题:时长计算只支持"X小时"等明确表达,不支持"开到XX点" 后果:时长默认 60 分钟,明显不对
→ 正确写法:明确时长——"明天晚上 10 点开两小时的会"
文件保存在当前工作目录,文件名格式为 会议_{主题}_{日期}.ics。双击即可导入 Google Calendar / Outlook / Apple Calendar。也可以在日历应用中手动导入。
需要连接飞书 (feishu) 或腾讯会议 (tmeet) connector 才能自动生成入会链接。未连接时,会议模板中的链接字段显示"待定"。
当前版本不支持。生成会议模板后,可手动复制内容到群公告或邮件。连接飞书/企业微信/钉钉 connector 后可解锁部分通知能力。
最终呈现结果会明确显示解析后的日期、时间和星期几,建议每次都扫一眼确认。如果时间表达有歧义,会自动标注"假设为 XX",让你有机会纠正。
生成的 .ics 和 .md 都是普通文本文件,直接打开编辑即可。或者在 WorkBuddy 中让我帮你修改。
不可以。每次输入一句话创建一个会议。如果需要批量,建议逐条输入或在 Excel 中整理后逐行处理。
目前仅支持中文自然语言解析。英文输入(如"Schedule a meeting tomorrow at 10")会回退到默认解析。
可以。.ics 是通用日历格式,iOS 和 Android 的日历应用都支持导入。
以输入 "定明天上午10点项目复盘会,拉上产品和研发" 为例,生成的 会议纪要_项目复盘_0722.md 内容如下:
# 项目复盘 > 📅 **时间:** 2026年07月22日 10:00(周三) > ⏱️ **时长:** 60分钟 > 👥 **参会人:** 产品、研发 > 🔗 **入会链接:** 待定(可连接飞书/腾讯会议自动生成) --- ## 一、会议议题 ### 议题一:阶段回顾与问题分析 - **背景:** - **讨论要点:** 1. 2. 3. ### 议题二:(待补充) - **背景:** - **讨论要点:** 1. 2. --- ## 二、会议决议 | 序号 | 决议内容 | 提出人 | 状态 | |------|---------|--------|------| | 1 | | | ✅ 通过 / ⏳ 待确认 | | 2 | | | | | 3 | | | | --- ## 三、待办事项 | 序号 | 待办事项 | 负责人 | 截止时间 | 状态 | |------|---------|--------|---------|------| | 1 | | | | ⬜ 未开始 | | 2 | | | | ⬜ 未开始 | | 3 | | | | ⬜ 未开始 | --- ## 四、会议备忘 > 📝 会前准备: > - 提前 5 分钟测试设备(麦克风、摄像头、屏幕共享) > - 如有演示材料,提前打开对应文件 > > 💡 会议纪律: > - 准时开始,不等人 > - 议题逐个讨论,避免跑题 > - 每个议题限定时间,超时移入「停车场」后续讨论 > - 会后 24 小时内发出纪要 --- *本模板由「一句话起会」自动生成 · 2026-07-21 15:00*
💡 说明:模板中「议题一」标题根据主题智能生成("复盘"→"阶段回顾与问题分析"),待办和决议为空白表格,开会时边讨论边填写。生成的
.ics日历文件包含相同的时间和参与人信息,双击即可导入日历应用。
在完成基本的会议创建后,可根据上下文主动提供以下增值服务:
根据会议主题自动生成第一条议题标题:
在会议模板中自动附带会议备忘:
根据会议时间给出贴心提示:
完成会议模板后,可主动询问:
独立的命令行工具,可直接运行。适用于在终端中快速创建会议,或在自动化流程中调用。
用法:
# 基本用法 python meeting_builder.py "定明天上午10点项目复盘会,拉上产品和研发" # 指定时长 python meeting_builder.py "下周三下午3点需求评审,叫上前端后端和设计" --duration 90 # 指定输出目录 python meeting_builder.py "周五站会" --output ./meetings/ # 查看示例 python meeting_builder.py --examples # 查看反模式 python meeting_builder.py --badexamples
核心函数签名:
| 函数 | 输入 | 输出 |
|---|---|---|
parse_time(now, text) |
当前时间 + 输入文本 | (datetime, is_confident) |
parse_topic(text) |
输入文本 | 会议主题字符串 |
parse_participants(text) |
输入文本 | 参与人列表 |
parse_duration(text) |
输入文本 | 分钟数 |
generate_ics(topic, dt_start, dt_end, participants) |
会议结构化数据 | .ics 文件内容 |
generate_markdown(topic, dt_start, dt_end, duration, participants) |
会议结构化数据 | .md 文件内容 |
独立的 Python CLI 工具,可脱离 WorkBuddy Skill 直接运行。完成自然语言解析、.ics 生成、会议模板生成全流程。详见上方「可运行脚本」章节。
会议纪要模板,包含「议题 → 决议 → 待办」三件套结构,并内置会议纪律备忘。WorkBuddy 模式下读取后替换 {{}} 占位符生成最终文档;CLI 模式下由 meeting_builder.py 直接调用 generate_markdown() 函数生成。
日历与会议平台 connector 接入指南,列出支持的平台及其能力、检测优先级和降级策略。当需要判断平台可用性或引导用户连接时参考此文件。
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.3万人学习
共49课时 | 82.7万人学习
最新文章