Back to skills
SkillHub ClubShip Full StackFull Stack

feishu-message-fallback

Feishu message fallback mechanism with retry logic. Automatically retries failed messages with exponential backoff and fallback from rich text to plain text.

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
3,087
Hot score
99
Updated
March 20, 2026
Overall rating
C4.5
Composite score
4.5
Best-practice grade
B80.4

Install command

npx @skill-hub/cli install openclaw-skills-feishu-message-fallback

Repository

openclaw/skills

Skill path: skills/2426758093/feishu-message-fallback

Feishu message fallback mechanism with retry logic. Automatically retries failed messages with exponential backoff and fallback from rich text to plain text.

Open repository

Best for

Primary workflow: Ship Full Stack.

Technical facets: Full Stack.

Target audience: everyone.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: openclaw.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install feishu-message-fallback into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/openclaw/skills before adding feishu-message-fallback to shared team environments
  • Use feishu-message-fallback for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: feishu-message-fallback
description: |
  Feishu message fallback mechanism with retry logic. Automatically retries failed messages with exponential backoff and fallback from rich text to plain text.
---

# 飞书消息回退机制

## 功能

- **自动重试**:消息发送失败时自动重试(最多 3 次)
- **指数退避**:重试间隔递增(1s → 2s → 4s)
- **降级策略**:富文本失败 → 纯文本重试
- **错误日志**:记录失败原因和重试结果

## 使用场景

- 网络波动导致消息发送失败
- 富文本格式不被支持
- 消息队列积压

## 实现逻辑

```powershell
# 伪代码
function Send-FeishuMessageWithFallback {
    param($message, $retryCount = 3)
    
    for ($i = 0; $i -lt $retryCount; $i++) {
        try {
            # 尝试发送富文本
            $result = Send-FeishuRichText -message $message
            if ($result.success) { return $result }
        } catch {
            Write-Host "Attempt $($i+1) failed: $_"
        }
        
        # 指数退避等待
        if ($i -lt $retryCount - 1) {
            $waitTime = [Math]::Pow(2, $i)
            Start-Sleep -Seconds $waitTime
        }
    }
    
    # 所有重试失败,降级为纯文本
    Write-Host "Rich text failed, falling back to plain text..."
    return Send-FeishuPlainText -message $message
}
```

## 配置

在 `TOOLS.md` 中添加:

```markdown
### 飞书消息回退配置

- **最大重试次数:** 3
- **重试间隔:** 1s, 2s, 4s(指数退避)
- **降级策略:** 富文本 → 纯文本
```

## 错误处理

| 错误类型 | 处理方式 |
|---------|---------|
| 网络超时 | 自动重试 |
| 格式错误 | 降级为纯文本 |
| 权限不足 | 立即失败,通知用户 |
| 消息过长 | 截断后重试 |

## 集成到定时任务

定时任务调用时自动启用回退机制:

```json
{
  "delivery": {
    "mode": "announce",
    "channel": "feishu",
    "to": "ou_faec8fadc584abfd18a2996f55d607b5",
    "retry": {
      "maxAttempts": 3,
      "backoffMs": 1000
    }
  }
}
```


---

## Skill Companion Files

> Additional files collected from the skill directory layout.

### _meta.json

```json
{
  "owner": "2426758093",
  "slug": "feishu-message-fallback",
  "displayName": "Feishu Message Fallback",
  "latest": {
    "version": "1.0.0",
    "publishedAt": 1772520612807,
    "commit": "https://github.com/openclaw/skills/commit/28bb77e589a437608c3f601786e7b999fb9d8c92"
  },
  "history": []
}

```

feishu-message-fallback | SkillHub