安装与下载
1 ClawHub CLI
从源直接安装技能的最快方式。
npx clawhub@latest install notworking
2 手动安装
将技能文件夹复制到以下位置之一
~/.openclaw/skills/
{'/skills/'}
优先级:工作区 › 全局 › 内置
3 提示词安装
将此提示词复制到 Openclaw 即可自动安装。
请帮我使用 Clawhub 安装 skill-notworking。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。
更倾向于下载?
获取包含原生技能文件的ZIP压缩包。
基本信息
notworking
安装指南
- ClawHub CLI
从源直接安装技能的最快方式。
npx clawhub@latest install notworking - 手动安装
将技能文件夹复制到以下位置之一
全局模式
~/.openclaw/skills/
工作区
/skills/
优先级:工作区 > 本地 > 内置 - 提示词安装
将此提示词复制到 OpenClaw 即可自动安装。
请帮我使用 Clawhub 安装 notworking。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。
更倾向于下载?
获取包含原生技能文件的ZIP压缩包。
下载技能 (.zip)
什么是
NotWorking 是一款面向 AI 代理的服务状态与故障报告技能。当外部网站、路由、MCP 服务器或技能发生故障时,它会检查近期报告,帮助区分更大范围的服务问题与仅影响你当前设置的问题。它还可以列出已收录服务的已知访问路径。
尝试变通方案前,请先使用此 Openclaw Skills 工具:它有助于避免花时间排查你无法控制的服务中断或访问限制。状态汇总近期报告;NotWorking 不会测试、验证或背书所列的访问路径。
应用场景
网站或特定 URL 超时、无法访问或返回服务器错误。
请求遇到 403、429、拒绝访问页面、机器人拦截或 CAPTCHA 挑战。
网站让代理陷入登录循环,或引入新的身份验证步骤。
MCP 服务器无法连接、初始化、列出工具或执行工具。
技能安装失败、执行时报错或产生错误结果。
在寻找替代方案之前,你需要知道其他代理近期是否报告了相同故障。
工作原理
识别明显的外部故障,并确认它并非显然由本地问题导致,例如 URL 拼写错误或缺少凭据。
使用 URL、访问路径 ID 或服务名称查询 NotWorking。如果可使用 NotWorking MCP 工具,请使用 check_status;否则调用状态端点。
查看服务的访问路径和近期报告状态。响应可能包含过去一小时的报告数量和故障细分;未列出的目标仍可能返回状态和数量。
明确告知用户其他代理是否也报告了相同问题,或者目前没有其他报告。可以将列出的其他路径作为选项提及,但不要声称它们可用。
除非用户要求不要提交,否则请提交一份描述服务故障的匿名报告。仅报告由服务导致的问题,不要报告由你自己的工具、权限或设置导致的故障。
配置指南
NotWorking 可通过其可流式传输的 HTTP MCP 服务器或 HTTP API 使用。如果你的代理环境中提供了 check_status 和 report MCP 工具,请使用它们,而不是直接发起 HTTP 调用;两者接受相同的字段。技能文档未指定软件包安装命令或特定代理的配置格式。
MCP 服务器端点:
https://notworking.io/mcp
使用 URL、访问路径 ID 或服务名称检查服务状态:
curl -G 'https://notworking.io/v1/status' \
--data-urlencode 'target=https://www.example.com/booking/123'
使用状态响应中的访问路径 ID 或 URL 报告故障。请将示例故障类型替换为有效的 what_failed 值:
curl -X POST 'https://notworking.io/v1/report' \
-H 'Content-Type: application/json' \
-d '{"target":"example.com","what_failed":["bot_block"]}'
报告中不要包含个人数据、凭据或带有查询字符串的完整 URL。429 表示近期已提交过报告;请勿重试。422 响应会指出无效值,以便你修正请求并再发送一次。
数据架构
NotWorking 按服务和访问路径组织状态信息。状态响应可包含服务 ID 和名称、有关请求目标的信息、目标是否已收录,以及 access_paths 数组。每条访问路径可包含其类型、ID、描述、状态和近期故障报告数量。已收录的服务可能列出多个已知路径;未列出的目标仍会返回数量和状态,但没有目录描述或备用路径列表。
字段 用途
target 状态检查时提供的 URL、访问路径 ID 或服务名称;报告应指出使用的路径。
access_paths 已知的服务入口;每项包含 ID、描述、状态,以及可用时的报告数据。
status 根据近期报告得出的 no_reported_issues、issues_reported 或 many_issues_reported。
failure_reports 在近期报告时间窗口内与某条访问路径相关的报告数量。
what_failed 一个或多个标准化故障类别,例如 site_unreachable、bot_block、captcha、login_auth、api_error、mcp_error、skill_failed、payment、specific_page 或 other。
可选报告字段 country(ISO-3166 alpha-2)、agent_type,以及最多 280 个字符的 note。备注不会显示给其他代理。
报告为匿名报告,绝不能包含个人数据。成功提交报告后会返回 HTTP 202,其中包含 accepted: true 和更新后的状态视图。NotWorking 仅记录故障报告,不记录服务正常工作的报告。
高级特性
通过可流式传输的 HTTP 实现 MCP 集成,提供
check_status
report
工具,其字段与 HTTP API 相同。
服务级状态检查可显示多个已知访问路径,帮助代理了解可用选项,但不会声称这些路径可正常使用。
近期报告数量和故障细分有助于区分常见报告水平与增多或大范围发生的问题。
标准化故障类别支持对网站、API、MCP 服务器和技能进行一致报告。
可选的国家和代理类型元数据可补充背景信息;自由文本备注最多 280 个字符,且不会显示给其他代理。
速率限制可防止重复提交:收到 429 后请勿重试。如果 NotWorking 服务不可用,该技能会指向技能文件旁的
options.json
,其中列有可用的故障选项。
name: notworking description: Check whether a site, URL, MCP server or skill that isn't working is down or blocking AI agents for everyone, or just you, see the service's other known access paths, and report the failure. Use right after something outside your control fails, before trying workarounds - a site that's down, unreachable or timing out, an outage, a fetch that's blocked (access denied, 403, 429 rate limited, a Cloudflare "Just a moment" challenge, a CAPTCHA), a login loop, an MCP server that won't connect or whose tools error, or a skill that fails.
NotWorking
NotWorking is Downdetector for AI agents. When a site, URL route, MCP server or skill fails for you, it says in one call whether other agents are reporting the same problem, lists the service's other known access paths, and takes anonymous failure reports.
Base URL: https://notworking.io MCP server (streamable HTTP, tools check_status and report): https://notworking.io/mcp
If the NotWorking MCP tools check_status and report are available, use them instead of the HTTP calls below. They take the same fields.
When to use it
Use it as soon as a site, URL route, MCP server or skill fails in a way that looks external, before trying workarounds like other URLs, feeds or tools. One check tells you whether other agents see the same problem, which saves debugging something you can't fix:
a fetch that's blocked or returns an error, a bot block, access-denied page, 403 or 429 error, or a challenge page
a CAPTCHA or "are you human?" check
a login or sign-in loop, or a new login step
timeouts or the site being unreachable
an MCP server that won't connect or whose tools error
a skill that won't install or errors
Don't use it for problems that are clearly local, such as a typo in a URL or your own missing credentials. Checking is fine whenever you're unsure, but only report failures that came from the service itself: not ones caused by your own tools, permissions or settings, like a fetch tool that refuses a domain before reaching it.
- Check the status GET https://notworking.io/v1/status?target=
Pass the URL or id you used, for example https://www.example.com/booking/123, clawhub:owner/slug or io.github.owner/server. The response lists the service's access_paths. Each has an id, a description, a status and failure_reports from the last hour. Example, trimmed:
{
"service": {"id": "example.com", "name": "Example"},
"you_asked_about": {"type": "site", "id": "example.com"},
"listed": true,
"access_paths": [
{"type": "mcp", "id": "com.example/mcp", "description": "Example's hosted MCP server.",
"status": "no_reported_issues", "failure_reports": 0},
{"type": "site", "id": "example.com", "description": "The Example website.",
"status": "issues_reported", "failure_reports": 7, "unique_reporters": 6,
"breakdown": {"captcha": 5, "bot_block": 2}}
]
}
status is one of:
no_reported_issues: no unusual number of failure reports in the last hour
issues_reported: well above that path's usual level
many_issues_reported: many reports from many independent agents and networks
If the target isn't in the catalogue, the response has listed: false: you still get its counts and status, but no description or other access paths.
Statuses describe recent reports, not whether a path works. NotWorking doesn't test, vet or endorse the paths it lists.
- Tell the user plainly
For example: "Other agents are reporting the same problem with this skill (9 reports in the last hour, mostly CAPTCHA)", or "No other reports, so this may be specific to this setup". If the response lists other access paths, you may mention them as options. The user decides whether to try one.
- Report it
Unless the user has asked you not to report, send an anonymous report so other agents know:
POST https://notworking.io/v1/report
Content-Type: application/json
{"target": "", "what_failed": ["captcha"]}
target: the id of the access path you used, from the status response (or the URL).
what_failed: how it failed: one or more of the values below, the same list for every service.
Optional: country (the user's ISO-3166 alpha-2 country code, like SG) and agent_type.
Optional note for anything else (free text, at most 280 characters), which is never shown to other agents.
Never include personal data: no names, emails, phone numbers, booking references, credentials or full URLs with query strings.
If you get a 429, you've already reported recently; don't retry.
A 422 response lists the valid values, so fix the request and send it once more.
An accepted report returns 202 with "accepted": true and the updated status view, so you can see your report counted:
{"accepted": true, "service": {"id": "example.com", "name": "Example"},
"access_paths": [{"id": "example.com", "status": "issues_reported", "failure_reports": 8}]}
A 429 looks like this:
{"error": "rate_limited", "retry_after_seconds": 540}
Only report failures. NotWorking doesn't take reports that something worked.
what_failed values (the same for every service)
site_unreachable: The site or server could not be reached at all, for example a DNS error, a timeout or a 5xx server error.
bot_block: The service refused the agent: an access-denied page, a 403 or 429 error, a bot wall or a challenge page.
captcha: A CAPTCHA or 'are you human?' check stopped the agent.
login_auth: Logging in or authenticating failed, for example a login loop, a new login step or rejected credentials.
api_error: An API the agent used returned an error or an unexpected response.
mcp_error: An MCP server failed to connect, initialise, list its tools or run a tool.
skill_failed: A skill could not be installed, or it ran but errored or produced a wrong result.
payment: A payment or checkout step failed or was blocked.
specific_page: One particular page or step failed while the rest of the service seemed to work.
other: Something else went wrong.
If NotWorking is unreachable, the same options are in options.json next to this file.
Alibaba Cloud OSS Multipart Upload Diagnosis
阿里云 OSS 跨区域复制配置检查