personal-worklist-via-feishu

飞书多维表格个人工作台账。通过自然语言对话完成任务录入、定时提醒、状态更新和进度复盘,所有数据存储在飞书多维表格中。 【触发词】 "创建个人工作台账"/"create worklist" | "记一下工作"+内容/"add task"+内容 | "完成了"/"cancelled"/"推迟"/"defer" | "复盘"/"review" | "诊断"/"diagnose" 【每次触发必验5条】 1.语言未设置→先问用户(中文/英文/c/e),禁止跳过 2.APP_TOKEN/TABLE_ID未配置→引导用户提供飞书多维表格链接,禁止跳过 3.三项必填逐一确认(任务名称/优先级①~④/截止日期),未提供则追问,禁止自行编造 4.来源分类自动归类(未提及→临时任务[U],协作→协作任务[C],周期→例行任务[R],计划内→计划任务[P]),无需追问 5.openclaw cron add/delete已授权,无需确认直接执行 【关键约束】 - init_table.js必须带--open-id(用户open_id),否则用户无法访问表格 - config.js中APP_TOKEN/TABLE_ID为空时,必须引导用户配置后才能操作表格 - 禁止语言未确认前执行任何脚本 【字段速查】 优先级:①紧急且重要/②重要不紧急/③紧急不重要/④不紧急不重要 状态:待办/进行中/已完成/取消 来源:计划任务[P]/临时任务[U]/例行任务[R]/协作任务[C]

Audits

Pending

Install

openclaw skills install personal-worklist-via-feishu

⛔ 强制执行协议

【首次安装引导流程 - 必须执行】

新用户首次使用本 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 例外)
  • 禁止自行切换/操作锁定目标之外的工作台账

核心功能

  1. 创建台账 - 引导用户创建或配置飞书多维表格
  2. 任务录入 - 强触发或弱触发将任务写入台账
  3. 定时提醒 - 每天三个时间点推送工作提醒(早晨/下午/下班前)
  4. 进度复盘 - 下班前自动汇总当日完成率、明日预告

第一阶段:创建台账

触发条件

用户说"创建个人工作台账"(中文)或 "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]

相对日期处理规则

用户说"今天"、"明天"、"后天"、"本周五"等,必须转换为具体年月日并回显。

三步验证法:

  1. 确认今天是几月几号、星期几
  2. 计算加几天
  3. 反向验证星期是否匹配

第三阶段:定时提醒

工作日判断(强制):

  1. 调用 http://api.jiejiariapi.com/v1/holidays/2026 查询全年节假日数据
  2. 从返回结果中查找当天日期的 isOffDay 字段:
    • isOffDay == false → 执行发送
    • isOffDay == true → 静默跳过
    • API 出错 → 发出 api 失败消息后静默结束
  3. 绝对禁止凭"周几"或训练数据常识跳过 API 调用!

早晨提醒(08:28)

  1. 今日完成 — 截止日期为今天且状态=已完成
  2. 今日重点 — 优先级①紧急且重要的任务
  3. 进行中/待办任务 — 其余任务
  4. 建议时间安排 — 先处理邮件和OA审批

下午提醒(14:00)

  1. 上午复盘 — 今日已完成 X 项
  2. 今日待办 — 任务名、状态、截止日期、优先级
  3. 下午建议 — 优先处理紧急且重要的任务

下班前复盘(17:30)

  1. 量化复盘 — 今日截止共X项,完成X项,完成率X%
  2. 未完成任务逐一决策 — 推迟/取消/已有计划
  3. 阻碍分析 — 询问原因,填入存在问题字段
  4. 工作建议 — 风险应对+进度纠偏
  5. 明日预告 — 重要紧急任务预览

第四阶段:状态更新

用户说"完成了" → 立即调用 node scripts/update_task.js --record-id ID --status "已完成"

禁止只做口头回复而不操作表格。


经验教训库

日期场景规则
2026-04-23日期转换跳步相对日期必须三步验证,防止思维跳格
2026-04-23日期回显更新后必须写具体日期+星期,让用户确认
2026-04-24三项必填确认任务名称/优先级/截止日期必须逐一与用户确认,禁止自行推断
2026-04-24禁止过度推断可选字段用户未提则留空,禁止凭想象填写
2026-05-08cron任务状态筛选状态筛选必须叠加 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步闭环
  • 状态变更能立即执行表格更新,不只做口头回复