Install
openclaw skills install meeting-score会议议题评分系统。会议主持人提供议题名称、材料链接和评委名单,自动在飞书多维表格中创建评分表。每位评委独立打分(打分维度一(替换为实际)、打分维度二(替换为实际)、打分维度三(替换为实际)),打分范围 H/M/L,评分完成后主持人可查看各议题平均分汇总。
openclaw skills install meeting-score为会议主持人提供一套完整的议题评分工作流:
| 字段名 | 类型 | 说明 |
|---|---|---|
| 议题名称 | 文本 | 汇报议题标题 |
| 材料链接 | 超链接 | 议题相关文档链接 |
| 状态 | 单选 | 待评分 / 评分中 / 已完成 |
| 维度一均分 | 数字 | 自动计算(所有评委该维度平均),维度名可自定义,如:打分维度一(替换为实际) |
| 维度二均分 | 数字 | 自动计算,维度名可自定义,如:打分维度二(替换为实际) |
| 维度三均分 | 数字 | 自动计算,维度名可自定义,如:打分维度三(替换为实际) |
| 综合总分均分 | 数字 | 三维度均分之和 |
| 字段名 | 类型 | 说明 |
|---|---|---|
| 议题名称 | 文本 | 关联议题 |
| 评委姓名 | 文本 | 打分人 |
| 维度一 | 单选 | H(5分) / M(3分) / L(1分),维度名可自定义 |
| 维度二 | 单选 | H(5分) / M(3分) / L(1分),维度名可自定义 |
| 维度三 | 单选 | H(5分) / M(3分) / L(1分),维度名可自定义 |
| 小计 | 数字 | 三项分值之和(自动计算) |
| 打分时间 | 日期 | 记录时间 |
当主持人说"创建评分表"、"新建会议评分"或提供议题信息时执行:
输入信息:
执行操作:
使用 feishu_bitable_create 创建多维表格,命名为「{会议名称}_议题评分」
创建议题列表表(表1),添加字段:
创建评分记录表(表2),添加字段:
⚠️ 注意:评分记录表创建后,系统默认的「多行文本」主键字段保留(用于显示),其余默认生成的「单选」「日期」「附件」字段需删除,调用 DELETE /fields/{field_id} 清理。
⚠️ 注意:飞书多维表格创建后默认会生成若干空白行以及「单选」「日期」「附件」等默认字段,初始化时需要:
- 删除默认多余字段(单选/日期/附件):逐个调用 DELETE /fields/{field_id}
- 删除默认空白行:读取所有记录后逐条调用 DELETE /records/{record_id} 删除主键为空的行 两步操作确保表格整洁,只保留业务所需字段和数据。
💡 维度名自定义说明:主持人在初始化时可指定三个维度的实际名称,例如:
"维度一=打分维度一(替换为实际),维度二=打分维度二(替换为实际),维度三=打分维度三(替换为实际)"若未指定,默认使用「维度一/维度二/维度三」。
在表2中为每个「评委 × 议题」组合预创建空白记录行(方便评委直接填写)
配置「评分记录」表的行级高级权限(每人仅见自己的行):
飞书多维表格支持「高级权限」功能,可限制每个协作者只能查看/编辑与自己相关的行。由于 API 暂不支持直接配置行级权限,需主持人在表格中手动操作(初始化后提示主持人):
操作步骤(主持人完成表格创建后执行):
① 打开「评分记录」表
② 点击右上角「...」→「高级权限」
③ 开启「高级权限」
④ 点击「添加规则」
⑤ 设置规则:
- 条件:「评委姓名」字段 = 当前用户姓名
- 权限:可查看、可编辑(仅匹配行)
⑥ 将规则应用范围设为「协作者」
⑦ 保存
完成后每位评委打开表格只会看到自己姓名对应的行,无法查看其他评委的打分。
⚠️ 重要提示:飞书高级权限中「当前用户」的匹配依赖「评委姓名」字段与飞书账号姓名一致。 若评委的飞书显示名称与填写的评委姓名不同,需在初始化时确认姓名一致,或使用「成员」类型字段(关联飞书用户)以确保精确匹配。
返回表格链接,并提示主持人配置高级权限:
✅ 评分表已创建!
📋 表格链接:{url}
⚠️ 请主持人完成以下配置(约1分钟):
打开「评分记录」表 → 右上角「...」→「高级权限」
→ 添加规则:评委姓名 = 当前用户 → 保存
配置完成后每位评委只能看到自己的打分行。
评委操作说明:
- 打开表格 → 切换到「评分记录」表
- 找到自己姓名对应的行,填写 H/M/L
- H=5分(高) M=3分(中) L=1分(低)
主持人说"查看汇总"可获取各议题平均分报告。
当评委说"我要打分"、"提交打分"时:
输入:
分值换算:
执行:
feishu_bitable_list_records 读取)feishu_bitable_update_record 更新三个维度的评分和打分时间✅ {评委} 对「{议题}」的打分已记录,小计:{小计}分触发时机: 每当有评委完成打分(Step 2)后,立即执行。
计算规则:
scoreMap = { "H(5分)": 5, "M(3分)": 3, "L(1分)": 1 }
小计 = scoreMap[维度一] + scoreMap[维度二] + scoreMap[维度三]
执行步骤:
feishu_bitable_update_record 将小计写回该记录的「小计」字段feishu_bitable_update_record 更新表1对应行的均分字段示例:
张三打分:维度一=H, 维度二=M, 维度三=L
小计 = 5 + 3 + 1 = 9
李四打分:维度一=H, 维度二=H, 维度三=H
小计 = 5 + 5 + 5 = 15
该议题维度一均分 = (5+5)/2 = 5.0
该议题维度二均分 = (3+5)/2 = 4.0
该议题维度三均分 = (1+5)/2 = 3.0
综合总分均分 = 5.0 + 4.0 + 3.0 = 12.0
当主持人说"查看汇总"、"生成报告"、"计算总分"时:
执行:
feishu_bitable_list_records 读取表2所有打分记录feishu_bitable_update_record 将均分写回表1对应议题行📊 议题评分汇总报告
排名 议题名称 维度一 维度二 维度三 综合均分
1. XXX议题 4.5 4.0 3.5 12.0 ★
2. YYY议题 3.5 4.0 4.0 11.5
3. ZZZ议题 3.0 3.5 3.0 9.5
(维度名称以实际设定为准)
评委参与情况:{已打分人数}/{总评委人数}
{如有评委未完成打分,列出名单}
⚠️ 注:均分基于已提交打分计算
飞书多维表格不支持 Webhook 触发,无法在评委填写后实时感知变化。 因此采用定时轮询方案:每隔固定间隔读取评分记录,自动计算并更新小计和均分。
当主持人说「开始自动计算」或「监听打分」时,使用 cron 工具创建定时任务:
任务名:meeting-score-{app_token}-计算
调度:每0.5分钟执行一次(everyMs: 30000)
目标:isolated session
任务内容(agentTurn message 模板):
请执行 meeting-score skill 的自动计算步骤:
多维表格 app_token: {app_token}
评分记录表 table_id: {score_table_id}
议题列表表 table_id: {agenda_table_id}
打分维度字段名: [{维度一字段名}, {维度二字段名}, {维度三字段名}]
分值映射: H(5分)=5, M(3分)=3, L(1分)=1
执行步骤:
1. 用 feishu_bitable_list_records 读取评分记录表所有记录
2. 对每条三个维度均已填写(非空)且小计为空或打分时间为空的记录:
- 计算小计 = 维度一分值 + 维度二分值 + 维度三分值
- 用 feishu_bitable_update_record 写回小计和打分时间(当前时间戳)
3. 按议题名称分组,计算各议题三个维度均分和综合总分均分(保留1位小数)
4. 用 feishu_bitable_update_record 将均分写回议题列表表对应行
5. 若某议题全部评委均已打分,将该议题状态更新为「已完成」
6. 若所有议题状态均为「已完成」,通过飞书发送消息给主持人:
「📊 所有议题评分已完成!请说"查看汇总"获取完整报告。」
当主持人说「停止自动计算」时,用 cron 工具禁用对应任务(enabled: false)。