← 返回 Skills 市场
13929110463

personal-worklist-via-feishu

作者 13929110463 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
32
总下载
1
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install personal-worklist-via-feishu
功能描述
飞书多维表格个人工作台账。双层读取:Frontmatter(每次触发必读) + Body(按需读)。 【触发词】 "创建个人工作台账"/"create worklist" | "记一下工作"+内容/"add task"+内容 | "完成了"/"cancelled"/"推迟"/"defer" | "复盘"/"rev...
使用说明 (SKILL.md)

⛔ 强制执行协议(按需读取)

双层读取机制:

层级 内容 读取时机
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

【禁止行为】每次必验:

  • 禁止语言未确认前执行任何脚本
  • 禁止跳过必填字段确认(任务名称/优先级/截止日期)
  • 禁止为可选字段自行推断值
  • 禁止自行构造飞书 API,必须用内置脚本
  • 禁止执行 gateway 重启/skill 安装卸载/配置文件修改(cron 例外)

🚨 系统操作红线

以下操作未经用户明确确认,严禁自行执行:

禁止操作类型 示例 违规后果
修改 OpenClaw 配置文件 修改 gateway、plugins、agents 配置 立即停止,等待用户指令
修改系统环境变量 PATH、OpenClaw 相关变量 立即停止,等待用户指令
安装/卸载/更新 skill openclaw skill install/uninstall 立即停止,等待用户指令
执行 gateway 重启 openclaw gateway restart 立即停止,等待用户指令
修改本地文件权限 chmod、icacls 等 立即停止,等待用户指令
执行系统级命令 注册表修改、系统设置变更 立即停止,等待用户指令

✅ 例外(无需确认,可直接执行):

  • openclaw cron add/delete — 用于设置/删除本 skill 的定时提醒,无需用户确认,直接执行

规则说明:

  • "明确确认"指用户口头或书面同意,不包括沉默、超时、推测
  • 若用户说"等等"、"先不要"、"让我想想",均视为未确认,停止操作
  • 任务数据读写(add_task.js / list_tasks.js / update_task.js)不属于系统操作,无需确认
  • 飞书 API 调用(读写多维表格数据)不属于系统操作,无需确认
  • 定时提醒设置(cron add/delete)属于本 skill 的正常功能扩展,无需单独确认

判断技巧:

如果一个操作会影响 OpenClaw 的运行状态、用户电脑的系统配置、或任何不可逆的系统变更,先问用户,再执行(cron 操作除外,见上方例外)。


核心功能

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

国际化支持

语言环境检测(强制)

【强制检查点】每次创建台账或录入任务前,必须确认语言环境。

规则:

  • preferences.json 中无语言记录 → 必须立即询问用户,不得跳过
  • preferences.json 中已有语言记录 → 直接使用,不得重复询问
  • --lang 参数显式传入 → 直接使用,覆盖 preferences.json

首次使用(无语言记录)询问方式:

"您好!我是飞书工作台账助手。在开始之前,请确认您的运行环境:

  • 输入 中文c → 使用中文提示词和多维表格字段
  • 输入 英文e → 使用英文提示词和多维表格字段"

AI 禁止行为:

  • 禁止在未确认语言前执行 node scripts/init_table.js
  • 禁止在未确认语言前执行 node scripts/add_task.js
  • 禁止在未确认语言前告知用户"创建成功"或"录入成功"
  • 禁止在用户已用中文/英文发送消息后,AI 自行切换到另一种语言

语言偏好影响 skill 的所有输出,包括但不限于:

  • 定时提醒(早晨/下午/下班前)
  • 日常任务沟通(录入确认/状态更新/复盘对话)
  • 输出文本(提示语/字段名/选项值/时间格式)
  • AI 说的话、问的问题、给的建议

一旦确认,持续生效,不得在同一次会话中切换语言。

确认语言后的引导流程(强制): 用户完成语言选择后,立即发送以下触发词引导(不要等待用户主动询问):

中文模式确认后发送:

🎉 语言已确认!下面是您可以使用的工作台账功能:

📝 任务录入(直接说):

  • "记一下这个工作:XXXX" → 立即录入任务
  • "创建个人工作台账" → 创建新台账

🔔 定时提醒:

  • 首次录入任务后,我会引导您设置每天三个时间点的提醒(早晨 08:28 / 下午 14:00 / 下班前 17:30)

📋 状态更新:

  • 说"完成了"、"取消了"、"还在做"、"推迟到XX" → 自动更新表格

  • 说"复盘" → 下班前 PMBOK 式进度复盘

🔧 异常诊断:

  • 说"台账不工作了"、"诊断" → 5项健康检查

要开始录入任务吗?直接告诉我任务内容即可 😊

英文模式确认后发送:

🎉 Language confirmed! Here are your worklist commands:

📝 Task Entry:

  • "add task: XXXX" → Add task immediately
  • "create worklist" → Create new bitable

🔔 Scheduled Reminders:

  • After your first task, I'll guide you to set up 3 daily reminders (08:28 / 14:00 / 17:30)

📋 Status Updates:

  • Say "done", "cancelled", "still working", "defer to XX" → Auto-update table
  • Say "review" → PMBOK-style progress review

🔧 Diagnostics:

  • Say "worklist not working", "diagnose" → 5-item health check

Ready to add a task? Just tell me what you need to do 😊

语言切换规则:

场景 中文模式 英文模式
触发确认 "记一下工作" / "创建个人工作台账" "add task" / "create worklist"
录入确认 "确认录入" "confirm"
字段名称 中文(任务名称/优先级/截止日期等) 英文(Task Name / Priority / Deadline 等)
多维表格字段 使用中文选项值 使用英文选项值
提示语 中文自然语言 English natural language

