Token导航 LogoToken导航TokenDH.com
研究检索操作浏览器clawhub未标认证来源可访问clear审计提醒

feishu-sheet-tabs飞鼠表标签

Agent Skill

feishu-sheet-tabs 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

8,182

周安装

331

GitHub Stars

公开资料未说明

下载量

2,569
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:feishu-sheet-tabs(飞鼠表标签)
来源仓库:https://github.com/g-hanasq/feishu-sheet-tabs
安装命令:
openclaw skills install feishu-sheet-tabs
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install feishu-sheet-tabs

简介

在现有工作表中创建和管理多个选项卡。

  • 当标准 API 受限时可扩展表格组织结构。
  • 便于分类存储不同类型的数据集合。feishu-sheet-tabs 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 需确保目标表格有足够的管理权限。适用宿主包括 OpenClaw,接入前应确认版本、权限和运行环境要求。
  • 建议命名规范以提高后续维护效率。

SKILL.md

name
feishu-sheet-tabs
description
Create and organize multiple tabs (worksheets/pages) inside an existing Feishu sheet when the normal feishu_sheet API cannot create new worksheet tabs. Use when the user wants one spreadsheet split into categories/pages/tabs, asks for pagination inside a sheet, or wants separate worksheet tabs such as 总览 / Skills / Workflows / Templates / Content. Prefer this skill only after confirming feishu_sheet API lacks tab-creation support.

Feishu Sheet Tabs

Use this skill to add worksheet tabs inside an existing Feishu sheet by browser automation when feishu_sheet API can create/read/write spreadsheets but cannot create worksheet tabs.

Core conclusion

Current feishu_sheet API supports spreadsheet-level actions like:

  • create
  • info
  • read
  • write
  • append
  • find
  • export

It can target an existing sheet via sheet_id, but it does not expose a direct action for creating worksheet tabs/pages.

When the user explicitly wants tabs/pages inside one spreadsheet, switch to browser automation.

Preconditions

Before using browser automation, ensure all of the following:

  1. The target spreadsheet URL/token is known.
  2. The user is logged into Feishu in a browser tab.
  3. Prefer using the user's real Chrome tab via Browser Relay when available.
  4. If Browser Relay is not attached, isolated browser may work only if it has a valid Feishu login state.

Preferred operating mode

Mode A: User's Chrome tab (preferred)

Use browser with profile="chrome" if the user has attached the tab via OpenClaw Browser Relay.

Why:

  • stable login state
  • real user session
  • fewer auth surprises

Mode B: OpenClaw managed browser

Use profile="openclaw" only if it is already logged into Feishu.

Reliable workflow

Step 1: Verify API limitation first

Do not claim “can’t do it” without checking.

Confirm from tool docs / current tool signature that feishu_sheet has no add_sheet / create_worksheet / add_tab action.

Step 2: Open the spreadsheet in browser

Use browser automation to open the spreadsheet.

Step 3: Inspect runtime objects

Feishu Sheets exposes internal JS objects on the page. In practice, these were found useful:

  • window.spread
  • window.spreadApp

Relevant methods discovered from runtime introspection:

  • spread.addSheet(name)
  • spread.renameSheet(sheetId, name)
  • spread.copySheet(...)
  • spread.moveSheet(...)
  • spread.hideSheet(...)

Step 4: Read current sheet ids/names

Use page evaluation to inspect current sheets before mutation.

Pattern:

window.spread.sheets.map((s,i)=>({
  i,
  id: s.id?.() ?? s._id ?? s.sheetId ?? null,
  name: s.name?.() ?? s._name ?? null
}))

Step 5: Rename default first tab if needed

Typical pattern:

  • rename Sheet1总览

Step 6: Add tabs with spread.addSheet(name)

For example:

  • Skills
  • Workflows
  • Templates
  • Content

Step 7: Fill each tab with feishu_sheet write

After tabs exist and their sheet_ids are known, return to feishu_sheet for structured writes. This is more stable than trying to type cell-by-cell in browser automation.

Proven pattern from this workspace

For spreadsheet:

  • https://bytedance.larkoffice.com/sheets/Bf6qsMV9fhqrD6tPE6TcQhF7nEe

The following sequence worked:

  1. Inspect window.spread
  2. Discover spread.addSheet and spread.renameSheet
  3. Read current sheet list and ids
  4. Rename Sheet1 to 总览
  5. Create:

- Skills - Workflows - Templates - Content

  1. Use feishu_sheet write with returned sheet ids to populate each tab

Example evaluation snippets

Discover methods

function protoMethods(obj,name){
  if(!obj) return [];
  const out=[];
  let p=Object.getPrototypeOf(obj);
  let depth=0;
  while(p && depth<4){
    for(const k of Object.getOwnPropertyNames(p)){
      if(k==='constructor') continue;
      if(/sheet|tab|workbook|insert|create|add|page|name|rename/i.test(k)) out.push(`${name}.${k}`);
    }
    p=Object.getPrototypeOf(p); depth++;
  }
  return [...new Set(out)];
}

Rename + create tabs

async () => {
  const spread = window.spread;
  const results = [];

  const current = spread.sheets.map(s => ({
    id: s.id?.() ?? s._id ?? null,
    name: s.name?.() ?? s._name ?? null
  }));

  const first = current[0];
  if (first?.name === 'Sheet1') {
    results.push(await spread.renameSheet(first.id, '总览'));
  }

  for (const name of ['Skills','Workflows','Templates','Content']) {
    const names = spread.sheets.map(s => s.name?.() ?? s._name);
    if (!names.includes(name)) {
      results.push(await spread.addSheet(name));
    }
  }

  return spread.sheets.map((s,i)=>({
    i,
    id: s.id?.() ?? s._id ?? null,
    name: s.name?.() ?? s._name ?? null
  }));
}

Important caveats

  1. Prefer internal methods over brittle UI clicking

Clicking + in the UI was less reliable than runtime JS calls.

  1. Do not assume a visible plus button is the right entry

In this case, one nearby button turned out to be a template entry, not “new tab”.

  1. Use browser only for the tab creation step

Once tabs are created, switch back to feishu_sheet write.

  1. Inspect current ids before writing

New tabs get generated sheet_ids such as GxGIGa, 9dJYiB, etc. Use actual returned ids.

  1. Avoid blind UI automation first

Inspect runtime objects and methods before pixel-clicking.

When to use this skill

Use this skill when the user says things like:

  • “把这个表做成分页”
  • “按类别分开 sheet”
  • “给这张飞书表加几个页签”
  • “我就想分页,你想办法解决”

Output expectation

When done, report:

  • which tabs were created/renamed
  • which tab ids were found
  • whether data filling was also completed
  • whether browser login / relay was required

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

87.61%
按下载量换算2,251

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

通过

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills