运行时依赖
安装命令
点击复制本土化适配说明
Reversal — Agent Input Reliability Layer — 逆转 — 代理输入可靠性层 安装说明: 安装命令:["openclaw skills install reversal-engine"]
技能文档
翻转 — 代理输入可靠性层 将任何来源(URL、PDF、Word、Excel、CSV、图像、仪表板截图)规范化为干净的结构化JSON,耗时不到2秒。 阻止您的代理在原始HTML上产生幻觉,在复杂的PDF上失败,或在长文档上溢出其上下文窗口。 一次调用。 通用模式。 每种格式。 每次。
何时使用此技能 您的代理需要阅读一个URL、文章或网页,而不包含广告/噪音 您的代理需要解析一个PDF、Word文档或Excel文件 您的代理需要从仪表板截图中提取指标 您有多个来源,想要一个单一的规范化模式 您想要确定的、LLM准备好的JSON,而不是原始内容
工具 reverse_read(源) 将任何来源转换为结构化的JSON,准备好供LLM使用。 输入:源 — URL(https://…)或文件路径(/path/to/file.pdf) 输出:{状态、内容类型、源、处理时间(毫秒)、数据:{标题、摘要提示、字数、内容、…} } 支持的类型:url · pdf · word · excel · csv · image · text detect_content_type(源) 轻量级探测 — 在不完全解析的情况下检测内容类型。 在reverse_read之前使用它来分支类型。 输入:源 — URL或文件路径 输出:{源、检测到的类型} batch_reverse(源数组) 规范化最多10个来源的单个调用。 失败的来源返回一个错误字段,而不中止批处理。 输入:来源 — 1-10个URL或文件路径的数组 输出:[ {源、结果} | {源、错误} ] upload_file(文件路径) 上传本地文件;返回一个文件ID,用于reverse_read作为文件:<文件ID>。 在写入之前验证扩展名。 支持:pdf、docx、xlsx、xls、csv、png、jpg、jpeg、webp、gif、txt、md。 输入:文件路径 — 本地文件的绝对路径 输出:{文件ID、文件名、大小(字节)}
安装 — stdio(本地代理) 与Claude Desktop、Cursor、Windsurf和任何stdio MCP主机兼容。 git clone https://github.com/Etytabs/REVERSAL cd REVERSAL pip install -r requirements.txt pip install -e . 将以下内容添加到您的MCP配置中: { "mcpServers": { "reversal": { "command": "python", "args": ["-m", "reversal_engine.mcp_server"], "cwd": "/path/to/REVERSAL" } } } 无需API密钥用于URL、PDF、Word、Excel、CSV和文本解析。 仅当需要图像/仪表板截图解析时设置ANTHROPIC_API_KEY。
安装 — HTTP(远程代理) 与OpenAI Codex、Claude Web和任何MCP-over-HTTP主机兼容。 # 1. 获取免费API密钥 curl -X POST https://api.reversal.dev/v1/register \ -H "Content-Type: application/json" \ -d '{"email": "you@example.com"}' # → { "api_key": "sk-rev-…" } { "mcpServers": { "reversal": { "transport": "http", "url": "https://api.reversal.dev/v1/mcp", "headers": { "Authorization": "Bearer sk-rev-YOUR_KEY" } } } } 对于OpenAI Codex(~/.codex/config.toml): [[mcp_servers]] name = "reversal" url = "https://api.reversal.dev/v1/mcp" [mcp_servers.headers] Authorization = "Bearer sk-rev-YOUR_KEY"
输出模式 每个来源返回相同的信封: { "reversal_engine": "1.0", "status": "ok", "content_type": "url | pdf | word | excel | csv | image | text", "source": "原始来源", "processed_in_ms": 142, "data": { "title": "…", "summary_hint": "前300个字符…", "word_count": 1240, "content": [] } }
Python SDK pip install reversal-sdk from reversal_sdk import ReversalClient client = ReversalClient(api_key="sk-rev-…") result = client.reverse("https://example.com/report") print(result["summary"]) # 批处理 results = client.batch([ "https://example.com/report", "/path/to/data.xlsx", ])
LangChain工具 from langchain.tools import tool @tool def reversal_tool(source: str) -> str: """将任何URL或文件规范化为结构化的JSON供代理使用。」 return client.reverse(source)["summary"]
TypeScript SDK npm install reversal-client import { ReversalClient } from "reversal-client"; const client = new ReversalClient({ apiKey: "sk-rev-…" }); const result = await client.reverse("https://example.com/report"); console.log(result.summary);
# Vercel AI SDK工具 import { tool } from "ai"; import { z } from "zod"; const reversalTool = tool({ description: "将任何URL或文件规范化为结构化的JSON。", parameters: z.object({ source: z.string() }), execute: async ({ source }) => client.reverse(source), });
安全 SSRF保护:所有URL都经过RFC-1918、环回、链路本地和元数据端点的验证 HMAC-SHA256签名的API密钥 — 默认密钥在启动时被拒绝 JSON-only Redis缓存 — 无pickle、无RCE表面 文件上传在写入之前经过扩展名允许列表的验证 可选的OTP-gated注册(REVERSAL_REGISTER_REQUIRE_OTP=true) 每IP注册的速率限制(3/分钟) 非root Docker运行时(uid 1001) 无obfuscated安装命令 · 无curl|sh · 无undeclared密钥
存储库 https://github.com/Etytabs/REVERSAL