多维表格字段对照表:

中文字段 英文字段 英文选项值
任务名称 Task Name -
来源分类 Source Category Planned[P]/Urgent[U]/Routine[R]/Collab[C]
优先级 Priority ① Urgent and Important / ② Not Urgent but Important / ③ Urgent but Not Important / ④ Not Urgent and Not Important
状态 Status To Do / In Progress / Done / Cancelled
截止日期 Deadline yyyy/MM/dd
预计时长 Estimated Time 如 1h、2h
开始时间 Start Time 如 9:00
工作链接 Work Link URL
工作要求 Requirements -
干系人 Stakeholder -
存在问题 Issues -
备注 Notes -

存储用户偏好: 确认语言环境后,将偏好写入 memory/preferences.json,后续直接调用不再重复询问。

第一阶段:创建台账

触发条件

用户说"创建个人工作台账"(中文)或 "create worklist"(英文)时,执行以下流程。

Step 0: 检查必要技能与权限(强制)

在创建台账之前,必须完成以下两项检查:

1. 检查 feishu-api-bitable 技能是否已安装:

  • 检查 ~/.openclaw/workspace-robotB/skills/ 目录下是否存在 eishu-api-bitable 目录
  • 或通过 openclaw CLI 查询已安装的 skills

如果技能未安装:

  • 立即告知用户需要安装相关技能
  • 引导用户访问 https://clawhub.ai 搜索并安装 feishu-api-bitable
  • 技能安装完成前不执行后续步骤

2. 检查飞书开放平台权限配置:

  • 确认在 飞书开放平台 的应用权限管理中已开通以下权限:
    • \bitable:app — 多维表格权限
    • \bitable:table — 数据表权限
    • \bitable:record — 记录读写权限
  • 若权限不足,引导用户前往开放平台的「权限管理」页面申请开通

示例提示语:

"创建台账前需要:

  1. 安装【飞书多维表格 API 技能】— 访问 https://clawhub.ai 搜索 eishu-api-bitable 并安装
  2. 确认【飞书开放平台权限】— 请检查您的应用是否已开通多维表格相关权限(bitable:app / bitable:table / bitable:record)

安装完成并确认权限后请告诉我,我将继续为您创建台账。"

Step 1:检查飞书 API 权限

凭证自动获取(本 skill 自动从 OpenClaw 配置读取,无需用户手动填写):

  • APP_ID → 自动从 openclaw.jsonchannels.feishu.appId 读取
  • APP_SECRET → 自动从 openclaw.jsonchannels.feishu.appSecret 读取
  • APP_TOKEN → 用户需提供(多用户场景,每个用户表格不同)
  • Table ID → 用户需提供

如果用户已有飞书多维表格,可直接询问链接,从链接中提取 App Token 和 Table ID。 如果用户提供的是已有表格链接,AI 应主动询问:"您希望套用标准工作台账模板来优化这个表格吗?这样会自动创建必要的字段和选项。" 如果用户没有表格,需要引导其调用node scripts/init_table.js 在飞书多维表格里创建标准工作台账。

权限检查:

node scripts/check_permissions.js

(无需传参数,APP_ID 和 APP_SECRET 自动获取)

Step 2:应用工作台账模板

无论用户是新建表格还是提供已有表格链接,都应执行以下流程:

选项 A:新用户新建表格

  • 用户没有多维表格 → 必须调用 node scripts/init_table.js 创建标准工作台账
  • AI 禁止直接调飞书 API 创建表格,必须通过 init_table.js 脚本执行
  • 脚本内部已内置完整字段模板,AI 必须严格遵循,不自行构造 API 调用

选项 B:用户提供已有表格

  • 用户提供了多维表格链接 → AI 先解析 URL 获取 APP_TOKEN 和 TABLE_ID,必须先展示给用户确认再继续
  • 确认话术:

    我从链接中解析到以下台账信息,请确认:

    • APP_TOKEN:xxx
    • TABLE_ID:xxx

    确认使用这个表格作为工作台账吗?回复「确认」或「是这个表」后,我将为您初始化字段模板(如有需要)。

  • 必须等用户明确回复「确认」才可继续,期间禁止调用 init_table.js
  • 用户同意后 → 必须调用 node scripts/init_table.js 严格按照模板创建/补全字段
  • 用户拒绝 → 询问新的表格链接或改为创建新表格
  • AI 禁止直接调飞书 API 修改用户已有表格结构,必须通过 init_table.js 执行

字段模板(强制):

字段名 类型 选项/说明
任务名称 文本 必填
来源分类 单选 计划任务[P] / 临时任务[U] / 例行任务[R] / 协作任务[C]
优先级 单选 ①紧急且重要 / ②重要不紧急 / ③紧急不重要 / ④不紧急不重要
状态 单选 待办 / 进行中 / 已完成 / 取消
截止日期 日期 yyyy/MM/dd
预计时长 文本 如 1h、2h
开始时间 文本 如 9:00 或 2026-04-23
工作链接 URL 链接格式
工作要求 多行文本 刚性要求、时间节点、执行标准
干系人 文本 支持多人(用中文顿号分隔)
存在问题 多行文本 复盘时记录阻碍原因
备注 多行文本 补充说明

Step 3:配置凭证

凭证自动获取(仅 APP_TOKEN 和 TABLE_ID 需要用户手动填写):

const CONFIG = {
  APP_ID: '自动获取',        // 从 openclaw.json 自动读取
  APP_SECRET: '自动获取',    // 从 openclaw.json 自动读取
  APP_TOKEN: 'YOUR_APP_TOKEN',   // 用户手动填写
  TABLE_ID: 'YOUR_TABLE_ID'      // 用户手动填写
};

