⛔ 强制执行协议
【首次安装引导流程 - 必须执行】
新用户首次使用本 skill 时,AI 必须按以下顺序执行引导:
引导第一步:确认语言
"您好!我是飞书工作台账助手。在开始之前,请确认您的运行环境:
- 输入
中文或c→ 使用中文提示词和多维表格字段- 输入
英文或e→ 使用英文提示词和多维表格字段"
引导第二步:配置飞书多维表格
用户确认语言后,询问用户的飞书多维表格链接:
"好的!接下来请提供您的飞书多维表格链接,格式如:
https://xxx.feishu.cn/base/APP_TOKEN?table=TABLE_ID或者直接告诉我 APP_TOKEN 和 TABLE_ID 的值,或者发“创建个人工作台账”,由我来帮你创建"
从链接中提取方式:
- URL 中
/base/后到第一个?前的字符就是 APP_TOKEN - URL 中
table=后到下一个&或字符串结尾的字符就是 TABLE_ID
提取后调用 node scripts/set_config.js --app-token "VALUE" --table-id "VALUE" 保存配置。
引导第三步:确认或创建表格
- 如果用户已有飞书多维表格,询问是否套用标准模板
- 如果用户没有表格,引导使用
node scripts/init_table.js --open-id USER_OPEN_ID创建
引导完成后:设置定时提醒
台账配置完成后,立即引导用户设置每日定时提醒:
"✅ 台账配置完成!现在建议设置每日定时提醒,每天自动推送工作清单:
- 🌅 早晨 08:28 — 当日工作重点
- 🌤️ 下午 14:00 — 下午工作安排
- 🌆 下班前 17:30 — PMBOK 进度复盘 是否现在设置?"
双层读取机制
| 层级 | 内容 | 读取时机 |
|---|---|---|
| Frontmatter(每次) | 引导流程+5条必验规则+字段速查+触发词 | 每次 skill 触发时 |
| Body 本节 | 分场景操作约束+禁止行为 | 遇到具体场景时 |
【分场景操作约束】按需读取 body 对应章节:
- 创建台账:node scripts/init_table.js --open-id USER_OPEN_ID --lang zh|en,--open-id 必填
- 录入任务:node scripts/add_task.js --task "名称" --priority "①" --deadline "2026-04-25" --lang zh|en,首次成功自动触发 cron
- 更新状态:node scripts/update_task.js --record-id ID --status "已完成"
- 进度复盘:AI 读取 list_tasks.js + PMBOK 五步复盘
- 健康诊断:node scripts/health_check.js --lang zh|en
【禁止行为】每次必验:
- 禁止语言未确认前执行任何脚本
- 禁止 APP_TOKEN/TABLE_ID 未配置时操作表格(必须先引导用户配置)
- 禁止跳过必填字段确认(任务名称/优先级/截止日期)
- 禁止为可选字段自行推断值
- 禁止自行构造飞书 API,必须用内置脚本
- 禁止执行 gateway 重启/skill 安装卸载/配置文件修改(cron 例外)
- 禁止自行切换/操作锁定目标之外的工作台账
核心功能
- 创建台账 - 引导用户创建或配置飞书多维表格
- 任务录入 - 强触发或弱触发将任务写入台账
- 定时提醒 - 每天三个时间点推送工作提醒(早晨/下午/下班前)
- 进度复盘 - 下班前自动汇总当日完成率、明日预告
第一阶段:创建台账
触发条件
用户说"创建个人工作台账"(中文)或 "create worklist"(英文)时,执行引导流程。
Step 1: 检查 feishu-api-bitable 技能
检查 feishu-api-bitable 技能是否已安装:
- 检查 ~/.openclaw/workspace/skills/ 或 ~/.openclaw-robotB/skills/ 目录下是否存在 feishu-api-bitable 目录
如果技能未安装:
- 立即告知用户需要安装相关技能
- 引导用户访问 https://clawhub.ai 搜索并安装 feishu-api-bitable
- 技能安装完成前不执行后续步骤
Step 2: 配置飞书凭证(必须)
从用户提供的飞书多维表格 URL 中提取 APP_TOKEN 和 TABLE_ID,然后:
node scripts/set_config.js --app-token "APP_TOKEN" --table-id "TABLE_ID"
Step 3: 初始化表格
选项 A:新用户新建表格
- 用户没有多维表格 → 调用
node scripts/init_table.js --open-id "USER_OPEN_ID" --lang zh|en - AI 禁止直接调飞书 API 创建表格,必须通过 init_table.js 脚本执行
选项 B:用户提供已有表格
- 询问:"您已有工作台账,是否需要套用标准模板来优化表格结构?"
- 用户同意后 → 调用
node scripts/init_table.js --open-id "USER_OPEN_ID" --lang zh|en
Step 4: 配置定时提醒
确认设置后,执行:
node scripts/setup_reminders.js --open-id=USER_OPEN_ID --lang zh|en
验证推送: 创建完成后执行 cron run <jobId> 触发一次即时推送,验证飞书是否收到。
第二阶段:任务录入
触发规则(双轨制)
强触发 - 直接录入: 用户说"记一下这个工作" + 任务内容 → 立即进入录入流程,询问补全必填字段。
弱触发 - 询问确认: 用户发送了工作相关内容但没有明确触发词 → 主动询问"是否要录入工作台账?"
录入前确认原则(强制)
三项必填字段必须在录入前与用户逐一确认:
| 字段 | 确认方式 | 如用户未提供 |
|---|---|---|
| 任务名称 | 请用户确认 | 必须追问 |
| 优先级 | 请用户选择(①~④) | 必须追问 |
| 截止日期 | 请用户确认 | 必须追问 |
确认话术示例:
"好的,我来帮您录入。确认一下:
- 任务名称:[提取的内容]
- 优先级:①紧急且重要 / ②重要不紧急 / ③紧急不重要 / ④不紧急不重要?
- 截止日期:哪一天?"
来源分类自动归类规则
- 未提及 → 临时任务[U]
- 协作 → 协作任务[C]
- 周期(每周、每月) → 例行任务[R]
- 计划内 → 计划任务[P]
相对日期处理规则
用户说"今天"、"明天"、"后天"、"本周五"等,必须转换为具体年月日并回显。
三步验证法:
- 确认今天是几月几号、星期几
- 计算加几天
- 反向验证星期是否匹配
第三阶段:定时提醒
工作日判断(强制):
- 调用
http://api.jiejiariapi.com/v1/holidays/2026查询全年节假日数据 - 从返回结果中查找当天日期的
isOffDay字段:isOffDay == false→ 执行发送isOffDay == true→ 静默跳过- API 出错 → 发出 api 失败消息后静默结束
- 绝对禁止凭"周几"或训练数据常识跳过 API 调用!
早晨提醒(08:28)
- 今日完成 — 截止日期为今天且状态=已完成
- 今日重点 — 优先级①紧急且重要的任务
- 进行中/待办任务 — 其余任务
- 建议时间安排 — 先处理邮件和OA审批
下午提醒(14:00)
- 上午复盘 — 今日已完成 X 项
- 今日待办 — 任务名、状态、截止日期、优先级
- 下午建议 — 优先处理紧急且重要的任务
下班前复盘(17:30)
- 量化复盘 — 今日截止共X项,完成X项,完成率X%
- 未完成任务逐一决策 — 推迟/取消/已有计划
- 阻碍分析 — 询问原因,填入存在问题字段
- 工作建议 — 风险应对+进度纠偏
- 明日预告 — 重要紧急任务预览
第四阶段:状态更新
用户说"完成了" → 立即调用 node scripts/update_task.js --record-id ID --status "已完成"
禁止只做口头回复而不操作表格。
经验教训库
| 日期 | 场景 | 规则 |
|---|---|---|
| 2026-04-23 | 日期转换跳步 | 相对日期必须三步验证,防止思维跳格 |
| 2026-04-23 | 日期回显 | 更新后必须写具体日期+星期,让用户确认 |
| 2026-04-24 | 三项必填确认 | 任务名称/优先级/截止日期必须逐一与用户确认,禁止自行推断 |
| 2026-04-24 | 禁止过度推断 | 可选字段用户未提则留空,禁止凭想象填写 |
| 2026-05-08 | cron任务状态筛选 | 状态筛选必须叠加 status !== "已完成" && status !== "取消" |
| 2026-05-09 | 调休判断必须调用API | 必须调用节假日 API,不得凭"周几"跳过 |
| 2026-05-12 | 定时任务 Prompt 精简 | payload 精简为核心指令,减少 30% 推理耗时 |
脚本说明
| 脚本 | 用途 | 关键参数 |
|---|---|---|
setup_reminders.js | 定时提醒设置 | `--lang zh |
check_permissions.js | 检查飞书 API 连通性 | 无参数 |
init_table.js | 初始化表格 | --open-id, --lang |
health_check.js | 健康诊断(5项) | 无参数 |
set_config.js | 更新飞书凭证 | --app-token, --table-id, --list |
add_task.js | 添加任务 | --task, --priority, --deadline, --lang |
update_task.js | 更新任务 | --record-id, --status, --lang |
list_tasks.js | 读取任务列表 | 无参数 |
request.js | 统一请求层 | 内部使用 |
preferences.js | 用户偏好读写 | getLanguage(), setLanguage() |
i18n.js | 国际化文本 | getTemplates(lang) |
完成标准
- 用户说"创建个人工作台账"后,能引导完成完整台账创建流程
- APP_TOKEN/TABLE_ID 未配置时,AI 会主动询问并引导配置
- 三项必填字段(任务名称/优先级/截止日期)齐全时能立即写入
- 相对日期能正确转换并回显具体日期+星期
- 定时提醒能正确筛选并输出格式正确的三段式提醒
- 下班前复盘能完成5步闭环
- 状态变更能立即执行表格更新,不只做口头回复