飞书通用工具:共享身份验证与 API 助手 - Openclaw Skills

作者:互联网

2026-03-24

AI教程

什么是 飞书通用工具?

飞书通用工具(Feishu Common)是一个基础工具技能,为飞书(Lark)生态系统提供集中的身份验证和 API 处理层。它通过管理租户访问令牌(tenant access tokens)的生命周期、实现智能重试逻辑以及处理请求超时,简化了复杂 Openclaw 技能的开发。通过抽象飞书 API 的复杂性,它确保依赖技能可以专注于其核心逻辑,同时保持与飞书服务器安全可靠的通信。

此技能是任何集成飞书的智能体的骨干,提供了一种与平台交互的标准方式。它减少了样板代码,并确保您所有的团队沟通自动化都遵循安全和性能的最佳实践。

下载入口:https://github.com/openclaw/skills/tree/main/skills/autogame-17/feishu-common

安装与下载

1. ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install feishu-common

2. 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/ 工作区 /skills/

优先级:工作区 > 本地 > 内置

3. 提示词安装

将此提示词复制到 OpenClaw 即可自动安装。

请帮我使用 Clawhub 安装 feishu-common。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

飞书通用工具 应用场景

  • 在多个 Openclaw 技能中集中管理飞书租户令牌。
  • 实现自动令牌刷新和缓存,以最大限度地减少 API 开销和延迟。
  • 为关键任务的飞书集成标准化错误处理和请求重试。
  • 利用预构建的身份验证封装器,加速开发新的飞书集成智能体能力。
飞书通用工具 工作原理
  1. 该技能作为其他飞书相关 Openclaw 技能的必要依赖项。
  2. 它向飞书身份提供者请求并安全地缓存租户访问令牌。
  3. 当依赖技能发起请求时,Feishu Common 使用 fetchWithAuth 将调用封装在授权层中。
  4. 它会自动监控令牌过期情况,并在令牌失效前触发刷新。
  5. 它提供了一个强大的 fetch 封装器,处理网络超时并针对瞬时故障实现指数退避或重试。

飞书通用工具 配置指南

在安装或运行任何依赖的 Openclaw 技能之前,请先安装此技能。确保技能文件放置在适当的目录结构中。

# 进入您的技能目录
cd path/to/openclaw/skills

# 如果不存在,则创建 feishu-common 目录
mkdir -p feishu-common

要在您自定义的 Openclaw 技能中使用此助手,请按如下方式导入所需的工具:

const { getToken, fetchWithRetry, fetchWithAuth } = require("../feishu-common/index.js");

飞书通用工具 数据架构与分类体系

该技能管理内部身份验证状态并导出用于数据交互的功能助手。它不存储持久的用户数据,而是管理基于内存的临时令牌。

函数 描述
getToken 从缓存或飞书 API 获取当前有效的租户令牌。
fetchWithRetry 执行具有可配置重试和超时逻辑的网络请求。
fetchWithAuth 执行授权的飞书 API 请求,自动管理令牌请求头。

feishu-common Skill

Description

Shared Feishu authentication and API helper for OpenClaw Feishu skills.

Provides:

  • Tenant token acquisition and cache
  • Retry and timeout handling
  • Authenticated request wrapper with token refresh

Install Requirement

Install this skill before installing or running dependent Feishu skills.

Usage

Dependent skills should import from feishu-common:

const { getToken, fetchWithRetry, fetchWithAuth } = require("../feishu-common/index.js");

Compatibility alias is also available:

const { getToken, fetchWithAuth } = require("../feishu-common/feishu-client.js");

Files

  • index.js: Main implementation.
  • feishu-client.js: Compatibility alias to index.js.