Step 4:初始化表格 & 配置权限(一步完成)

运行初始化脚本(包含权限配置,无需分两步):

node scripts/init_table.js --open-id "USER_OPEN_ID"

自动化能力(本脚本执行以下操作,无需用户手动操作):

  • 检查多维表格是否存在,不存在则自动创建
  • 新建表格时,自动清空默认字段和行数据(新建表格自带一个默认文本列和示例行,必须清除后再创建我们的字段和记录)
  • 检查必填字段是否存在,不存在则自动创建(包括单选字段的选项配置)
  • 自动将用户添加为表格编辑者(通过 --open-id 参数)
  • 全程中英文双语支持(根据用户语言偏好自动切换)

参数说明:

  • --open-id: 用户的飞书 Open ID(即对话上下文中的 sender_id),必填,否则用户无法访问自己的表格
  • --lang: 可选,强制指定语言(zh/en),默认从 preferences.json 读取

权限配置闭环(强制):

⚠️ 【关键】如果不传 --open-id,用户将无法访问自己刚创建的多维表格,所有数据操作都会失败。

AI 自动从对话上下文中读取 sender_id,拼接为 --open-id 参数调用脚本。

AI 主动处理原则:

  • 用户无需主动去申请权限
  • AI 自动将用户账号加入编辑者列表
  • 如遇权限 API 报错,AI 立即提供手动申请指引并持续跟进

Step 4C: 触发词引导(完成后即执行)

台账创建成功后,立即向用户展示本 skill 的触发词和使用说明(不要等待用户主动询问):

🎉 台账创建成功!

您的个人工作台账已就绪 ✅

📝 任务录入(直接说):

  • "记一下这个工作:XXXX" → 立即录入任务
  • "创建个人工作台账" → 创建新台账

🔔 定时提醒:

  • 首次录入任务后,我会引导您设置每天三个时间点的提醒(早晨 08:28 / 下午 14:00 / 下班前 17:30)

📋 状态更新:

  • 说"完成了"、"取消了"、"还在做"、"推迟到XX" → 自动更新表格
  • 说"复盘" → 下班前 PMBOK 式进度复盘

🔧 异常诊断:

  • 说"台账不工作了"、"诊断" → 5项健康检查

要开始录入任务吗?直接告诉我任务内容即可 😊

注意: 触发词引导与权限配置为两个独立步骤,必须全部完成后才告知用户台账创建完成。


第二阶段:任务录入

触发规则(双轨制)

强触发 - 直接录入: 用户说"记一下这个工作" + 任务内容 → 立即进入录入流程,询问补全必填字段。

弱触发 - 询问确认: 用户发送了工作相关内容但没有明确触发词 → 主动询问"是否要录入工作台账?"

注意:用户明确表示不录入、或说"暂不需要"时,不追问。

录入前确认原则(强制)

三项必填字段必须在录入前与用户逐一确认,禁止自行推断或编造:

字段 确认方式 如用户未提供
任务名称 请用户确认 必须追问
优先级 请用户选择(①~④) 必须追问
截止日期 请用户确认 必须追问

确认话术示例:

"好的,我来帮您录入这条工作。确认一下:

  • 任务名称: [提取的内容]
  • 优先级: [①紧急且重要 / ②重要不紧急 / ③紧急不重要 / ④不紧急不重要]?
  • 截止日期: 哪一天?"

以上三项必须全部明确回复才能写入,如有任意一项用户未给出明确答案,必须追问到明确为止。

来源分类自动归类规则:

  • 用户未提及来源分类时,不追问,自动归类为「临时任务[U]」
  • 用户提及明确的协作对象 → 归类为「协作任务[C]」
  • 用户提及周期性的工作内容(如每周、每月、每季度)→ 归类为「例行任务[R]」
  • 用户明确说明是计划内的工作 → 归类为「计划任务[P]」

其他可选字段处理规则:

  • 工作要求 / 工作链接 / 干系人:用户提及则记录,未提及则留空
  • 禁止主动推断或补充(如用户没说干系人,AI 不得自作主张填写)
  • 可从用户描述中提取的内容,直接写入(无需确认)
  • 用户未提到的可选字段,留空不写,禁止推断
  • 典型错误示例:用户没说干系人,AI 自作主张写"同事" → 严禁

三项必填字段全部确认后,方可写入多维表格。

相对日期处理规则(强制)

触发场景: 用户描述中包含"今天"、"明天"、"后天"、"本周五"、"下周三"等相对日期词。

处理步骤:

  1. 将相对日期转换为具体年月日(如"明天"→ 2026-04-24)
  2. 禁止写入"今天/明天/后天"等模糊词
  3. 回复时必须显式写出具体日期 + 星期(如"2026-04-25 本周五")

三步验证法(强制):

  1. 确认今天是几月几号、星期几
  2. 计算加几天(目标星期 - 今天星期)
  3. 反向验证:算出的日期星期几是否与目标星期匹配

字段精确性要求(强制)

优先级只允许以下4个精确值(无空格):

  • ①紧急且重要
  • ②重要不紧急
  • ③紧急不重要
  • ④不紧急不重要

状态只允许以下4个精确值(无空格):

  • 待办
  • 进行中
  • 已完成
  • 取消

如用户描述的值无法与现有选项精确匹配,先确认后再录入,不得自行猜测格式。

字段放置规则

字段 放置位置 说明
工作要求 「工作要求」列 刚性要求、时间节点、执行标准
备注 「备注」列 补充说明、上下文信息
干系人 「干系人」列 联系人姓名(用顿号分隔)

第三阶段:定时提醒

