Skip to main content
Glama

DS-Vision 识图自动化 v2(MCP skill)

DeepSeek 网页端识图自动化:识图模式 + 深度思考强制开启,两轮独立投票 + 条件第三轮(互补则合并验证 / 矛盾则仲裁),坐标级证据提取。 只用 chat.deepseek.com 网页端,不调用任何本地或第三方模型。 理论依据:DeepSeek《Thinking with Visual Primitives》(2026-04-30) —— 视觉原语(bbox/point)作为思维单元,坐标归一化 0-999。

作者

  • @7067567g — V1 原型与地基:Playwright 浏览器自动化、Vision 模式切换、跨平台(Windows/Linux)适配、CDP 复用机制

  • @Tiger3807861189 — V2 架构设计与全面优化:投票引擎、五段式场景提示词、MCP stdio server、校准指纹系统、坐标解析与交叉校验、双图拼接、追问机制、浏览器生命周期管理等

Related MCP server: Vision MCP

与 v1 的差异

v1(脚本)

v2(本版)

深度思考

不管

强制开启并验证ensureDeepThink

「开启新对话」

正则只认「新对话」(已失效)

修正为 开启新对话/新对话/New chat

提示词

一句默认描述

五段式(场景前缀+目标+输出规格+坐标要求+负面约束),S0-S12 场景库

输出

纯文本 txt

结论+思考分离、<|box|>/裸 [[...]] 坐标解析、计数交叉校验

可靠性

单次

2 轮投票 + 条件第 3 轮(多数制)

形态

CLI

CLI + MCP server(6 个工具)

轮询

60s / 稳定2次

300s / 稳定3次(适应深度思考长输出),环境变量可调

退化响应

仅警告

自动换短提示词重试一次

校准系统

首次校准向导,三元素指纹持久化,跨分辨率/DPI 自适应

图像拼接

浏览器 Canvas 双图拼接(零外部依赖),设计-实现对比

输入通道

仅本地路径

本地路径 + data:image URI + HTTP(S) URL(≤50MB)

追问机制

ds_vision_followup 同会话追加提问,免重传图片

浏览器管理

用完即关,仅前台

