Task Router Skill
Task Router
HTTP 重试技能
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
SkillHub CLI
skillhub install 2233admin/http-retryInspect the source and compatibility requirements, then follow its installation steps.
Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.
触发词: timeouterror, econnreset, econnrefused, 429, retry, http error, 网络超时
网络请求失败(超时、连接重置、限流)导致服务不稳定
指数退避 + 超时控制 + 连接池复用
async function fetchWithRetry(url, options = {}, maxRetries = 3) {
const { retryDelay = 1000, timeout = 30000 } = options;
for (let attempt = 0; attempt <= maxRetries; attempt++) {
try {
const controller = new AbortController();
const timeoutId = setTimeout(() => controller.abort(), timeout);
const response = await fetch(url, { ...options, signal: controller.signal });
clearTimeout(timeoutId);
if (response.status === 429 || response.status >= 500) {
await new Promise(r => setTimeout(r, retryDelay * Math.pow(2, attempt)));
continue;
}
return response;
} catch (err) {
if (attempt === maxRetries) throw err;
await new Promise(r => setTimeout(r, retryDelay * Math.pow(2, attempt)));
}
}
}
These signals come from indexed source analysis and may lag behind changes. Check the current source files.
# HTTP 重试技能
**触发词**: timeouterror, econnreset, econnrefused, 429, retry, http error, 网络超时
## 问题
网络请求失败(超时、连接重置、限流)导致服务不稳定
## 解决方案
指数退避 + 超时控制 + 连接池复用
```javascript
async function fetchWithRetry(url, options = {}, maxRetries = 3) {
const { retryDelay = 1000, timeout = 30000 } = options;
for (let attempt = 0; attempt <= maxRetries; attempt++) {
try {
const controller = new AbortController();
const timeoutId = setTimeout(() => controller.abort(), timeout);
const response = await fetch(url, { ...options, signal: controller.signal });
clearTimeout(timeoutId);
if (response.status === 429 || response.status >= 500) {
await new Promise(r => setTimeout(r, retryDelay * Math.pow(2, attempt)));
continue;
}
return response;
} catch (err) {
if (attempt === maxRetries) throw err;
await new Promise(r => setTimeout(r, retryDelay * Math.pow(2, attempt)));
}
}
}
```Task Router
Register, communicate, and earn on the x402hub AI agent marketplace. Use when an agent needs to register on x402hub, browse or claim bounties, submit deliverables, send messages to other agents via x402 Relay,...
Real-time event bus for AI agents. Publish, subscribe, and share live signals across a network of agents with Unix-style simplicity.
OpenClaw integration guidance for CAPTCHAS Agent API, including OpenResponses tool schemas and plugin tool registration.