不依赖 OpenClaw cron 系统,在每次用户对话时主动检查并发送提醒。

提醒语言规则(强制):

定时提醒的语言必须与用户设置的语言环境一致。

  • 中文模式 → 全程中文输出("早呀~今日重点如下...")
  • 英文模式 → 全程英文输出("Good morning! Here's your today's focus...")

禁止在英文模式下输出中文提醒,也禁止在中文模式下输出英文提醒。

技术实现:

  • scripts/request.js - 统一请求层(Token 缓存 + 提前刷新、10秒超时、401 自动刷新、3次指数退避重试)
  • 所有 API 调用(add_task / update_task / list_tasks / init_table / health_check)均通过 request.js 发请求
  • scripts/i18n.js 提供完整的双语文本模板(中/英文各一套)
  • 定时提醒内容从 i18n.js 的模板中取对应语言版本,确保输出语言与用户偏好一致

早晨提醒(建议时间 08:28)

触发条件:每天首次对话时检查,当日为法定工作日。

输出格式(三部分):

  1. 今日重点(紧急且重要 × N): 优先级为 1 的任务列前,注明任务名、优先级、截止时间
  2. 进行中/待办任务(X 项): 其余进行中/待办任务,表格形式列出任务名、状态、截止、优先级
  3. 建议时间安排:
    • 先抽 30 分钟处理:
      • OA 待办审批
      • 工作邮件处理
      • 补充/更新当日工作清单

下午提醒(建议时间 14:00)

触发条件:下午时段首次对话时检查,筛选条件为:开始时间 ≤ 今天 且 状态 ≠ 已完成。

输出格式同早晨提醒。

下班前复盘(17:30)

每个法定工作日(周一至周五,排除法定节假日)推送。

执行步骤(5步,缺一不可):

1 主动拉取任务数据 从飞书多维表格获取开始时间 ≤ 今天 且 状态 ≠ 已完成的所有任务。

2 量化复盘(截止日期 = 今天)

格式:"今日工作清单共 X 项(截止日期为今天),完成 X 项,完成率 X%"

3 未完成任务逐一决策 对每项截止日期为今天且状态 ≠ 已完成的任务,逐一确认后续计划:

  • 推迟截止日期 → 记录新的截止日期
  • 确认取消闭环 → 记录取消原因,状态改为「取消」
  • 已有后续计划 → 记录后续计划和时间节点

4 阻碍分析与工作建议

  • 询问用户各未完成任务中存在的问题或阻碍
  • 将问题填写到多维表格的「存在问题」字段
  • 根据情况给出专业建议:
    • 风险应对:规避(消除)/ 转移(转嫁)/ 缓解(降低)/ 接受(承担)
    • 进度纠偏:赶工 / 快速跟进 / 调整范围

5 明日预告 预告明天重要且紧急的工作(状态 ≠ 已完成),提醒做好工作时间安排。


第四阶段:状态更新

状态更新双路径(用户自主选择)

路径一:对话驱动更新(AI 协助) 通过与 AI 对话,告知状态变更指令,AI 自动调用 update_task.js 写入多维表格。

适用场景:口头汇报、复盘讨论、进度同步

路径二:直接手动更新(用户自管理)【优选】 用户登录飞书多维表格,直接在单元格中编辑任务状态、存在问题、截止日期等信息。

适用场景:用户习惯直接操作表格、时间紧迫时、快速批量修改

说明:

  • 两种路径可并存,由用户根据自身工作习惯自主选择
  • 路径二为【优选】,因为手动操作最直接、无歧义、无需等待 AI 响应
  • AI 在路径一种的角色是协助者而非主导者,目的是降低用户的操作成本

主动闭环原则(强制)

用户给出任何状态变更指令时,立即执行 update_task.js 更新多维表格,不得只做口头回复。

触发场景:

  • 用户说"完成了" → 立即更新为「已完成」
  • 用户说"取消了" / "闭环了" → 立即更新为「取消」
  • 用户说"还在做" → 立即更新为「进行中」
  • 用户说"推迟到XX" → 立即更新截止日期(相对日期要三步验证 + 回显确认)
  • 复盘时用户说明了阻碍原因 → 立即写入「存在问题」字段

禁止行为: 听到状态变更只说"好的收到"而不操作表格。


经验教训库(来自 jerry-task-manager 实操总结)

以下规则已验证有效,新用户应直接遵守,避免重复踩坑:

日期 场景 规则
2026-04-23 日期转换跳步 相对日期必须三步验证,防止思维跳格
2026-04-23 日期回显 更新后必须写具体日期+星期,让用户确认
2026-04-23 明日预告过滤 明日预告只包含状态≠已完成的任务,已完成的不出现
2026-04-23 字段放置 工作要求列放刚性要求,备注列放补充说明,禁止放反
2026-04-24 三项必填确认 任务名称/优先级/截止日期必须逐一与用户确认,禁止自行推断或编造;来源分类自动归类,不追问
2026-04-24 禁止过度推断 用户未提到的可选字段留空,禁止凭想象填写(如用户没说干系人就写"同事")
2026-04-22 状态闭环 用户说"完成了"立即更新表格,不等二次提醒
2026-04-22 相对日期 禁止写"明天"等模糊词,必须写具体日期
2026-04-24 脚本优先 优先使用 Skill 内置脚本(如 init_table.js),禁止自行构造 API 调用,确保用户体验一致
2026-04-21 优先级精确值 只允许四个精确值,匹配失败会污染表格选项

脚本说明