CDP 复用 + 空闲自动关闭 + 无头模式(DS_VISION_HEADLESS

截图自检

文档化 self-check loop,验证截图意图一致后再发任务

目录结构

ds-vision/
├── SKILL.md                  # 英文 skill 文档(MCP 用法)
├── README.md                 # 本文件
├── package.json
├── mcp-config.example.json   # WorkBuddy mcp.json 片段
├── ds-vision-compat.mjs      # v1 原脚本(保留,兼容)
├── dump-vision.mjs           # 页面结构诊断(排障用)
├── scripts/
│   ├── ds-vision-core.mjs    # 内核:浏览器生命周期/识图流程/深度思考/投票引擎/拼图
│   ├── parse.mjs             # 双段解析、坐标提取、三分支一致性判定、交叉校验
│   ├── prompts.mjs           # 五段式提示词 + S0-S12 场景库 + 仲裁/合并提示词
│   ├── ds-vision-cli.mjs     # CLI 入口
│   ├── ds-vision-mcp.mjs     # MCP stdio server
│   └── ds-vision-calibrate.mjs # 首次校准向导(三元素指纹,一次性)
├── agents/openai.yaml        # Agent 元数据(Codex 等平台)
└── node_modules/             # playwright + @modelcontextprotocol/sdk(已内置)

安装

# 唯一前置:Chromium 浏览器二进制(约 300MB)
# 推荐装进 skill 目录(自包含,与 mcp-config.example.json 的 PLAYWRIGHT_BROWSERS_PATH 对应):
$env:PLAYWRIGHT_BROWSERS_PATH = "C:\Users\Tiger\.workbuddy\skills\ds-vision\browsers"   # PowerShell
npx playwright install chromium
# 国内加速:再加 $env:PLAYWRIGHT_DOWNLOAD_HOST="https://npmmirror.com/mirrors/playwright"
# (也可省略 PLAYWRIGHT_BROWSERS_PATH,装到全局 %LOCALAPPDATA%\ms-playwright)

首次运行会弹窗,扫码登录 chat.deepseek.com(登录态持久化到 %LOCALAPPDATA%\ds-profile;进程被强杀会导致 cookie 未写盘、需重扫)。

校准向导(每台电脑首次使用建议跑一次)

定位机制说明:全程文本驱动(「识图模式」「深度思考」「开启新对话」文本匹配 + 运行时 getBoundingClientRect 动态取坐标),不硬编码任何屏幕坐标,天然跨分辨率/DPI/窗口大小。大多数机器不需要校准。

但界面语言、页面改版、A/B 测试可能造成文本变体 → 定位失败。此时跑一次校准向导:

node scripts/ds-vision-cli.mjs --calibrate

浏览器打开 DS 官网后,按页面顶部蓝色横幅提示,依次点击三个元素: ①「识图模式」标签 ②「深度思考」按钮 ③「开启新对话」按钮。 指纹(文本/类名/相对位置)写入 %LOCALAPPDATA%\ds-profile\ds-vision-selectors.json,运行时优先使用;页面改版后重跑即可。

用法

CLI

# 健康检查(登录态/识图标签/深度思考按钮)
node scripts/ds-vision-cli.mjs --health

# 自验证:我做的页面长这样对吗
node scripts/ds-vision-cli.mjs page.png --scenario verify --goal "检查登录按钮是否居中、配色是否为蓝色系"

# 复刻:照这张图实现
node scripts/ds-vision-cli.mjs design.png --scenario replicate --goal "输出布局/配色/字号规格"

# 双图对比(自动拼图)
node scripts/ds-vision-cli.mjs before.png after.png --stitch --goal "列出所有差异"

# 操作指导(论文 §3.4.1 actionable suggestions:要达成 X 该点哪里)
node scripts/ds-vision-cli.mjs app.png --scenario action --goal "我要导出报表,应该点哪里?"

# 快速单轮(不投票)
node scripts/ds-vision-cli.mjs shot.png --votes 1 --goal "分析这张图"

# 兼容旧用法
node scripts/ds-vision-cli.mjs shot.png "分析这张图"

MCP 工具

工具

说明

ds_vision

主调用:投票 + 坐标,返回 Markdown

ds_vision_detailed

全量 JSON(结论/思考/坐标/逐轮原文/一致性元数据)

ds_vision_compare

双图拼接对比

ds_vision_followup

同会话追问(免重复上传,省时)

ds_vision_health

登录/识图标签/深度思考三检

ds_vision_calibrate

首次校准向导(弹窗引导点三元素,一次性)

WorkBuddy 注册:把 mcp-config.example.json 片段并入 ~/.workbuddy/mcp.json, 然后在连接器管理页右上角「自定义连接器」入口点 Trust

多平台注册(任何支持 MCP 的 Agent 通用)

本 skill 是标准 MCP stdio server,与 WorkBuddy 无耦合:

平台

配置文件

说明

WorkBuddy

~/.workbuddy/mcp.json

mcp-config.example.json 片段,Trust 后生效

Claude Desktop

%APPDATA%\Claude\claude_desktop_config.json

同样并入 mcpServers

Codex CLI

~/.codex/config.toml

[mcp_servers.ds-vision] + command/args/env(参考 deepseek-ocr 的 mcp-config.example.toml 写法)

Cursor / 其他

各自 mcp.json

同上

不配 MCP 也能用:CLI 直接 node scripts/ds-vision-cli.mjs,JSON 输出到 stdout,任何 Agent 可 shell 调用。

输出契约(论文原文实证)

  • 坐标[[x1,y1,x2,y2]],0-999 归一化,像素 = round(x/999 * 图宽)

  • 最终答案:提示词已要求模型用 \boxed{} 包裹头号答案(论文迷宫/路径追踪训练数据的官方格式,Display \boxed{True} / Put the destination icon name in \boxed{}),解析器优先提取

  • 问句形态:论文 16 个示例 query 全是具体问句(How many...? / Where does...? / 该如何...呢?)——写 goal 时用问句命中率最高

投票机制(判定规则,2026-08-02 定稿)

  1. 同图同提示词跑 2 个独立新会话(天然去相关)。

  2. 双通道大致一致(结论文本重合 + 坐标配对,且无独有覆盖、无矛盾)→ 收工。

  3. 各有独有覆盖(互补)→ 第 3 轮「合并验证」:把 A/B 结论注入提示词,让模型逐条对图验证后合并。

  4. 明确矛盾(关键数字不同 / 肯定否定对立)→ 第 3 轮「仲裁」:注入 A vs B,要求用坐标举证裁决。

  5. 三次取 2/3 多数;全不一致 → 返回三份原文并标注 no-consensus

截图自检(无视觉 Agent 必读)

Agent 没有视觉时,不要假设自己截的图是对的(截错页面/区域/滚动位置/黑图都常见)。流程:

  1. 截完图先用 ds_vision + scenario=general 问一句「这张图显示的是什么页面/内容?」

  2. 拿描述和你的截图意图比对;不匹配就调整截图参数(视口/全页/滚动位置/渲染等待)重截,直到描述与意图一致,再发正式任务。

  3. 若投票返回 consensus: "no-consensus"(两轮在基本事实上都谈不拢),先怀疑截图,再怀疑模型。

设计说明:为什么只有三个元素需要校准

交互

机制

需校准?

识图模式标签

鼠标点击(文本变体风险)

✅ 需要

深度思考开关

鼠标点击(同上)

✅ 需要

开启新对话

鼠标点击(同上)

✅ 需要

发送消息

键盘 Enter(无按钮点击)

❌ 不需要

上传图片

input[type=file].setInputFiles DOM 直填(零点击)

❌ 不需要

即:只有「必须点且文本可能变」的元素才进校准清单。

环境变量

变量

默认

说明

DS_VISION_TIMEOUT_MS

300000

单轮轮询上限(深度思考可能 2-5 分钟)

DS_VISION_IDLE_MS

300000

浏览器空闲自动关闭;0=常驻

DS_VISION_HEADLESS

=1 无头运行(登录态在 profile 里)

DS_VISION_REQUIRE_DEEP_THINK

1

=0 时深度思考按钮缺失降级为警告

关键坑(沿用 v1 + 新增)

  • 登录态丢失:强杀进程 → cookie 未写盘。正常退出即可。

  • 坐标是 0-999 归一化:像素 = round(x/999 * 图宽)

  • 提示词必须单行\n 会提前提交(已自动处理)。

  • 视觉原语需触发:提示词不提坐标,模型可能不输出坐标(论文局限②)。

  • 细粒度精度有限:论文局限①——小目标先裁剪放大再传(precheckImage 会警告 <64 万像素)。

  • 拓扑推理跨场景泛化有限:论文局限③——迷宫/流程图很强,陌生拓扑别期望满格。

  • 页面改版:定位失败先跑 node dump-vision.mjs 看真实 DOM。

分数参考(论文 Table 1,识别强项)

细粒度计数 88.7(全场最高)/ Pixmo-Count 89.2 / 迷宫导航 66.9(第二名 50.6)/ 路径追踪 56.7(第二名 46.5)。

F
license - not found
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • OCR, transcription, file extraction, and image generation for AI agents via MCP.

  • Hosted MCP with 91 agent tools: X, domains, SEO, Maps, Trends, Search, YouTube, TikTok, and more.

  • Screenshot, diff, audit and sitemap-capture any web page — 5 MCP tools for AI agents.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Tiger3807861189/ds-vision-mcp-skill'

If you have feedback or need assistance with the MCP directory API, please join our Discord server