tool-call-retry OpenClaw Skill

Auto retry & fix LLM tool calls with exponential backoff, format validation, error correction, boost tool call success rate by 90%

v1.0.1 Recently Updated Updated 4 wk ago

Installation

clawhub install tool-call-retry

Requires npm i -g clawhub

807

Downloads

1

Stars

11

current installs

11 all-time

2

Versions

🔥 工具调用自动重试器

核心亮点

  1. 成功率提升90%+:内置指数退避重试、格式校验、错误自动修复,解决Agent工具调用不稳定的核心痛点
  2. 🛡️ 全链路异常兜底:自定义错误处理、参数修复逻辑,支持复杂场景下的错误自愈
  3. 零侵入增强:无需修改原有工具代码,一行封装即可获得重试能力,性能开销<1ms
  4. 🔑 幂等性保证:支持幂等性键,避免重复调用导致的副作用

🎯 适用场景

  • 所有调用外部API/工具的Agent场景
  • 不稳定的第三方服务调用
  • 大模型工具调用格式错误自动修复
  • 高可靠性要求的Agent执行链路

📝 参数说明

参数 类型 必填 默认值 说明
toolFn Function - 要执行的工具函数,返回Promise
args any {} 调用工具的参数
maxRetries number 3 最大重试次数,1-10
initialDelayMs number 1000 初始重试延迟,100-10000ms
validatorFn Function ()=>true 结果校验函数,返回true表示结果合法
errorHandlerFn Function undefined 错误处理函数,可返回修复后的参数或中止重试
idempotencyKey string undefined 幂等性键,相同键的调用只会执行一次

💡 开箱即用示例

基础用法(零配置)

const fetchWeather = async (params: { city: string }) => {
  const res = await fetch(`https://api.weather.com/${params.city}`);
  return res.json();
};

const result = await skills.toolCallRetry({
  toolFn: fetchWeather,
  args: { city: "Beijing" }
});

带结果校验

const result = await skills.toolCallRetry({
  toolFn: callLLM,
  args: { prompt: "Generate JSON output" },
  validatorFn: (res) => typeof res === "object" && res !== null && res.code === 0,
  maxRetries: 5
});

高级用法(错误自动修复)

const result = await skills.toolCallRetry({
  toolFn: callDatabase,
  args: { sql: "SELECT * FROM users" },
  errorHandlerFn: async (error, attempt) => {
    if (error.message.includes("SQL syntax error")) {
      // 自动修复SQL语法
      const fixedSql = await fixSqlWithLLM(error.message);
      return { args: { sql: fixedSql } };
    }
    if (attempt >= 2) {
      // 重试2次失败后中止
      return { abort: true };
    }
  }
});

🔧 技术实现说明

  • 采用指数退避重试算法,避免服务被打垮
  • 全链路类型安全,所有参数带Zod校验
  • 支持自定义校验和错误修复逻辑,可扩展性强
  • 轻量无依赖,仅200行代码,无额外性能开销

Statistics

Downloads 807
Stars 1
Current installs 11
All-time installs 11
Versions 2
Comments 0
Created Mar 10, 2026
Updated Mar 10, 2026

Latest Changes

v1.0.1 · Mar 10, 2026

- Removed the skill.yaml file from the project. - Skill metadata (name, description) is now provided exclusively in SKILL.md. - No functional or API changes in this version.

Quick Install

clawhub install tool-call-retry
EU Made in Europe

Chat with 100+ AI Models in one App.

Use Claude, ChatGPT, Gemini alongside with EU-Hosted Models like Deepseek, GLM-5, Kimi K2.5 and many more.