⛔ 强制执行协议(按需读取)
双层读取机制:
| 层级 | 内容 | 读取时机 |
|---|---|---|
| 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 操作除外,见上方例外)。
核心功能
- 创建台账 - 通过对话引导用户创建飞书多维表格
- 任务录入 - 强触发或弱触发将任务写入台账
- 定时提醒 - 每天三个时间点推送工作提醒(早晨/下午/下班前)
- 进度复盘 - 下班前自动汇总当日完成率、明日预告
国际化支持
语言环境检测(强制)
【强制检查点】每次创建台账或录入任务前,必须确认语言环境。
规则:
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. 检查飞书开放平台权限配置:
- 确认在 飞书开放平台 的应用权限管理中已开通以下权限:
- itable:app — 多维表格权限
- itable:table — 数据表权限
- itable:record — 记录读写权限
- 若权限不足,引导用户前往开放平台的「权限管理」页面申请开通
示例提示语:
"创建台账前需要:
- 安装【飞书多维表格 API 技能】— 访问 https://clawhub.ai 搜索 eishu-api-bitable 并安装
- 确认【飞书开放平台权限】— 请检查您的应用是否已开通多维表格相关权限(bitable:app / bitable:table / bitable:record)
安装完成并确认权限后请告诉我,我将继续为您创建台账。"
Step 1:检查飞书 API 权限
凭证自动获取(本 skill 自动从 OpenClaw 配置读取,无需用户手动填写):
- APP_ID → 自动从
openclaw.json的channels.feishu.appId读取 - APP_SECRET → 自动从
openclaw.json的channels.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
确认使用这个表格作为工作台账吗?回复「确认」或「是这个表」后,我将为您初始化字段模板(如有需要)。
- APP_TOKEN:
- 必须等用户明确回复「确认」才可继续,期间禁止调用 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 自作主张写"同事" → 严禁
三项必填字段全部确认后,方可写入多维表格。
相对日期处理规则(强制)
触发场景: 用户描述中包含"今天"、"明天"、"后天"、"本周五"、"下周三"等相对日期词。
处理步骤:
- 将相对日期转换为具体年月日(如"明天"→ 2026-04-24)
- 禁止写入"今天/明天/后天"等模糊词
- 回复时必须显式写出具体日期 + 星期(如"2026-04-25 本周五")
三步验证法(强制):
- 确认今天是几月几号、星期几
- 计算加几天(目标星期 - 今天星期)
- 反向验证:算出的日期星期几是否与目标星期匹配
字段精确性要求(强制)
优先级只允许以下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)
触发条件:每天首次对话时检查,当日为法定工作日。
输出格式(三部分):
- 今日重点(紧急且重要 × N): 优先级为 1 的任务列前,注明任务名、优先级、截止时间
- 进行中/待办任务(X 项): 其余进行中/待办任务,表格形式列出任务名、状态、截止、优先级
- 建议时间安排:
- 先抽 30 分钟处理:
- OA 待办审批
- 工作邮件处理
- 补充/更新当日工作清单
- 先抽 30 分钟处理:
下午提醒(建议时间 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 / 网络连接
- 表格字段不匹配 → 提示用户在飞书中检查字段配置
- 日期计算错误 → 使用三步验证法重新计算并向用户确认
- 权限不足 → 提示用户在飞书多维表格中给自己添加管理员权限