Skill: ai-nurmamat/minimax-vision-captcha (version 1.0.0)

--- name: minimax-vision-captcha description: 使用MiniMax视觉模型识别图片中的验证码、滑块位置、文字内容等。适用于需要AI视觉分析的场景，如微信验证码识别、网页截图分析、图片文字提取。当需要识别图片内容、分析验证码、提取截图信息时使用此技能。 --- # MiniMax Vision Captcha Skill 使用MiniMax MCP的视觉理解能力识别图片中的内容，解决验证码、滑块分析等问题。 ## 快速开始 ### 1. 截图 使用OpenClaw浏览器截图： ```bash browser action=screenshot targetId=<页面ID> ``` 或使用OpenClaw的snapshot获取页面结构后分析。 ### 2. 调用MiniMax视觉识别 ```bash mcporter call minimax-coding-plan.understand_image prompt="描述图片内容" image_source="/path/to/screenshot.png" ``` ### 3. 分析结果 根据返回结果进行下一步操作。 ## 典型使用场景 ### 场景1：微信滑块验证码 1. 访问微信页面，触发验证码 2. 截图：`browser action=screenshot` 3. 发送给视觉模型分析 4. 获取滑块位置描述 ### 场景2：图片文字识别 1. 截图或获取图片路径 2. 调用视觉模型识别文字 3. 返回文字内容 ### 场景3：网页元素分析 1. 使用snapshot获取页面结构 2. 分析特定元素的可见内容和属性 ## 注意事项 - 确保MiniMax MCP已配置 - 图片路径需要是服务器可访问的绝对路径 - 滑块验证码需要描述缺口位置（左侧/右侧/距离） ## 依赖 - minimax-coding-plan MCP - OpenClaw浏览器工具

path: marketplace.json
content: {
  "name": "minimax-vision-captcha",
  "displayName": "MiniMax Vision Captcha",
  "description": "使用MiniMax视觉模型识别图片验证码、滑块位置、文字内容。适用于微信验证码识别、网页截图分析。",
  "version": "1.0.0",
  "author": "Unum AI",
  "authorLink": "https://unum.ai",
  "repository": "",
  "license": "MIT",
  "keywords": [
    "captcha",
    "vision",
    "minimax",
    "image-recognition",
    "slider-captcha",
    "weixin"
  ],
  "categories": [
    "automation",
    "image-processing"
  ],
  "triggers": [
    "识别验证码",
    "滑块位置",
    "图片识别",
    "视觉分析",
    "captcha",
    "微信验证码"
  ],
  "dependencies": {
    "node": ["mcporter"]
  },
  "platforms": ["linux", "macos", "windows"],
  "minClaudeCodeVersion": "1.0.0"
}


path: scripts/solve-captcha.js
content: #!/usr/bin/env node
/**
 * MiniMax Vision Captcha - 自动识别验证码
 * 
 * 使用MiniMax视觉模型识别图片中的验证码、滑块位置等
 * 
 * 使用方式:
 *   node scripts/solve-captcha.js --screenshot /path/to/image.png
 *   node scripts/solve-captcha.js --prompt "描述图片内容" --image /path/to/image.png
 */

const { execSync } = require('child_process');
const path = require('path');
const fs = require('fs');

// 解析命令行参数
const args = process.argv.slice(2);
let prompt = '请描述这张图片的内容';
let imagePath = null;

for (let i = 0; i < args.length; i++) {
  if (args[i] === '--prompt' || args[i] === '-p') {
    prompt = args[i + 1];
    i++;
  } else if (args[i] === '--image' || args[i] === '-i') {
    imagePath = args[i + 1];
    i++;
  } else if (args[i] === '--screenshot' || args[i] === '-s') {
    imagePath = args[i + 1];
  } else if (args[i] === '--help' || args[i] === '-h') {
    console.log(`
MiniMax Vision Captcha - 验证码识别工具

用法:
  node solve-captcha.js [选项]

选项:
  -p, --prompt <文本>   识别提示（可选）
  -i, --image <路径>    图片路径（可选）
  -s, --screenshot      使用最新截图
  -h, --help            显示帮助

示例:
  node solve-captcha.js --screenshot /tmp/captcha.png
  node solve-captcha.js --prompt "识别滑块位置" --image /tmp/img.png
`);
    process.exit(0);
  }
}

// 如果没有指定图片，查找最新的截图
if (!imagePath) {
  const mediaDir = '/root/.openclaw/media/browser';
  try {
    const files = fs.readdirSync(mediaDir)
      .filter(f => f.endsWith('.png'))
      .map(f => ({ name: f, time: fs.statSync(path.join(mediaDir, f)).mtime }))
      .sort((a, b) => b.time - a.time);
    
    if (files.length > 0) {
      imagePath = path.join(mediaDir, files[0].name);
      console.log('使用最新截图:', files[0].name);
    }
  } catch (e) {
    console.error('查找截图失败:', e.message);
    process.exit(1);
  }
}

if (!imagePath || !fs.existsSync(imagePath)) {
  console.error('图片不存在:', imagePath);
  process.exit(1);
}

// 调用MiniMax视觉识别
console.log('正在调用MiniMax视觉识别...');
console.log('图片路径:', imagePath);
console.log('提示词:', prompt);

try {
  const cmd = `mcporter call minimax-coding-plan.understand_image prompt="${prompt}" image_source="${imagePath}"`;
  const result = execSync(cmd, { encoding: 'utf-8', timeout: 30000 });
  console.log('\n===== 识别结果 =====\n');
  console.log(result);
} catch (e) {
  console.error('识别失败:', e.message);
  process.exit(1);
}


Security scan verdicts — ClawScan: suspicious | static analysis: suspicious | VirusTotal: clean | SkillSpector: suspicious (HIGH)