ワンクリックで
lark-base
// 当需要用 lark-cli 操作飞书多维表格(Base)时调用:搜索 Base、建表、字段管理、记录读写、记录分享链接、视图配置、历史查询,以及角色/表单/仪表盘管理/工作流;也适用于把旧的 +table / +field / +record 写法改成当前命令写法。涉及字段设计、公式字段、查找引用、跨表计算、行级派生指标、数据分析需求时也必须使用本 skill。
// 当需要用 lark-cli 操作飞书多维表格(Base)时调用:搜索 Base、建表、字段管理、记录读写、记录分享链接、视图配置、历史查询,以及角色/表单/仪表盘管理/工作流;也适用于把旧的 +table / +field / +record 写法改成当前命令写法。涉及字段设计、公式字段、查找引用、跨表计算、行级派生指标、数据分析需求时也必须使用本 skill。
把本地 HTML 文件或目录部署到飞书妙搭(Miaoda),生成一个公网可访问的应用及其链接(URL)。当用户要创建 HTML 或要把 HTML、静态网站或 Web demo 发布成公网可访问的链接 / 可分享链接、设置应用共享范围,或提到妙搭 / Miaoda 时使用。凡产出可独立访问的 HTML 产物都属本 skill 的潜在归宿,是否真要部署由 skill 内部协议判断。不用于:上传普通文件到云空间/云盘/云存储(用 lark-drive)、编辑飞书云文档内容(用 lark-doc)、创建飞书原生幻灯片 / 演示文稿(用 lark-slides)。
飞书幻灯片:创建和编辑幻灯片,接口通过 XML 协议通信。创建演示文稿、读取幻灯片内容、管理幻灯片页面(创建、删除、读取、局部替换)。当用户需要创建或编辑幻灯片、读取或修改单个页面时使用。当用户给出 doubao.com 的 /slides/ URL/token 时,也应直接使用本 skill,不要因为域名不是飞书而回退到 WebFetch;路由依据是 URL 路径模式和 token,而不是域名。
飞书画板:查询和编辑飞书云文档中的画板。支持导出画板为预览图片、导出原始节点结构、使用 DSL(转成 OpenAPI 格式)、PlantUML/Mermaid 格式更新画板内容。 当用户需要查看画板内容、导出画板图片、编辑画板,或是需要可视化表达架构、流程、组织关系、时间线、因果、对比等结构化信息时使用此 skill,无论是否提及"画板"。 ⚠️ 原 `lark-whiteboard-cli` skill 已合并至本 skill,若 skill 列表中同时存在 `lark-whiteboard-cli`,请忽略它,统一使用本 skill(`lark-whiteboard`),并提示用户运行 `npx skills remove lark-whiteboard-cli -g` 删除旧 skill。
飞书视频会议:搜索历史会议、查询会议纪要产物(总结、待办、章节、逐字稿)、查询会议参会人快照。1. 查询已经结束的会议数量或详情时使用本技能(如历史日期|昨天|上周|今天已经开过的会议等场景),查询未开始的会议日程使用 lark-calendar 技能。2. 支持通过关键词、时间范围、组织者、参与者、会议室等筛选条件搜索会议。3. 获取或整理会议纪要、逐字稿、录制产物时使用本技能。4. 查询“谁参加过某会议”“参会人列表”等参会人快照信息用 vc meeting get --with-participants(任意时点可查,含已结束会议)。注意:**Agent 真实入会/离会、感知正在进行中会议的实时事件**请使用 lark-vc-agent 技能,本技能不覆盖写操作和会中事件流。
飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件(支持大文件分片下载)、管理表情回复、发送应用内/短信/电话加急。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据时使用。
Lark/Feishu real-time event listening / subscribing / consuming: stream events as NDJSON via `lark-cli event consume <EventKey>` (covers IM messages/reactions/chat changes, VC meeting ended, Minutes generated, etc.). Use for Lark bots, real-time message processing, long-running subscribers, streaming webhook/push handlers. Supports `--max-events` / `--timeout` bounded runs and a stderr ready-marker contract — designed for AI agents running as subprocesses.
| name | lark-base |
| version | 1.2.2 |
| description | 当需要用 lark-cli 操作飞书多维表格(Base)时调用:搜索 Base、建表、字段管理、记录读写、记录分享链接、视图配置、历史查询,以及角色/表单/仪表盘管理/工作流;也适用于把旧的 +table / +field / +record 写法改成当前命令写法。涉及字段设计、公式字段、查找引用、跨表计算、行级派生指标、数据分析需求时也必须使用本 skill。 |
| metadata | {"requires":{"bins":["lark-cli"]},"cliHelp":"lark-cli base --help"} |
前置条件: 先阅读
../lark-shared/SKILL.md。 执行前必做: 执行任何base命令前,必须先阅读对应命令的 reference 文档,再调用命令。 查询类任务必做: 涉及筛选、排序、Top/Bottom N、聚合、多表关联、查询后写入或判断全局结论时,必须先阅读references/lark-base-data-analysis-sop.md,再选择record / view / data-query路径。 命名约定: Base 业务命令仅使用lark-cli base +...形式;解析 Wiki 链接使用lark-cli wiki +node-get。 分流规则: 如果用户要“把本地文件导入成 Base / 多维表格 / bitable”,第一步不是base,而是lark-cli drive +import --type bitable;导入完成后再回到lark-cli base +...做表内操作。
以下场景应使用本 skill:
/base/{token} 链接。/wiki/{token} 链接,且最终解析为 bitable。+table / +field / +record / +view / +history / +workspace 改写成当前命令。以下场景不应使用本 skill:
--as user/bot、处理 scope。此时先读 ../lark-shared/SKILL.md。../lark-shared/SKILL.md。lark-cli base +... 形式的 shortcut 命令。lark-cli wiki +node-get --node-token <wiki_url_or_token>;当返回 data.obj_type=bitable 时,把 data.obj_token 当作 --base-token。不要把 URL 里的 /wiki/{token} 当成 Base token。(旧的 --token flag 仍可用,但已 deprecated,会在 stderr 打印迁移提示。).base 快照导入成 Base / 多维表格 / bitable,第一步不是 base,而是 lark-cli drive +import --type bitable;导入完成后再回到 lark-cli base +... 做表内操作。lark-cli api /open-apis/bitable/v1/...。lark-cli drive +search --query <keyword> --doc-types bitable 搜索 Base / 多维表格资源;拿到 Base URL 后再使用本 skill 的 base +... 命令。复杂搜索再读 ../lark-drive/references/lark-drive-search.md:标题精确匹配、限定 owner(--mine / --creator-ids,owner 语义非"最初创建人")/群/文件夹/时间范围、只搜标题/评论、分页/全量搜索。本章按“先选模块,再选命令”的方式组织。先判断用户目标属于哪个大模块,再进入对应子模块,按要求阅读 reference 后执行命令。
| 大模块 | 处理什么问题 | 包含的小模块 / 能力 |
|---|---|---|
| Base 模块 | 管理 Base 本体,或从链接进入 Base 场景 | base-create / base-get / base-copy,Base / Wiki 链接解析 |
| 表与数据模块 | 管理 Base 内部结构与日常数据操作 | table / field / record / view |
| 公式 / Lookup 模块 | 处理派生字段、条件判断、跨表计算、固定查找引用 | formula / lookup 字段创建与更新 |
| 数据分析模块 | 做一次性筛选、分组、聚合分析 | data-query |
| Workflow 模块 | 管理自动化流程 | workflow-list / get / create / update / enable / disable |
| Dashboard 模块 | 管理仪表盘和图表组件 | dashboard-* / dashboard-block-* |
| 表单模块 | 管理表单和表单题目 | form-* / form-questions-* |
| 权限与角色模块 | 管理高级权限和自定义角色 | advperm-* / role-* |
用于管理 Base 本体,或从用户给出的链接进入后续 Base 操作。
模块索引:references/lark-base-workspace.md
| 命令 | 用途 / 何时使用 | 必读 reference | 路由提醒 |
|---|---|---|---|
lark-cli drive +search --query <keyword> --doc-types bitable | 按名称、关键词查找 Base / 多维表格 / bitable | 复杂搜索再读 ../lark-drive/references/lark-drive-search.md | 先定位资源,再回到 base +... 操作表内数据 |
+base-create | 创建新的 Base | lark-base-base-create.md、lark-base-workspace.md | 写入操作;执行前先读 reference;--folder-token、--time-zone 都是可选项 |
+base-get | 获取 Base 信息 | lark-base-base-get.md、lark-base-workspace.md | 适合确认 Base 本体信息,不替代表/字段结构读取 |
+base-copy | 复制已有 Base | lark-base-base-copy.md、lark-base-workspace.md | 写入操作;执行前先读 reference;复制成功后应主动返回新 Base 标识信息 |
这是最常用的大模块,包含 table / field / record / view 四类子模块。
补充示例:references/examples.md,适合需要串联 table / record / view 完整操作链路时再读。
子模块索引:references/lark-base-table.md
| 命令 | 用途 / 何时使用 | 必读 reference | 路由提醒 |
|---|---|---|---|
+table-list / +table-get | 列出数据表,或获取单个表详情 | lark-base-table-list.md、lark-base-table-get.md | +table-list 只能串行执行;+table-get 适合删除/修改前确认目标 |
+table-create / +table-update / +table-delete | 创建、更新或删除数据表 | lark-base-table-create.md、lark-base-table-update.md、lark-base-table-delete.md | 创建适合一次性建表;更新前先确认目标表;删除时用户已明确目标可直接执行并带 --yes |
普通字段管理走这里;如果字段类型是 formula 或 lookup,转到下方“公式 / Lookup 模块”。
子模块索引:references/lark-base-field.md
| 命令 | 用途 / 何时使用 | 必读 reference | 路由提醒 |
|---|---|---|---|
+field-list / +field-get | 列出字段结构,或获取单个字段详情 | lark-base-field-list.md、lark-base-field-get.md | 写记录、写字段、做分析前常先读 +field-list;+field-list 只能串行执行;+field-get 适合删除/更新前确认目标 |
+field-create / +field-update / +field-delete | 创建、更新或删除普通字段 | lark-base-field-create.md、lark-base-field-update.md、lark-base-field-delete.md、lark-base-shortcut-field-properties.md | 写字段前先看字段属性规范;如果涉及类型转换,直接按 +field-update 中的字段类型变更规则执行,只在安全白名单内考虑原地转换;如果类型是 formula / lookup,先转去读对应 guide;更新或删除时用户已明确目标可直接执行并带 --yes |
+field-search-options | 查询字段可选项 | lark-base-field-search-options.md | 适合单选/多选等选项型字段 |
子模块索引:references/lark-base-record.md、references/lark-base-history.md
| 命令 | 用途 / 何时使用 | 必读 reference | 路由提醒 |
|---|---|---|---|
+record-search / +record-list / +record-get | 按关键词检索记录、读取记录明细 / 分页导出,或按 ID 获取一条或多条记录 | lark-base-data-analysis-sop.md | 记录读取统一先读 data analysis SOP:已知 record_id 用 +record-get;明确关键词用 +record-search;普通明细用 +record-list;明确筛选 / 排序 / Top N 用临时视图投影后 +record-list --view-id;统计聚合才分流到 +data-query;+record-get 支持重复 --record-id 或 --json 读取多条记录 |
+record-upsert / +record-batch-create / +record-batch-update | 创建、更新或批量写入记录 | lark-base-record-upsert.md、lark-base-record-batch-create.md、lark-base-record-batch-update.md、lark-base-cell-value.md | 写前先 +field-list;只写存储字段;+record-batch-update 为同值更新(同一 patch 应用到多条记录);批量单次不超过 200 条;附件不要走这里 |
+record-upload-attachment | 给已有记录上传一个或多个附件 | 看 lark-cli base +record-upload-attachment --help | 附件上传专用链路,不要用 +record-upsert / +record-batch-* 伪造附件值;不支持 --name |
+record-download-attachment | 下载一个或多个 Base 附件到本地 | 看 lark-cli base +record-download-attachment --help | Base 附件必须用这个命令下载;用其他下载入口可能失败 |
+record-remove-attachment | 删除附件字段里的一个或多个附件 | 看 lark-cli base +record-remove-attachment --help | 删除操作;确认目标后带 --yes |
+record-delete | 删除一条或多条记录 | lark-base-record-delete.md | 删除多条时重复传 --record-id 指定多个记录;用户已明确目标可直接执行并带 --yes |
+record-history-list | 查询指定记录的变更历史 | lark-base-record-history-list.md | 按 table-id + record-id 查询,不支持整表扫描;+record-history-list 只能串行执行 |
+record-share-link-create | 为一条或多条记录生成分享链接 | lark-base-record-share-link-create.md | 单次最多 100 条;重复 record_id 会自动去重;适合分享单条记录或批量分享场景 |
子模块索引:references/lark-base-view.md
| 命令 | 用途 / 何时使用 | 必读 reference | 路由提醒 |
|---|---|---|---|
+view-list / +view-get | 列出视图,或获取视图详情 | lark-base-view-list.md、lark-base-view-get.md | +view-list 只能串行执行;+view-get 适合查看已有视图配置 |
+view-create / +view-delete / +view-rename | 创建、删除或重命名视图 | lark-base-view-create.md、lark-base-view-delete.md、lark-base-view-rename.md | 创建前先确认表和视图类型;删除前先确认目标;用户已明确新名字时可直接重命名 |
+view-get-filter / +view-set-filter | 读取或配置筛选条件 | lark-base-view-get-filter.md、lark-base-view-set-filter.md、lark-base-data-analysis-sop.md | 常与 +record-list 组合,用于按视图筛选读取 |
+view-get-sort / +view-set-sort | 读取或配置排序 | lark-base-view-get-sort.md、lark-base-view-set-sort.md | 字段名必须来自真实结构 |
+view-get-group / +view-set-group | 读取或配置分组 | lark-base-view-get-group.md、lark-base-view-set-group.md | 字段名必须来自真实结构 |
+view-get-visible-fields / +view-set-visible-fields | 读取或配置视图可见字段 | lark-base-view-get-visible-fields.md、lark-base-view-set-visible-fields.md | 用于控制视图中的字段顺序与可见性;字段名必须来自真实结构 |
+view-get-card / +view-set-card | 读取或配置卡片视图 | lark-base-view-get-card.md、lark-base-view-set-card.md | 适合卡片展示场景 |
+view-get-timebar / +view-set-timebar | 读取或配置时间轴视图 | lark-base-view-get-timebar.md、lark-base-view-set-timebar.md | 适合时间线展示场景 |
只要用户诉求涉及派生指标、条件判断、文本处理、日期差、跨表计算、跨表筛选后取值,都要先判断是否进入本模块。
默认优先考虑 formula:适合常规计算、条件判断、文本处理、日期差、跨表聚合,以及需要长期显示在表里的派生结果。
只有当用户明确要求 lookup,或场景天然符合 from / select / where / aggregate 这种固定查找建模时,再使用 lookup。
| 命令 | 用途 / 何时使用 | 必读 reference | 路由提醒 |
|---|---|---|---|
+field-create(type=formula) | 创建公式字段 | formula-field-guide.md、lark-base-field-create.md、lark-base-shortcut-field-properties.md | 没读 guide 前不要直接创建 |
+field-update(type=formula) | 更新公式字段 | formula-field-guide.md、lark-base-field-update.md、lark-base-shortcut-field-properties.md | 先拿当前表结构 |
+field-create(type=lookup) | 创建 lookup 字段 | lookup-field-guide.md、lark-base-field-create.md、lark-base-shortcut-field-properties.md | 没读 guide 前不要直接创建 |
+field-update(type=lookup) | 更新 lookup 字段 | lookup-field-guide.md、lark-base-field-update.md、lark-base-shortcut-field-properties.md | 跨表时还要拿目标表结构 |
用于一次性分析和临时聚合查询。用户要的是“这次算出来的结果”,而不是把结果沉淀成字段时,优先进入本模块。
进入本模块前先确认几件事:
+data-query 只做聚合查询(分组、过滤、排序、聚合计算),不用于列出原始记录或逐条明细。+data-query 只支持白名单字段类型;formula、lookup、附件、系统字段、关联等字段不能用于 dimensions / measures / filters / sort。| 命令 | 用途 / 何时使用 | 必读 reference | 路由提醒 |
|---|---|---|---|
+data-query | 做分组统计、SUM / AVG / COUNT / MAX / MIN、条件筛选后的聚合分析 | lark-base-data-query.md | 字段名必须精确匹配真实字段名;不要用 +record-list / +record-search 拉全量再手算;+data-query 不返回原始记录;使用前先确认权限和字段类型是否受支持 |
这是高约束模块。执行任何 workflow 命令前,都必须先读对应命令文档和 schema。
模块索引:references/lark-base-workflow.md
| 命令 | 用途 / 何时使用 | 必读 reference | 路由提醒 |
|---|---|---|---|
+workflow-list / +workflow-get | 列出 workflow,或获取完整 workflow 结构 | lark-base-workflow-list.md、lark-base-workflow-get.md、lark-base-workflow-schema.md | +workflow-list 只返回摘要且只能串行执行;需要完整结构时用 +workflow-get |
+workflow-create / +workflow-update | 创建或更新 workflow | lark-base-workflow-create.md、lark-base-workflow-update.md、lark-base-workflow-schema.md | 先读 schema;禁止凭自然语言猜 type;先确认真实表名和字段名 |
+workflow-enable / +workflow-disable | 启用或停用 workflow | lark-base-workflow-enable.md、lark-base-workflow-disable.md、lark-base-workflow-schema.md | 启用或停用前先确认目标 workflow;workflow_id 与 table_id 需按前缀区分 |
当用户提到“仪表盘、dashboard、数据看板、图表、可视化、block、组件、添加组件、创建图表”等关键词时,进入本模块,并先阅读 lark-base-dashboard.md。
| 命令 | 用途 / 何时使用 | 必读 reference | 路由提醒 |
|---|---|---|---|
+dashboard-list / +dashboard-get | 列出仪表盘,或获取仪表盘详情 | lark-base-dashboard-list.md、lark-base-dashboard-get.md、lark-base-dashboard.md | 进入仪表盘语义后先读 guide;+dashboard-list 只能串行执行 |
+dashboard-create / +dashboard-update / +dashboard-delete | 创建、更新或删除仪表盘 | lark-base-dashboard-create.md、lark-base-dashboard-update.md、lark-base-dashboard-delete.md、lark-base-dashboard.md | 创建前先明确看板目标和展示场景;更新前先读取当前配置;删除前先确认目标 |
+dashboard-block-list / +dashboard-block-get | 列出图表组件,或获取单个 block 详情 | lark-base-dashboard-block-list.md、lark-base-dashboard-block-get.md、lark-base-dashboard.md、dashboard-block-data-config.md | +dashboard-block-list 只能串行执行;查看配置细节时读 block config 文档 |
+dashboard-block-get-data | 获取图表组件的计算结果 | lark-base-dashboard-block-get-data.md、lark-base-dashboard.md、dashboard-block-data-config.md | 适合读取图表组件的最终计算结果;此命令不返回 block 元数据,只返回计算结果 |
+dashboard-block-create / +dashboard-block-update / +dashboard-block-delete | 创建、更新或删除图表组件 | lark-base-dashboard-block-create.md、lark-base-dashboard-block-update.md、lark-base-dashboard-block-delete.md、lark-base-dashboard.md、dashboard-block-data-config.md | 涉及 data_config、图表类型、filter 时要读 block config 文档;删除前先确认目标 |
用于管理表单本体和表单题目。
模块索引:references/lark-base-form.md、references/lark-base-form-questions.md
表单问题相关操作依赖 form-id;具体获取方式见 form-list 和 form-create 的 reference。
| 命令 | 用途 / 何时使用 | 必读 reference | 路由提醒 |
|---|---|---|---|
+form-list / +form-get | 列出表单,或获取单个表单 | lark-base-form-list.md、lark-base-form-get.md | +form-list 可用来获取 form-id;+form-get 适合查看已有表单配置 |
+form-detail | 通过表单分享链接获取表单详情(含题目列表、字段类型、校验规则) | lark-base-form-detail.md | 只读;仅需 --share-token(从分享链接提取),不需要 base-token/table-id/form-id;返回的 questions 可直接用于 +form-submit 构造参数 |
+form-submit | 通过表单分享链接填写并提交表单(支持普通字段 + 附件上传) | lark-base-form-submit.md | 写入操作;仅支持 share_token 模式;当 --json 包含 attachments 时必须额外提供 --base-token(附件上传到 Base Drive Media 需要);附件通过 --json.attachments 传入本地路径,CLI 自动并行上传 |
+form-create / +form-update / +form-delete | 创建、更新或删除表单 | lark-base-form-create.md、lark-base-form-update.md、lark-base-form-delete.md | 创建后可继续进入表单问题相关操作;更新或删除前先确认目标表单 |
+form-questions-list | 列出表单题目 | lark-base-form-questions-list.md | 适合查看已有题目结构 |
+form-questions-create / +form-questions-update / +form-questions-delete | 创建、更新或删除题目 | lark-base-form-questions-create.md、lark-base-form-questions-update.md、lark-base-form-questions-delete.md | 先确认 form-id;更新或删除前先确认题目目标 |
用于启用高级权限,以及管理 Base 自定义角色。
涉及 +advperm-enable / +advperm-disable / +role-* 时,操作用户必须为 Base 管理员,否则会返回权限错误。
| 命令 | 用途 / 何时使用 | 必读 reference | 路由提醒 |
|---|---|---|---|
+advperm-enable / +advperm-disable | 启用或停用高级权限 | lark-base-advperm-enable.md、lark-base-advperm-disable.md | 管理角色前必须先启用;停用是高风险操作,会使已有自定义角色失效 |
+role-list / +role-get | 列出角色,或获取角色详情 | lark-base-role-list.md、lark-base-role-get.md、role-config.md | +role-list 只能串行执行;+role-get 适合查看完整权限配置 |
+role-create / +role-update / +role-delete | 创建、更新或删除角色 | lark-base-role-create.md、lark-base-role-update.md、lark-base-role-delete.md、role-config.md | +role-create 仅支持 custom_role;+role-update 采用 Delta Merge,role_name 和 role_type 即使不改也必须传当前值;+role-delete 不可逆 |
飞书多维表格英文名是 Base,曾用名 Bitable;因此旧文档、返回字段、参数名或错误信息里出现 bitable 多属历史兼容,不代表应改用另一套命令体系。
| 字段类型 | 含义 | 能否直接作为 +record-upsert / +record-batch-create / +record-batch-update 写入目标 | 说明 |
|---|---|---|---|
| 存储字段 | 真实存用户输入的数据 | 可以 | 常见如文本、数字、日期、单选、多选、人员、关联 |
| 附件字段 | 存储文件附件 | 不应直接按普通字段写 | 上传附件走 +record-upload-attachment;下载附件走 +record-download-attachment;删除附件走 +record-remove-attachment |
| 地理位置字段 | 存储坐标并由平台解析地址 | 可以 | 写入必须使用 {lng,lat};读取、筛选和转文本等场景使用 full_address 字符串;只有公式能访问坐标 |
| 系统字段 | 平台自动维护 | 不可以 | 常见如创建时间、更新时间、创建人、修改人、自动编号 |
formula 字段 | 通过表达式计算 | 不可以 | 只读字段 |
lookup 字段 | 通过跨表规则查找引用 | 不可以 | 只读字段 |
| 用户诉求 | 优先方案 | 不要误走 |
|---|---|---|
| 一次性分析 / 临时统计 | +data-query | 不要用 +record-list / +record-search 拉全量后手算 |
| 要把结果长期显示在表里 | formula 字段 | 不要只给一次性手工分析结果 |
| 用户明确要求 lookup,或天然是固定查找配置 | lookup 字段 | 不要默认先上 lookup;先判断 formula 是否更合适 |
| 读取原始记录明细 / 关键词检索 / 导出 | +record-search / +record-list / +record-get | 不要拿 +data-query 当取数命令 |
| 上传附件到记录 | +record-upload-attachment | 不要用 +record-upsert / +record-batch-* 伪造附件值 |
| 下载记录里的附件文件 | +record-download-attachment --record-id <record_id> --output <dir>,可加 --file-token <file_token> 只下指定附件 | Base 附件必须用这个命令下载;用其他下载入口可能失败 |
| 写入地理位置 | +record-upsert / +record-batch-* 传 {lng,lat} | 不要把纯地址文本当成 CellValue |
| 基于视图做筛选读取 | +view-set-filter + +record-list | 不要跳过视图筛选直接猜条件 |
本地 Excel / CSV / .base 导入为 Base | lark-cli drive +import --type bitable | 不要误走 +base-create、+table-create 或 +record-upsert |
涉及查询、统计或判断结论时,先阅读 references/lark-base-data-analysis-sop.md,并遵守以下高优先级规则:
+record-list 默认页、固定 --limit 和本地 jq 只能证明已读取范围内的事实,不能直接支撑全局最值、全量计数、Top/Bottom N、异常识别或分组结论。has_more=true 或等价分页信号表示当前结果不是全量;除非用户只要样例/前 N 条,不能基于该页回答全局问题。record_id 是关系键,不是用户可读答案。+table-list / +table-get / +field-list。formula / lookup / data-query / workflow 中出现的名称同样必须精确匹配;表达式引用、where 条件、DSL 字段名、workflow 配置都遵守同一规则。这是高优先级章节。只要用户输入里出现链接、token,或报错涉及 baseToken / wiki_token / obj_token,都应优先回到这里检查。
| 输入类型 | 正确处理方式 | 说明 |
|---|---|---|
直接 Base 链接 /base/{token} | 直接提取 token 作为 --base-token | 不要把完整 URL 直接作为 --base-token |
Wiki 链接 /wiki/{token} | 先用下方 fast path 解析 data.obj_token | 不要把 wiki_token 直接当 --base-token;如果这一步失败,再看 lark-wiki-node-get.md |
URL 中的 ?table={id} | 先按前缀判断对象类型 | tbl 开头表示数据表 table-id,可作为 --table-id;blk 开头表示仪表盘 dashboard-ID;wkf 开头表示 workflow-ID;ldx 开头表示内嵌文档,不要一律当成 --table-id |
URL 中的 ?view={id} | 提取为 --view-id | 适合直接定位视图 |
Wiki Base fast path:
BASE_TOKEN="$(lark-cli wiki +node-get --as user --node-token "<wiki_url_or_token>" --jq '.data | select(.obj_type == "bitable") | .obj_token')"
lark-cli wiki +node-get 返回的 data.obj_type | 后续路线 | 说明 |
|---|---|---|
bitable | 优先走 lark-cli base +... | 如果 shortcut 不覆盖,再用 lark-cli base <resource> <method>;不要改走 lark-cli api /open-apis/bitable/v1/... |
docx | 转到文档 / Drive 相关 skill | 不继续使用本 skill 的 Base 命令 |
sheet | 转到 Sheets 相关 skill | 不继续使用本 skill 的 Base 命令 |
slides | 转到 Drive 相关 skill | 不继续使用本 skill 的 Base 命令 |
mindnote | 转到 Drive 相关 skill | 不继续使用本 skill 的 Base 命令 |
多维表格通常属于用户的个人或团队资源。默认应优先使用 --as user(用户身份)执行所有 Base 操作,始终显式指定身份。
--as user(推荐):以当前登录用户身份操作其有权访问的 Base。执行前先完成用户授权:lark-cli auth login --domain base
--as bot(降级):仅当 user 身份权限不足、且 bot 身份确实拥有目标 Base 的访问权限时,才降级使用。bot 看不到用户私有资源,行为以应用身份执行。执行规则:
--as user。91403)。若是,立即停止,不做任何重试或降级,直接按 lark-shared 权限不足处理流程引导用户解决。permission_violations / hint 等提权引导信息:
lark-shared 权限不足处理流程,先引导用户完成 user 身份提权(auth login --scope);确认提权成功后,以 --as user 重试。--as bot 重试一次。lark-shared 流程引导用户解决(引导去开发者后台开通 scope 或确认资源访问权限)。--as bot。base_token。record / view / data-query。+table / +field / +record / +view / +history / +workspace。+field-list,再按 lark-base-cell-value.md 构造 CellValue。lark-base-shortcut-field-properties.md,再构造 +field-create / +field-update 的 JSON。formula、lookup 默认不作为普通记录写入目标。+data-query,关键词检索走 +record-search,明细走 +record-list / +record-get。+view-set-filter 配置筛选,再结合 +record-list 读取。--limit 或未证明全量的本地 jq 结果下结论。lark-cli api /open-apis/bitable/v1/...。--base-token。type。+table-list / +field-list / +record-list / +view-list / +record-history-list / +role-list / +dashboard-list / +dashboard-block-list / +workflow-list 禁止并发调用,只能串行执行。+record-list 分页时,--limit 最大 200;先拉首批并检查 has_more,只有用户明确需要更多数据时再继续翻页。200 条。0.5–1 秒。+view-rename 直接执行即可。+field-update / +record-delete / +field-delete / +table-delete 可直接执行,并带 --yes。+record-get / +field-get / +table-get 或相应 list 命令确认。+base-create / +base-copy 成功后,回复中必须主动返回新 Base 的标识信息;若结果带可访问链接,也应一并返回。full_access,并在输出中返回 permission_grant;agent 不需要再手动编排单独授权。owner 转移必须单独确认,禁止擅自执行。| 错误 / 现象 | 含义 | 恢复动作 |
|---|---|---|
1254064 | 日期格式错误 | 传 YYYY-MM-DD HH:mm:ss 字符串,不要写相对时间 |
1254068 | 超链接格式错误 | "https://example.com" 或 "[文本](https://example.com)" |
1254066 | 人员字段错误 | [{ "id": "ou_xxx" }] |
1254045 | 字段名不存在 | 检查字段名(含空格、大小写) |
1254015 | 字段值类型不匹配 | 先 +field-list,再按类型构造 |
param baseToken is invalid / base_token invalid | 把 wiki token、workspace token 或其他 token 当成了 base_token | 如果输入来自 /wiki/...,先用 lark-cli wiki +node-get --node-token <wiki_url_or_token> 取真实 data.obj_token;当 data.obj_type=bitable 时,用 data.obj_token 作为 --base-token 重试,不要改走 bitable/v1 |
not found 且用户给的是 wiki 链接 | 常见于把 wiki token 当成 base token | 优先回退检查 wiki 解析,而不是改走 bitable/v1 |
| formula / lookup 创建失败 | 指南未读或结构不合法 | 先读 formula-field-guide.md / lookup-field-guide.md,再按 guide 重建请求 |
ignored_fields / READONLY | 只读字段被当成可写字段,常见于系统字段、formula、lookup | 移除只读字段,只写存储字段;计算结果交给 formula / lookup / 系统字段自动产出 |
1254104 | 批量超 200 条 | 分批调用 |
1254291 | 并发写冲突 | 串行写入 + 批次间延迟 |
91403 | 无权限访问该 Base | 不要重试。按 lark-shared 权限不足处理流程引导用户解决权限问题 |