脚本 用途 关键参数
setup_reminders.js 定时提醒设置引导(首次录入后输出cron命令) `--lang zh
check_permissions.js 检查飞书 API 连通性 --app-id, --app-secret
init_table.js 初始化表格(自动创建表格和字段,类型一致则跳过) 无参数(自动检测语言偏好)
health_check.js 健康诊断(网络/凭证/表格/字段5项检查,使用 request.js) 无参数(自动检测语言偏好)
set_config.js 动态更新飞书 API 凭证(支持部分更新) --app-id, --app-secret, --app-token, --table-id, --list
request.js 统一请求层(Token缓存/10s超时/401刷新/3次重试) 内部使用,供其他脚本调用
add_task.js 添加任务记录(使用 request.js) --task, --source, --priority, --deadline, ... --lang
update_task.js 更新任务记录 --record-id, --status, --deadline, --start, --duration, --notes, --problem, --stakeholders, --lang
list_tasks.js 读取任务列表(根据语言偏好输出) 无参数
utils.js 飞书 API 工具函数(getAccessToken)
preferences.js 用户偏好读写(语言设置) getLanguage(), setLanguage(lang)
i18n.js 国际化文本模板(定时提醒/输出文本) getTemplates(lang), format(template, data)

完成标准(每条可打勾验证)

  • 用户说"创建个人工作台账"后,能引导完成完整的台账创建流程
  • 三个必填字段(任务名称/优先级/截止日期)齐全时能立即写入多维表格,无需等待全部字段咨询完毕
  • 相对日期能正确转换并回显具体日期+星期
  • 定时提醒能正确筛选并输出格式正确的三段式提醒
  • 下班前复盘能完成5步闭环(拉取→量化→决策→分析→预告)
  • 状态变更能立即执行表格更新,不只做口头回复
  • 经验教训库中的规则被遵守,不重复已知的错误

异常处理

  • API 连通性失败 → 提示用户检查 App ID / App Secret / 网络连接
  • 表格字段不匹配 → 提示用户在飞书中检查字段配置
  • 日期计算错误 → 使用三步验证法重新计算并向用户确认
  • 权限不足 → 提示用户在飞书多维表格中给自己添加管理员权限
安全使用建议
Install only after reviewing or removing scripts/fetch_tasks.js and patch_frontmatter.js. Confirm exactly which Feishu app credentials and table will be used, restrict the Feishu app permissions to the intended worklist, and require explicit approval before cron reminders are added or deleted.
功能分析
Type: OpenClaw Skill Name: personal-worklist-via-feishu Version: 1.0.0 The skill bundle contains hardcoded Feishu API credentials (App ID and Secret) in `scripts/fetch_tasks.js`, posing a credential leakage risk. It also utilizes `execSync` in `scripts/setup_reminders.js` and `scripts/add_task.js` to execute system-level commands (`openclaw cron add`), while the `SKILL.md` instructions explicitly direct the AI agent to bypass user confirmation for these actions. Furthermore, the inclusion of development scripts like `patch_frontmatter.js` with hardcoded absolute Windows paths (`C:/Users/Admin/...`) suggests improper packaging and potential for unintended file system modifications.
能力评估
Purpose & Capability
Core task/table/reminder features are coherent for a Feishu worklist, but scripts/fetch_tasks.js contains hardcoded Feishu app/table credentials unrelated to the user's configured worklist, and patch_frontmatter.js is an unexpected helper that rewrites SKILL.md.
Instruction Scope
The skill explicitly tells the agent that cron add/delete is already authorized and can be run without confirmation, and add_task.js automatically triggers reminder setup after the first task.
Install Mechanism
Registry requirements declare no credentials, config paths, binaries, or install spec, but the package contains Node scripts, an axios dependency, local config rewriting, Feishu credential use, and cron setup behavior.
Credentials
The skill reads OpenClaw Feishu app credentials from local openclaw.json, writes config/memory files, invokes shell commands, and can mutate Feishu tables; much of this is purpose-related but high-impact and under-declared.
Persistence & Privilege
Daily reminder cron jobs are set up automatically after the first task and are framed as requiring no user confirmation, creating persistent behavior beyond the immediate chat request.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install personal-worklist-via-feishu
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /personal-worklist-via-feishu 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
personal-worklist-via-feishu 1.0.0 > A smart personal work tracker powered by Feishu Bitable + OpenClaw AI. Task entry, progress review, and three daily reminders — all in one. --- ## 🌍 English --- ### Overview **personal-worklist-via-feishu** transforms your Feishu Bitable into a **personal AI work command center**. It works natively inside OpenClaw — just send a message to add tasks, update status, or trigger a review. No app switching, no manual spreadsheet edits. This skill is ideal for professionals who: - Want a lightweight task tracker without switching tools - Use Feishu as their primary workplace communication app - Need structured daily reminders with PMBOK-style review --- ### Features #### 📝 Natural Task Entry Say `"add task: Complete the project PPT by Friday, urgent"` and the AI will: 1. Confirm task name, priority level, and deadline with you 2. Auto-classify the source type (Planned / Urgent / Routine / Collaboration) 3. Write the result directly to your Feishu Bitable #### 🔔 Three Daily Reminders (Scheduled) Three cron-powered nudges fire every workday: | Time | Content | |------|---------| | **Morning 08:28** | Priority① tasks + full in-progress task list with table view | | **Afternoon 14:00** | Same task list + 30-min buffer suggestion before afternoon focus | | **End of Day 17:30** | PMBOK 5-step progress review — completion rate, pending decisions, bottleneck analysis, tomorrow preview | > Reminders are **language-aware**: once you choose Chinese or English at first use, all future reminders stay in that language. Holidays are detected automatically — no messages sent on days off. #### 📋 Status Updates via Conversation No need to open the spreadsheet. Just say: | You say | AI does | |---------|---------| | `完成了` / `done` | Marks task as Done in Bitable | | `取消了` / `cancelled` | Marks task as Cancelled | | `推迟到下周一` / `defer to next Monday` | Updates the deadline (with date verification) | | `复盘` / `review` | Triggers full PMBOK daily review | | `诊断` / `diagnose` | Runs 5-point health check | #### 🌐 Full Bilingual Support (中文 / English) At first launch, the AI asks you to choose a language. All outputs — reminders, confirmations, status updates — follow that language exclusively. No mixing. --- ### Prerequisites Before installing, make sure you have: | Requirement | Details | |-------------|---------| | **OpenClaw** | Any recent version (Windows host recommended) | | **Feishu Bitable** | A free-tier Bitable is sufficient | | **Feishu App** | A Feishu application with Bitable API permissions enabled | | **Node.js** | v16 or higher | > **Feishu API Permissions Required** (enable in [Feishu Open Platform](https://open.feishu.cn/)): > - `bitable:app` — Read/write access to Bitable > - `bitable:table` — Table operations > - `bitable:record` — Record read/write --- ### Installation #### Step 1 — Extract Extract `personal-worklist-via-feishu.zip` to your OpenClaw skills directory: ``` ~/.openclaw/workspace-robotB/skills/personal-worklist-via-feishu/ ``` #### Step 2 — Configure Credentials ```bash cd personal-worklist-via-feishu node scripts/set_config.js --app-token "YOUR_APP_TOKEN" --table-id "YOUR_TABLE_ID" ``` **How to find APP_TOKEN and TABLE_ID:** 1. Open your Feishu Bitable in a browser 2. The URL looks like: `https://xxx.feishu.cn/base/YOUR_APP_TOKEN?table=YOUR_TABLE_ID` 3. Copy the value after `/base/` → APP_TOKEN 4. Copy the value after `table=` → TABLE_ID #### Step 3 — Initialize Fields If your Bitable is **new or without the required fields**, run: ```bash node scripts/init_table.js --open-id "YOUR_FEISHU_OPEN_ID" --lang zh ``` If your Bitable **already has a structure**, you can skip this step. > `YOUR_FEISHU_OPEN_ID` — Your Feishu user Open ID. Find it in the Feishu developer console, or ask your administrator to add you as an editor. #### Step 4 — Verify ```bash node scripts/health_check.js ``` If you see `✅ All checks passed`, you're ready to use the skill. --- ### Required Bitable Fields If you are using an **existing Bitable**, ensure these fields exist with the EXACT names and options below: | Field Name | Field Type | Options (Chinese) | Options (English) | |------------|-----------|-------------------|-------------------| | 任务名称 / Task Name | Text | — | — | | 来源分类 / Source Category | Single Select | 计划任务[P] / 临时任务[U] / 例行任务[R] / 协作任务[C] | Planned[P] / Urgent[U] / Routine[R] / Collab[C] | | 优先级 / Priority | Single Select | ①紧急且重要 / ②重要不紧急 / ③紧急不重要 / ④不紧急不重要 | ① Urgent & Important / ② Not Urgent but Important / ③ Urgent but Not Important / ④ Not Urgent and Not Important | | 状态 / Status | Single Select | 待办 / 进行中 / 已完成 / 取消 | To Do / In Progress / Done / Cancelled | | 截止日期 / Deadline | Date | yyyy/MM/dd | yyyy/MM/dd | | 预计时长 / Estimated Time | Text | e.g. `1h`, `2h` | e.g. `1h`, `2h` | | 开始时间 / Start Time | Text | e.g. `9:00` or `2026-05-06` | e.g. `9:00` or `2026-05-06` | | 工作链接 / Work Link | URL | — | — | | 工作要求 / Requirements | Multi-line Text | — | — | | 干系人 / Stakeholder | Text | — | — | | 存在问题 / Issues | Multi-line Text | — | — | | 备注 / Notes | Multi-line Text | — | — | > Run `node scripts/init_table.js` to auto-create any missing fields automatically. --- ### Trigger Words (Full Reference) ``` // 📝 Task Entry 记一下工作:XXXX → Add task (Chinese) add task: XXXX → Add task (English) // 📋 Status Updates 完成了 / done → Mark as Done 取消了 / cancelled → Mark as Cancelled 还在做 / still working → Mark as In Progress 推迟到XX / defer to XX → Update deadline // 🔔 Reminders (auto-triggered by cron, no user trigger needed) Morning 08:28 → Daily focus list Afternoon 14:00 → Afternoon work plan 17:30 Mon–Fri → PMBOK progress review // 📊 Review & Diagnostics 复盘 / review → Run PMBOK daily review 台账不工作了 / diagnose → Run 5-point health check ``` --- ### How the Reminder Cron Works The three cron jobs are configured automatically when you first add a task (via `setup_reminders.js`). They fire on the following logic: ``` Morning 08:28 / Afternoon 14:00 → Read: Start Time ≤ today AND Status ≠ Done → Output: Priority① tasks + full task table End of Day 17:30 (Mon–Fri only) → Read: Deadline = today AND Status ≠ Done → Step 1: Completion rate (X done / Y total) → Step 2: Uncompleted task decisions (defer / cancel / has plan) → Step 3: Bottleneck analysis → written to "Issues" field → Step 4: Work suggestions (PMBOK risk response + schedule recovery) → Step 5: Tomorrow preview (important & urgent, status ≠ Done) ``` **Holiday detection**: The AI runs an internal check before each reminder. If today is a Chinese public holiday, the reminder is silently skipped. No message is sent. --- ### Changelog #### v1.0.0 (2026-05-06) - Initial public release - Full bilingual support (Chinese / English) - Three daily reminders (morning / afternoon / end-of-day review) - PMBOK-style progress review - Natural language task entry and status updates - Automated Bitable field initialization - 5-point health check diagnostic --- ### Troubleshooting | Symptom | Likely Cause | Fix | |--------|-------------|-----| | Reminder says "no tasks" but tasks exist | Start Time not set or is future-dated | Open Bitable and set Start Time to today or earlier | | `health_check.js` fails at "API connectivity" | Wrong App ID / App Secret | Verify credentials in Feishu Open Platform | | Task not written to Bitable | Missing field or wrong field name | Run `init_table.js` to auto-create required fields | | Language switches unexpectedly | preferences.json may be corrupted | Delete `memory/preferences.json` and restart | | Reminder fires on weekend | Old cron from previous skill version | Run `openclaw cron list`, delete old entries, re-run `setup_reminders.js` | --- ### Compatibility | Platform | Compatible | |----------|-----------| | Windows (OpenClaw host) | ✅ | | macOS (OpenClaw host) | ✅ (untested, should work) | | Linux (OpenClaw host) | ✅ (untested, should work) | | Feishu Free Tier Bitable | ✅ | | Feishu Enterprise Bitable | ✅ | --- ### License MIT License — free to use, modify, and distribute. --- ## 🇨🇳 中文 --- ### 概览 **personal-worklist-via-feishu** 将飞书多维表格变成**个人 AI 工作指挥中心**。它运行在 OpenClaw 上——只需发一条消息,就能添加任务、更新状态、触发复盘。无需切换应用,无需手动编辑表格。 适合以下用户: - 希望有轻量级任务管理工具,但不想要切换多个应用 - 飞书是主要的工作沟通工具 - 需要结构化的每日提醒和 PMBOK 式进度复盘 --- ### 核心功能 #### 📝 自然语言任务录入 发送 `"记一下工作:周五前完成项目PPT,紧急"`,AI 自动: 1. 与你确认任务名称、优先级、截止日期 2. 自动归类来源类型(计划任务 / 临时任务 / 例行任务 / 协作任务) 3. 将结果直接写入飞书多维表格 #### 🔔 三段式定时提醒 三个 cron 定时任务,每个工作日自动触发: | 时间 | 内容 | |------|------| | **早晨 08:28** | 优先级①任务 + 完整进行中/待办任务表格 | | **下午 14:00** | 同样的任务清单 + 30分钟缓冲工作建议 | | **下班前 17:30(仅工作日)** | PMBOK 五步进度复盘 — 完成率、未完成决策、阻碍分析、明日预告 | > 提醒**语言自适应**:首次使用时选择中文或英文后,所有后续提醒都使用该语言。节假日 AI 自动判断,不推送任何消息。 #### 📋 对话式状态更新 无需打开表格,直接说: | 你说 | AI 自动 | |------|---------| | `完成了` | 标记为「已完成」 | | `取消了` | 标记为「取消」 | | `还在做` | 标记为「进行中」 | | `推迟到下周一` | 更新截止日期(含日期验证) | | `复盘` | 触发 PMBOK 进度复盘 | | `诊断` | 运行五项健康诊断 | #### 🌐 中英双语 首次启动时 AI 会要求选择语言环境。所有输出——提醒、确认、状态更新——全程使用该语言,不混用。 --- ### 环境要求 | 环境要求 | 说明 | |---------|------| | **OpenClaw** | 任意近期版本(建议 Windows 主机) | | **飞书多维表格** | 免费版多维表格即可 | | **飞书应用** | 已开通多维表格 API 权限的飞书应用 | | **Node.js** | v16 及以上 | > **飞书 API 权限清单**(在[飞书开放平台](https://open.feishu.cn/)开通): > - `bitable:app` — 多维表格读写权限 > - `bitable:table` — 数据表操作权限 > - `bitable:record` — 记录读写权限 --- ### 安装步骤 #### 第一步 — 解压安装 将 `personal-worklist-via-feishu.zip` 解压到 OpenClaw 的 skills 目录: ``` ~/.openclaw/workspace-robotB/skills/personal-worklist-via-feishu/ ``` #### 第二步 — 配置凭证 ```bash cd personal-worklist-via-feishu node scripts/set_config.js --app-token "你的APP_TOKEN" --table-id "你的TABLE_ID" ``` **如何获取 APP_TOKEN 和 TABLE_ID:** 1. 在浏览器中打开你的飞书多维表格 2. URL 格式:`https://xxx.feishu.cn/base/你的APP_TOKEN?table=你的TABLE_ID` 3. `/base/` 后面的部分是 APP_TOKEN 4. `table=` 后面的部分是 TABLE_ID #### 第三步 — 初始化字段 如果你的多维表格是**新建的或还没有要求字段**,运行: ```bash node scripts/init_table.js --open-id "你的飞书OPEN_ID" --lang zh ``` 如果你的多维表格**已有完整字段结构**,可以跳过此步。 #### 第四步 — 验证安装 ```bash node scripts/health_check.js ``` 看到 `✅ 健康检查通过` 即表示安装成功。 --- ### 多维表格字段要求 如果你使用**已有表格**,请确保以下字段存在且名称完全一致: | 字段名称 | 字段类型 | 选项值 | |---------|---------|--------| | 任务名称 | 文本 | — | | 来源分类 | 单选 | 计划任务[P] / 临时任务[U] / 例行任务[R] / 协作任务[C] | | 优先级 | 单选 | ①紧急且重要 / ②重要不紧急 / ③紧急不重要 / ④不紧急不重要 | | 状态 | 单选 | 待办 / 进行中 / 已完成 / 取消 | | 截止日期 | 日期 | yyyy/MM/dd | | 预计时长 | 文本 | 如 1h、2h | | 开始时间 | 文本 | 如 9:00 或 2026-05-06 | | 工作链接 | URL | — | | 工作要求 | 多行文本 | — | | 干系人 | 文本 | — | | 存在问题 | 多行文本 | — | | 备注 | 多行文本 | — | > 运行 `node scripts/init_table.js` 可自动创建所有缺失字段。 --- ### 触发词完整对照表 ``` // 📝 任务录入 记一下工作:XXXX → 录入任务(中文) add task: XXXX → 录入任务(英文) // 📋 状态更新 完成了 / done → 标记已完成 取消了 / cancelled → 标记取消 还在做 / still working → 标记进行中 推迟到XX / defer to XX → 更新截止日期 // 🔔 定时提醒(cron 自动触发,无需用户触发) 早晨 08:28 → 今日任务重点 下午 14:00 → 下午工作计划 17:30(周一至周五) → PMBOK 进度复盘 // 📊 复盘与诊断 复盘 / review → 运行 PMBOK 进度复盘 台账不工作了 / diagnose → 运行五项健康检查 ``` --- ### 三段式提醒运行原理 三条 cron 任务在首次录入任务时自动配置(通过 `setup_reminders.js`),触发逻辑如下: ``` 早晨 08:28 / 下午 14:00 → 筛选:开始时间 ≤ 今天 且 状态 ≠ 已完成 → 输出:今日重点(优先级①)+ 进行中/待办任务表格 下班前 17:30(周一至周五) → 筛选:截止日期 = 今天 且 状态 ≠ 已完成 → 步骤1:完成率统计(今日共X项 / 完成X项) → 步骤2:未完成任务逐一决策(推迟 / 取消 / 已有后续计划) → 步骤3:阻碍分析 → 写入多维表格「存在问题」字段 → 步骤4:PMBOK 风险应对建议 + 进度纠偏方案 → 步骤5:明日预告(状态≠已完成的重要紧急任务) ``` **节假日判断**:AI 在每次提醒触发前运行内部判断,若当天为中国法定节假日则静默跳过,不推送任何消息。 --- ### 更新日志 #### v1.0.0 (2026-05-06) - 首次公开发布 - 完整中英双语支持 - 三段式每日提醒(早晨 / 下午 / 下班前复盘) - PMBOK 五步进度复盘 - 自然语言任务录入和状态更新 - 多维表格字段自动初始化 - 五项健康诊断 --- ### 故障排查 | 现象 | 原因 | 解决方法 | |------|------|---------| | 提醒显示"暂无任务"但表格里有任务 | 开始时间未设置或设置为了未来日期 | 在多维表格中设置开始时间为今天或更早 | | `health_check.js` 在"API连通性"步骤失败 | App ID / App Secret 错误 | 在飞书开放平台核对凭证 | | 任务写入失败 | 字段缺失或字段名称不匹配 | 运行 `node scripts/init_table.js` 自动创建字段 | | 语言意外切换 | preferences.json 可能损坏 | 删除 `memory/preferences.json` 后重新启动 | | 周末收到提醒 | 旧版 skill 的 cron 未删除干净 | 运行 `openclaw cron list` 删除旧条目后重新运行 `setup_reminders.js` | --- ### 兼容性 | 平台 | 兼容状态 | |------|---------| | Windows(OpenClaw 主机) | ✅ | | macOS(OpenClaw 主机) | ✅(未实测,应可运行) | | Linux(OpenClaw 主机) | ✅(未实测,应可运行) | | 飞书免费版多维表格 | ✅ | | 飞书企业版多维表格 | ✅ | --- ### 开源协议 MIT License — 可自由使用、修改和分发。 --- ## 📦 Package Contents ``` personal-worklist-via-feishu/ ├── SKILL.md # Full skill specification (for AI) ├── INSTALL.md # Technical installation guide ├── package.json ├── scripts/ │ ├── add_task.js # Write new task to Bitable │ ├── update_task.js # Update task status / fields │ ├── list_tasks.js # Read task list │ ├── init_table.js # Auto-initialize Bitable fields │ ├── health_check.js # 5-point health diagnostic │ ├── setup_reminders.js # Auto-configure 3 cron reminders │ ├── set_config.js # Configure APP_TOKEN + TABLE_ID │ ├── check_permissions.js # Check Feishu API connectivity │ ├── request.js # Unified HTTP layer (token cache + retry) │ ├── i18n.js # Bilingual text templates │ ├── preferences.js # Language preference storage │ └── utils.js # Feishu API utilities └── examples/ ├── README.md └── test-prompts.md # Sample trigger phrases ``` --- *Published under MIT License. Supports OpenClaw on Windows. Feishu Bitable required (free tier works).*
元数据
Slug personal-worklist-via-feishu
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

personal-worklist-via-feishu 是什么?

飞书多维表格个人工作台账。双层读取:Frontmatter(每次触发必读) + Body(按需读)。 【触发词】 "创建个人工作台账"/"create worklist" | "记一下工作"+内容/"add task"+内容 | "完成了"/"cancelled"/"推迟"/"defer" | "复盘"/"rev... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 32 次。

如何安装 personal-worklist-via-feishu?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install personal-worklist-via-feishu」即可一键安装,无需额外配置。

personal-worklist-via-feishu 是免费的吗?

是的,personal-worklist-via-feishu 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

personal-worklist-via-feishu 支持哪些平台?

personal-worklist-via-feishu 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 personal-worklist-via-feishu?

由 13929110463(@13929110463)开发并维护,当前版本 v1.0.0。

💬 留言讨论