npx skills add https://github.com/larksuite/cli --skill lark-base前置条件: 先阅读
../lark-shared/SKILL.md。 执行前必做: 执行任何base命令前,必须先阅读对应命令的 reference 文档,再调用命令。 命名约定: 仅使用lark-cli base +...形式的命令。
+data-queryfrom/select/where/aggregate → lookup 字段+record-list / +record-get广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
+field-list 或 +table-get+record-list 当聚合分析引擎+record-upsert 的写入目标lark-cli api GET /open-apis/bitable/v1/...obj_type=bitable 就去找 bitable.*;在本 CLI 里应继续使用 lark-cli base +...+record-upsert 写入,例如文本、数字、日期、单选、多选、人员、关联。附件字段例外 :对 agent 而言,文件上传必须走 +record-upload-attachment。+record-upsert 入参。+data-query 或公式字段在 Base 内完成。+data-query
+record-list / +record-get
+record-list 当分析引擎;它负责取明细,不负责聚合计算。formula-field-guide.mdlookup-field-guide.mdtype=formula 必须提供 expressiontype=lookup 必须提供 from / select / where,必要时补 aggregate+table-list / +table-get / +field-list 的真实返回,禁止凭语义猜测改写。执行任何 workflow 命令前,必须先读两份文档:对应的命令文档 +lark-base-workflow-schema.md
+workflow-create → 先读 lark-base-workflow-create.md + schema+workflow-update → 先读 lark-base-workflow-update.md + schema+workflow-list → 先读 lark-base-workflow-list.md + schema+workflow-get → 先读 lark-base-workflow-get.md + schema+workflow-enable → 先读 lark-base-workflow-enable.md + schema+workflow-disable → 先读 lark-base-workflow-disable.md + schematype 值(如把"新增记录"猜成 CreateTrigger),必须从 schema 的 StepType 枚举中复制准确的类型名称创建前确认依赖信息
+table-list / +field-list 获取真实的表名、字段名+table-list / +table-get / +field-create / +record-upsert / +view-set-filter / +record-history-list / +base-get 这类一命令一动作的写法,不使用旧聚合式 +table / +field / +record / +view / +history / +workspace+field-list 获取字段结构,再读 lark-base-shortcut-record-value.md 确认各字段类型的写入值格式+field-create/+field-update 的 JSON 结构+view-set-filter + +record-list 组合完成筛选读取+data-query 进行数据筛选聚合的服务端计算+data-query(服务端计算),禁止用 +record-list 拉全量记录再手动计算;反之,+data-query 不返回原始记录,取数场景仍走 +record-list / +record-get+xxx-list 禁止并发调用 — +table-list / +field-list / +record-list / +view-list / +record-history-list / +role-list 只能串行执行--base-token,不使用旧 --app-token+data-query+field-create / +field-update 维护字段定义外,不要把这些字段作为记录写入目标+view-rename 在目标视图和新名称都明确时可直接执行;+record-delete / +field-delete / +table-delete 在用户已经明确要求删除且目标明确时也可直接执行,不需要再补一次确认,并且执行删除命令时要主动补上 --yes;只有目标不明确时才继续追问+form-list(先拿 form-id)+form-get+form-questions-list+form-questions-delete+form-questions-create / +form-questions-update| 意图 | 推荐命令 | 备注 |
|---|---|---|
| 列表 / 获取数据表 | lark-cli base +table-list / +table-get | 原子命令 |
| 创建 / 更新 / 删除数据表 | lark-cli base +table-create / +table-update / +table-delete | 一命令一动作 |
| 列表 / 获取字段 | lark-cli base +field-list / +field-get | 原子命令 |
| 创建 / 更新字段 | lark-cli base +field-create / +field-update | 使用 --json |
| 创建 / 更新公式字段 | lark-cli base +field-create / +field-update | type=formula;先读 formula guide,再创建 / 更新 |
| 创建 / 更新 lookup 字段 | lark-cli base +field-create / +field-update | type=lookup;先读 lookup guide,再创建 / 更新,默认先判断 formula 是否更合适 |
| 列表 / 获取记录 | lark-cli base +record-list / +record-get | 原子命令,如果需要聚合计算,分组统计 推荐走 +data-query |
| 创建 / 更新记录 | lark-cli base +record-upsert | --table-id [--record-id] --json |
| 聚合分析 / 比较排序 / 求最值 / 筛选统计 | lark-cli base +data-query | 不要用 +record-list 拉全量数据再手动计算,需使用 +data-query 走服务端计算 |
| 配置 / 查询视图 | lark-cli base +view-* | list/get/create/delete/get-*/set-*/rename |
| 查看记录历史 | lark-cli base +record-history-list | 按表和记录查询变更历史 |
| 按视图筛选查询 | lark-cli base +view-set-filter + lark-cli base +record-list | 组合调用 |
| 创建 / 获取 / 复制 Base | lark-cli base +base-create / +base-get / +base-copy | 原子命令 |
| 列表 / 获取工作流 | lark-cli base +workflow-list / +workflow-get | 原子命令 |
| 创建 / 更新工作流 | lark-cli base +workflow-create / +workflow-update | 使用 --json,必须阅读 schema |
| 启用 / 停用工作流 | lark-cli base +workflow-enable / +workflow-disable | 一命令一动作 |
| 启用 / 停用高级权限 | lark-cli base +advperm-enable / +advperm-disable | 启用后才能使用自定义角色;停用会使已有角色失效 |
| 列表 / 获取角色 | lark-cli base +role-list / +role-get | 查看角色摘要或完整配置 |
| 创建 / 更新 / 删除角色 | lark-cli base +role-create / +role-update / +role-delete | 管理自定义角色权限 |
| 列表 / 获取表单 | lark-cli base +form-list / +form-get | 原子命令 |
| 创建 / 更新 / 删除表单 | lark-cli base +form-create / +form-update / +form-delete | 一命令一动作 |
| 列表 / 创建 / 更新 / 删除表单问题 | lark-cli base +form-questions-list / +form-questions-create / +form-questions-update / +form-questions-delete | 一命令一动作 |
| 列表 / 获取仪表盘 | lark-cli base +dashboard-list / +dashboard-get | 原子命令 |
| 创建 / 更新 / 删除仪表盘 | lark-cli base +dashboard-create / +dashboard-update / +dashboard-delete | 一命令一动作 |
| 列表 / 获取仪表盘 Block | lark-cli base +dashboard-block-list / +dashboard-block-get | 原子命令 |
| 创建 / 更新 / 删除仪表盘 Block | lark-cli base +dashboard-block-create / +dashboard-block-update / +dashboard-block-delete | 一命令一动作 |
--base-token+xxx-list 调用纪律:+table-list / +field-list / +record-list / +view-list / +record-history-list / +role-list / +dashboard-list / +dashboard-block-list / +workflow-list 禁止并发调用;批量执行时只能串行+record-list limit 上限:--limit 最大 200。需要更多数据时必须用分页(offset 递增)分批拉取,禁止单次传超过 200+record-upload-attachment 这条链路(读字段 → 读记录 → 上传素材 → 回写记录)user_id_type 与执行身份(user / bot)差异+record-history-list 按 table-id + record-id 查询记录历史,不支持整表历史扫描+base-create / +base-get / +base-copy+base-create / +base-copy 结果返回规范:创建或复制成功后,回复中必须主动返回新 Base 的标识信息。若返回结果里带可访问链接(如 base.url),要一并返回+base-create / +base-copy 友好性规则:--folder-token、--time-zone、复制时的 --name 都是可选项。用户没有特别要求时,不要为了这些可选参数额外打断;能直接创建/复制就直接执行+base-create / +base-copy 权限处理(bot 创建):若 Base 由应用身份(bot)创建,创建或复制成功后默认继续使用 bot 身份为当前可用 user(指当前 CLI 中 auth 模块已登录且可用的用户身份)添加 full_access(管理员)权限,并在回复中明确授权结果(成功 / 无可用 user / 授权失败及原因)。若授权未完成,要继续给出后续引导(稍后重试授权或继续用 bot);owner 转移必须单独确认,禁止擅自执行+dashboard-create 创建后返回 dashboard_id;Block 的 data_config 通过 JSON 字符串传入,支持 @file.json 读取文件+advperm-enable 启用高级权限后才能管理角色(+role-*);+advperm-disable 是高风险操作,停用后已有自定义角色全部失效;操作用户必须为 Base 管理员;先读 lark-base-advperm-enable.md / lark-base-advperm-disable.md+role-create 仅支持 custom_role;+role-update 采用 Delta Merge(role_name 和 role_type 必须始终提供);+role-delete 不可逆且仅支持自定义角色;角色配置支持 base_rule_map(Base 级复制/下载)、table_rule_map(表级权限含记录/字段粒度)、dashboard_rule_map(仪表盘权限)、docx_rule_map(文档权限);写角色前先读 role-config.md+form-list 获取;+form-create 返回的 id 即 form-id,可用于 +form-questions-* 操作+workflow-list 返回的不是完整树状结构,若需读取完整结构请使用 +workflow-get。+data-query 前必须先阅读 lark-base-data-query.md 了解 DSL 结构、支持的字段类型、聚合函数和限制条件;DSL 中的 field_name 必须与表字段名精确匹配,构造前先用 +field-list 获取真实字段名+view-rename 直接执行即可,不需要再补一句确认+record-delete / +field-delete / +table-delete 可直接执行,不需要再补一次确认;执行时直接带 --yes 通过 CLI 的高风险写入校验。只有目标仍有歧义时,再先用 +record-get / +field-get / +table-get 或 list 命令确认知识库链接(/wiki/TOKEN)背后可能是云文档、电子表格、多维表格等不同类型的文档。不能直接假设 URL 中的 token 就是 file_token ,必须先查询实际类型和真实 token。
使用wiki.spaces.get_node 查询节点信息
lark-cli wiki spaces get_node --params '{"token":"<wiki_token>"}'
从返回结果中提取关键信息
node.obj_type:文档类型(docx/doc/sheet/bitable/slides/file/mindnote)node.obj_token:真实的文档 token (用于后续操作)node.title:文档标题根据obj_type 选择后续命令
| obj_type | 说明 | 后续命令 | |----------|------|-----------| | docx | 新版云文档 | drive file.comments.*、docx.* | | doc | 旧版云文档 | drive file.comments.* | | sheet | 电子表格 | sheets.* | | bitable | 多维表格 | lark-cli base +...(优先);如果 shortcut 不覆盖,再用 lark-cli base <resource> <method>;不要 改走 lark-cli api /open-apis/bitable/v1/... | | slides | 幻灯片 | drive.* | | file | 文件 | drive.* | | mindnote | 思维导图 | drive.* |
把 wiki 解析出的obj_token 当成 Base token 使用
obj_type=bitable 时,node.obj_token 就是后续 base 命令应使用的真实 token。/wiki/... 链接,不要把 wiki_token 直接塞给 --base-token。如果已经报了 token 错,再回退检查 wiki
param baseToken is invalid、base_token invalid、not found,并且用户最初给的是 /wiki/... 链接或 wiki_token,优先怀疑“把 wiki token 当成了 base token”。bitable/v1 API;应立即重新执行 lark-cli wiki spaces get_node,确认 obj_type=bitable 后,改用 node.obj_token 重新执行 lark-cli base +...。# 查询 wiki 节点
lark-cli wiki spaces get_node --params '{"token":"Pgrr***************UnRb"}'
返回结果示例:
{
"node": {
"obj_type": "docx",
"obj_token": "UAJ***************E9nic",
"title": "ai friendly 测试 - 1 副本",
"node_type": "origin",
"space_id": "6946843325487906839"
}
}
| 链接类型 | 格式 | 处理方式 |
|---|---|---|
| 直接 Base 链接 | /base/{token} | 直接提取作为 --base-token |
| Wiki 知识库链接 | /wiki/{token} | 先调用 wiki.spaces.get_node,取 node.obj_token |
https://{domain}/base/{base-token}?table={table-id}&view={view-id}
/base/{token} → --base-token?table={id} → --table-id?view={id} → --view-id--base-token 参数传入--base-token| 错误码 | 含义 | 解决方案 |
|---|---|---|
| 1254064 | 日期格式错误 | 用毫秒时间戳,非字符串 / 秒级 |
| 1254068 | 超链接格式错误 | 用 {text, link} 对象 |
| 1254066 | 人员字段错误 | 用 [{id:"ou_xxx"}],并确认 user_id_type |
| 1254045 | 字段名不存在 | 检查字段名(含空格、大小写) |
| 1254015 | 字段值类型不匹配 | 先 +field-list,再按类型构造 |
param baseToken is invalid / base_token invalid | 把 wiki token、workspace token 或其他 token 当成了 base_token | 如果输入来自 /wiki/...,先用 lark-cli wiki spaces get_node 取真实 obj_token;当 obj_type=bitable 时,用 node.obj_token 作为 --base-token 重试,不要改走 bitable/v1 |
| formula / lookup 创建失败 | 指南未读或结构不合法 | 先读 formula-field-guide.md / lookup-field-guide.md,再按 guide 重建请求 |
| 系统字段 / 公式字段写入失败 | 只读字段被当成可写字段 | 改为写存储字段,计算结果交给 formula / lookup / 系统字段自动产出 |
| 1254104 | 批量超 500 条 | 分批调用 |
| 1254291 | 并发写冲突 | 串行写入 + 批次间延迟 |
+field-create/+field-update JSON 规范(推荐)+record-upsert 值格式规范(推荐)+advperm-enable 启用高级权限+advperm-disable 停用高级权限+role-list 列出角色+role-get 获取角色详情+role-create 创建角色+role-update 更新角色+role-delete 删除角色+workflow-create/+workflow-update JSON body 数据结构详解,包含触发器及各类节点的配置规则(强烈推荐)+data-query 聚合分析(DSL 结构、支持字段类型、聚合函数)执行前必做: 从下表定位到命令后,务必先阅读对应命令的 reference 文档,再调用命令。
| 命令分组 | 说明 |
|---|---|
table commands | +table-list / +table-get / +table-create / +table-update / +table-delete |
field commands | +field-list / +field-get / +field-create / +field-update / +field-delete / +field-search-options |
record commands | +record-list / +record-get / +record-upsert / +record-upload-attachment / +record-delete |
view commands | +view-list / +view-get / +view-create / +view-delete / +view-get-* / +view-set-* / +view-rename |
data-query commands | +data-query |
history commands | +record-history-list |
base / workspace commands | +base-create / +base-get / +base-copy |
advperm commands | +advperm-enable / +advperm-disable |
role commands | +role-list / +role-get / +role-create / +role-update / +role-delete |
form commands | +form-list / +form-get / +form-create / +form-update / +form-delete |
[form questions commands](https://github.com/larksuite/cli |
前置条件: 先阅读
../lark-shared/SKILL.md。 执行前必做: 执行任何base命令前,必须先阅读对应命令的 reference 文档,再调用命令。 命名约定: 仅使用lark-cli base +...形式的命令。
+data-queryfrom/select/where/aggregate → lookup 字段+record-list / +record-get+field-list 或 +table-get+record-list 当聚合分析引擎+record-upsert 的写入目标lark-cli api GET /open-apis/bitable/v1/...obj_type=bitable 就去找 bitable.*;在本 CLI 里应继续使用 lark-cli base +...+record-upsert 写入,例如文本、数字、日期、单选、多选、人员、关联。附件字段例外 :对 agent 而言,文件上传必须走 +record-upload-attachment。+record-upsert 入参。+data-query 或公式字段在 Base 内完成。+data-query
+record-list / +record-get
+record-list 当分析引擎;它负责取明细,不负责聚合计算。formula-field-guide.mdlookup-field-guide.mdtype=formula 必须提供 expressiontype=lookup 必须提供 from / select / where,必要时补 aggregate执行任何 workflow 命令前,必须先读两份文档:对应的命令文档 +lark-base-workflow-schema.md
+workflow-create → 先读 lark-base-workflow-create.md + schema+workflow-update → 先读 lark-base-workflow-update.md + schema+workflow-list → 先读 lark-base-workflow-list.md + schema+workflow-get → 先读 lark-base-workflow-get.md + schema+workflow-enable → 先读 lark-base-workflow-enable.md + schema+table-list / +table-get / +field-create / +record-upsert / +view-set-filter / +record-history-list / +base-get 这类一命令一动作的写法,不使用旧聚合式 +table / +field / +record / +view / +history / +workspace+field-list 获取字段结构,再读 lark-base-shortcut-record-value.md 确认各字段类型的写入值格式+field-create/+field-update 的 JSON 结构+view-set-filter + 组合完成筛选读取+form-list(先拿 form-id)+form-get+form-questions-list+form-questions-delete+form-questions-create / +form-questions-update| 意图 | 推荐命令 | 备注 |
|---|---|---|
| 列表 / 获取数据表 | lark-cli base +table-list / +table-get | 原子命令 |
| 创建 / 更新 / 删除数据表 | lark-cli base +table-create / +table-update / +table-delete | 一命令一动作 |
| 列表 / 获取字段 | lark-cli base +field-list / +field-get |
--base-token+xxx-list 调用纪律:+table-list / +field-list / +record-list / +view-list / +record-history-list / +role-list / +dashboard-list / +dashboard-block-list / +workflow-list 禁止并发调用;批量执行时只能串行+record-list limit 上限:--limit 最大 200。需要更多数据时必须用分页(offset 递增)分批拉取,禁止单次传超过 200知识库链接(/wiki/TOKEN)背后可能是云文档、电子表格、多维表格等不同类型的文档。不能直接假设 URL 中的 token 就是 file_token ,必须先查询实际类型和真实 token。
使用wiki.spaces.get_node 查询节点信息
lark-cli wiki spaces get_node --params '{"token":"<wiki_token>"}'
从返回结果中提取关键信息
node.obj_type:文档类型(docx/doc/sheet/bitable/slides/file/mindnote)node.obj_token:真实的文档 token (用于后续操作)node.title:文档标题根据obj_type 选择后续命令
| obj_type | 说明 | 后续命令 | |----------|------|-----------| | docx | 新版云文档 | drive file.comments.*、docx.* | | doc | 旧版云文档 | drive file.comments.* | | sheet | 电子表格 | sheets.* | | bitable | 多维表格 | lark-cli base +...(优先);如果 shortcut 不覆盖,再用 lark-cli base <resource> <method>;不要 改走 lark-cli api /open-apis/bitable/v1/... | | | 幻灯片 | | | | 文件 | | | | 思维导图 | |
把 wiki 解析出的obj_token 当成 Base token 使用
obj_type=bitable 时,node.obj_token 就是后续 base 命令应使用的真实 token。/wiki/... 链接,不要把 wiki_token 直接塞给 --base-token。如果已经报了 token 错,再回退检查 wiki
param baseToken is invalid、base_token invalid、,并且用户最初给的是 链接或 ,优先怀疑“把 wiki token 当成了 base token”。# 查询 wiki 节点
lark-cli wiki spaces get_node --params '{"token":"Pgrr***************UnRb"}'
返回结果示例:
{
"node": {
"obj_type": "docx",
"obj_token": "UAJ***************E9nic",
"title": "ai friendly 测试 - 1 副本",
"node_type": "origin",
"space_id": "6946843325487906839"
}
}
| 链接类型 | 格式 | 处理方式 |
|---|---|---|
| 直接 Base 链接 | /base/{token} | 直接提取作为 --base-token |
| Wiki 知识库链接 | /wiki/{token} | 先调用 wiki.spaces.get_node,取 node.obj_token |
https://{domain}/base/{base-token}?table={table-id}&view={view-id}
/base/{token} → --base-token?table={id} → --table-id?view={id} → --view-id--base-token 参数传入--base-token| 错误码 | 含义 | 解决方案 |
|---|---|---|
| 1254064 | 日期格式错误 | 用毫秒时间戳,非字符串 / 秒级 |
| 1254068 | 超链接格式错误 | 用 {text, link} 对象 |
| 1254066 | 人员字段错误 | 用 [{id:"ou_xxx"}],并确认 user_id_type |
| 1254045 | 字段名不存在 | 检查字段名(含空格、大小写) |
| 1254015 | 字段值类型不匹配 | 先 +field-list,再按类型构造 |
param baseToken is invalid / |
+field-create/+field-update JSON 规范(推荐)+record-upsert 值格式规范(推荐)+advperm-enable 启用高级权限执行前必做: 从下表定位到命令后,务必先阅读对应命令的 reference 文档,再调用命令。
| 命令分组 | 说明 |
|---|---|
table commands | +table-list / +table-get / +table-create / +table-update / +table-delete |
field commands | +field-list / +field-get / +field-create / +field-update / +field-delete / +field-search-options |
record commands | +record-list / +record-get / +record-upsert / +record-upload-attachment / +record-delete |
Weekly Installs
8.6K
Repository
GitHub Stars
1.8K
First Seen
1 day ago
Security Audits
Gen Agent Trust HubPassSocketPassSnykFail
Installed on
codex8.6K
opencode8.6K
cursor8.6K
gemini-cli8.6K
github-copilot8.6K
cline8.6K
飞书OpenAPI Explorer:探索和调用未封装的飞书原生API接口
7,500 周安装
React Hook Form 最佳实践:41条性能优化规则与表单开发指南
332 周安装
Dagster专家指南:dg CLI使用、资产管理与自动化配置
333 周安装
iOS Swift NaturalLanguage 与 Translation 框架:文本分析与语言翻译开发指南
333 周安装
RealityKit AR 开发指南:iOS ARKit 增强现实应用构建与实体交互
333 周安装
Terraform 图表生成器 - 从 .tf 文件自动生成云架构图 | Eraser
333 周安装
AWS RDS Spring Boot集成指南:配置Aurora/MySQL/PostgreSQL数据库连接
333 周安装
+table-list / +table-get / +field-list 的真实返回,禁止凭语义猜测改写。+workflow-disable → 先读 lark-base-workflow-disable.md + schematype 值(如把"新增记录"猜成 CreateTrigger),必须从 schema 的 StepType 枚举中复制准确的类型名称创建前确认依赖信息
+table-list / +field-list 获取真实的表名、字段名+record-list+data-query 进行数据筛选聚合的服务端计算+data-query(服务端计算),禁止用 +record-list 拉全量记录再手动计算;反之,+data-query 不返回原始记录,取数场景仍走 +record-list / +record-get+xxx-list 禁止并发调用 — +table-list / +field-list / +record-list / +view-list / +record-history-list / +role-list 只能串行执行--base-token,不使用旧 --app-token+data-query+field-create / +field-update 维护字段定义外,不要把这些字段作为记录写入目标+view-rename 在目标视图和新名称都明确时可直接执行;+record-delete / +field-delete / +table-delete 在用户已经明确要求删除且目标明确时也可直接执行,不需要再补一次确认,并且执行删除命令时要主动补上 --yes;只有目标不明确时才继续追问| 原子命令 |
| 创建 / 更新字段 | lark-cli base +field-create / +field-update | 使用 --json |
| 创建 / 更新公式字段 | lark-cli base +field-create / +field-update | type=formula;先读 formula guide,再创建 / 更新 |
| 创建 / 更新 lookup 字段 | lark-cli base +field-create / +field-update | type=lookup;先读 lookup guide,再创建 / 更新,默认先判断 formula 是否更合适 |
| 列表 / 获取记录 | lark-cli base +record-list / +record-get | 原子命令,如果需要聚合计算,分组统计 推荐走 +data-query |
| 创建 / 更新记录 | lark-cli base +record-upsert | --table-id [--record-id] --json |
| 聚合分析 / 比较排序 / 求最值 / 筛选统计 | lark-cli base +data-query | 不要用 +record-list 拉全量数据再手动计算,需使用 +data-query 走服务端计算 |
| 配置 / 查询视图 | lark-cli base +view-* | list/get/create/delete/get-*/set-*/rename |
| 查看记录历史 | lark-cli base +record-history-list | 按表和记录查询变更历史 |
| 按视图筛选查询 | lark-cli base +view-set-filter + lark-cli base +record-list | 组合调用 |
| 创建 / 获取 / 复制 Base | lark-cli base +base-create / +base-get / +base-copy | 原子命令 |
| 列表 / 获取工作流 | lark-cli base +workflow-list / +workflow-get | 原子命令 |
| 创建 / 更新工作流 | lark-cli base +workflow-create / +workflow-update | 使用 --json,必须阅读 schema |
| 启用 / 停用工作流 | lark-cli base +workflow-enable / +workflow-disable | 一命令一动作 |
| 启用 / 停用高级权限 | lark-cli base +advperm-enable / +advperm-disable | 启用后才能使用自定义角色;停用会使已有角色失效 |
| 列表 / 获取角色 | lark-cli base +role-list / +role-get | 查看角色摘要或完整配置 |
| 创建 / 更新 / 删除角色 | lark-cli base +role-create / +role-update / +role-delete | 管理自定义角色权限 |
| 列表 / 获取表单 | lark-cli base +form-list / +form-get | 原子命令 |
| 创建 / 更新 / 删除表单 | lark-cli base +form-create / +form-update / +form-delete | 一命令一动作 |
| 列表 / 创建 / 更新 / 删除表单问题 | lark-cli base +form-questions-list / +form-questions-create / +form-questions-update / +form-questions-delete | 一命令一动作 |
| 列表 / 获取仪表盘 | lark-cli base +dashboard-list / +dashboard-get | 原子命令 |
| 创建 / 更新 / 删除仪表盘 | lark-cli base +dashboard-create / +dashboard-update / +dashboard-delete | 一命令一动作 |
| 列表 / 获取仪表盘 Block | lark-cli base +dashboard-block-list / +dashboard-block-get | 原子命令 |
| 创建 / 更新 / 删除仪表盘 Block | lark-cli base +dashboard-block-create / +dashboard-block-update / +dashboard-block-delete | 一命令一动作 |
+record-upload-attachment 这条链路(读字段 → 读记录 → 上传素材 → 回写记录)user_id_type 与执行身份(user / bot)差异+record-history-list 按 table-id + record-id 查询记录历史,不支持整表历史扫描+base-create / +base-get / +base-copy+base-create / +base-copy 结果返回规范:创建或复制成功后,回复中必须主动返回新 Base 的标识信息。若返回结果里带可访问链接(如 base.url),要一并返回+base-create / +base-copy 友好性规则:--folder-token、--time-zone、复制时的 --name 都是可选项。用户没有特别要求时,不要为了这些可选参数额外打断;能直接创建/复制就直接执行+base-create / +base-copy 权限处理(bot 创建):若 Base 由应用身份(bot)创建,创建或复制成功后默认继续使用 bot 身份为当前可用 user(指当前 CLI 中 auth 模块已登录且可用的用户身份)添加 full_access(管理员)权限,并在回复中明确授权结果(成功 / 无可用 user / 授权失败及原因)。若授权未完成,要继续给出后续引导(稍后重试授权或继续用 bot);owner 转移必须单独确认,禁止擅自执行+dashboard-create 创建后返回 dashboard_id;Block 的 data_config 通过 JSON 字符串传入,支持 @file.json 读取文件+advperm-enable 启用高级权限后才能管理角色(+role-*);+advperm-disable 是高风险操作,停用后已有自定义角色全部失效;操作用户必须为 Base 管理员;先读 lark-base-advperm-enable.md / lark-base-advperm-disable.md+role-create 仅支持 custom_role;+role-update 采用 Delta Merge(role_name 和 role_type 必须始终提供);+role-delete 不可逆且仅支持自定义角色;角色配置支持 base_rule_map(Base 级复制/下载)、table_rule_map(表级权限含记录/字段粒度)、dashboard_rule_map(仪表盘权限)、docx_rule_map(文档权限);写角色前先读 role-config.md+form-list 获取;+form-create 返回的 id 即 form-id,可用于 +form-questions-* 操作+workflow-list 返回的不是完整树状结构,若需读取完整结构请使用 +workflow-get。+data-query 前必须先阅读 lark-base-data-query.md 了解 DSL 结构、支持的字段类型、聚合函数和限制条件;DSL 中的 field_name 必须与表字段名精确匹配,构造前先用 +field-list 获取真实字段名+view-rename 直接执行即可,不需要再补一句确认+record-delete / +field-delete / +table-delete 可直接执行,不需要再补一次确认;执行时直接带 --yes 通过 CLI 的高风险写入校验。只有目标仍有歧义时,再先用 +record-get / +field-get / +table-get 或 list 命令确认slidesdrive.*filedrive.*mindnotedrive.*not found/wiki/...wiki_tokenbitable/v1 API;应立即重新执行 lark-cli wiki spaces get_node,确认 obj_type=bitable 后,改用 node.obj_token 重新执行 lark-cli base +...。base_token invalid把 wiki token、workspace token 或其他 token 当成了 base_token |
如果输入来自 /wiki/...,先用 lark-cli wiki spaces get_node 取真实 obj_token;当 obj_type=bitable 时,用 node.obj_token 作为 --base-token 重试,不要改走 bitable/v1 |
| formula / lookup 创建失败 | 指南未读或结构不合法 | 先读 formula-field-guide.md / lookup-field-guide.md,再按 guide 重建请求 |
| 系统字段 / 公式字段写入失败 | 只读字段被当成可写字段 | 改为写存储字段,计算结果交给 formula / lookup / 系统字段自动产出 |
| 1254104 | 批量超 500 条 | 分批调用 |
| 1254291 | 并发写冲突 | 串行写入 + 批次间延迟 |
+advperm-disable+role-list 列出角色+role-get 获取角色详情+role-create 创建角色+role-update 更新角色+role-delete 删除角色+workflow-create/+workflow-update JSON body 数据结构详解,包含触发器及各类节点的配置规则(强烈推荐)+data-query 聚合分析(DSL 结构、支持字段类型、聚合函数)view commands | +view-list / +view-get / +view-create / +view-delete / +view-get-* / +view-set-* / +view-rename |
data-query commands | +data-query |
history commands | +record-history-list |
base / workspace commands | +base-create / +base-get / +base-copy |
advperm commands | +advperm-enable / +advperm-disable |
role commands | +role-list / +role-get / +role-create / +role-update / +role-delete |
form commands | +form-list / +form-get / +form-create / +form-update / +form-delete |
form questions commands | +form-questions-list / +form-questions-create / +form-questions-update / +form-questions-delete |
workflow commands | +workflow-list / +workflow-get / +workflow-create / +workflow-update / +workflow-enable / +workflow-disable |
dashboard commands | +dashboard-list / +dashboard-get / +dashboard-create / +dashboard-update / +dashboard-delete |
dashboard block commands | +dashboard-block-list / +dashboard-block-get / +dashboard-block-create / +dashboard-block-update / +dashboard-block-delete |