quark-mcp
quark-mcp
夸克 MCP Server — через встроенную страницу AI-чата браузера 夸克 (quark.cn/chat, 千问) предоставляет возможность работы с изображениями, вопросов-ответов и генерации изображений по тексту без затрат на API.
На базе CDP + Playwright управляет браузером 夸克 в отдельном профиле: на странице чата загружает изображения, задаёт вопрос и извлекает ответ; API-ключ не требуется.
Возможности
工具 | 说明 |
| Текстовый вопрос-ответ (повторное использование сессии, поддержка многоходового контекста; |
| Распознавание/анализ изображений (загрузка картинки на страницу чата с вопросом и получение ответа) |
| Генерация изображений по тексту (естественный запрос, за раз примерно 4 картинки; сохраняется локально и возвращается путь) |
| Видеоанализ (скачать/локальный → извлечение кадров с таймкодом → разбивка на плитки → распознавание; опционально локальная транскрипция) |
| Запускает демон 夸克 (отдельный профиль, порт 9224, идемпотентно) |
| Проверка состояния демона и статуса входа |
| Останавливает демон 夸克 |
Related MCP server: Percepta MCP Server
Как это работает
Claude Code ──MCP stdio──> server.py ──> quark_mcp/quark_ai.py ──CDP──> 夸克浏览器(独立 profile)
quark_mcp/video_analyze.py │
quark.cn/chat(网页版千问)夸克 запускается с
--remote-debugging-port=9224в отдельном профиле, статус входа сохраняется.Изображения отправляются через DataTransfer-инъекцию (
JS_DROP_IMAGE), а не filechooser; отправка происходит после появления списка вложений.Критерий завершения ответа: в
card classAI-ответа[data-chat-answers-wrap]появляетсяcompleted.
Требования к окружению
Python 3.10+
браузер 夸克 (автоматически определяет переменную окружения
QUARK_PATHили стандартные пути установки)Для
video_analyzeнужныffmpeg/ffprobe(извлечение кадров) +pillow(надписи с таймкодом, сборка плиток) +Опционально:
yt-dlp(загрузка онлайн-видео),faster-whisper(transcribe=Trueдля транскрипции аудио)
Установка
pip install fastmcp playwright websocket-client
# 可选功能依赖
pip install pillow # 视频帧时间戳烧录 + 拼图(video_analyze 必需)
pip install yt-dlp # 在线视频下载(video_analyze 传 URL 时)
pip install faster-whisper # 音频转写(transcribe=True)yt-dlp.exe, установленный через pip, часто ложится в Scripts/ и не попадает в PATH; в коде уже есть подстраховка: если команда yt-dlp не найдена, автоматически используется python -m yt_dlp, так что настраивать PATH не обязательно.
Использование
1. Как MCP-сервер (Claude Code и т. п.)
{
"mcpServers": {
"quark-mcp": {
"command": "python",
"args": ["/path/to/quark-mcp/server.py"]
}
}
}2. HTTP-режим (отладка)
python server.py --port 80803. Прямой запуск через CLI (без MCP)
# 启动 daemon(首次需手动登录一次,登录态持久化)
python quark_mcp/quark_ai.py --start
python quark_mcp/quark_ai.py --status
# 纯文本问答
python quark_mcp/quark_ai.py --ask "帮我解释一下 CDP 是什么"
# 图片识别
python quark_mcp/quark_ai.py --image photo.jpg --question "请描述这张图片"
# 文生图(默认存 ~/.claude/quark-images)
python quark_mcp/quark_ai.py --gen "一只橘猫坐在窗台看夕阳,插画风格"
python quark_mcp/quark_ai.py --gen "复古黄铜怀表" --outdir ./imgs --max-images 2
# 视频分析(本地文件或 URL)
python quark_mcp/video_analyze.py --video demo.mp4
python quark_mcp/video_analyze.py --video demo.mp4 --transcribeПримечания по генерации изображений
Модель: следует модели по умолчанию на странице диалога 夸克 (千问), её нельзя изменить.
Запуск: отдельной кнопки/переключателя «генерации изображений» нет, генерация срабатывает от обычного словесного запроса (в промпте нужно явно написать, что рисовать).
Пропорции: в веб-версии нет селектора пропорций, поэтому пропорции нужно описать словами в промпте (например, «горизонтальная композиция 16:9»).
Результат: за раз получается примерно 4 картинки, примерно 960×1280.
Загрузка: CDN-URL подписаны
auth_key, поэтому картинки нужно тянуть через контекст браузера (page.request), обычный urllib даст 403.
# 返回结构
{"ok": True,
"images": ["C:/Users/.../.claude/quark-images/quark_20260823-103519_1.png", ...],
"text": "已生成 2 张图片, 保存至 ...",
"meta": {"found": 4, "details": [{"path": ..., "bytes": ..., "width": 960, "height": 1280}],
"model": "千问(夸克对话页默认)"}}Конфигурация
Путь к 夸克: установите переменную окружения
QUARK_PATHс указанием исполняемого файла.Порт CDP: по умолчанию
9224— см.CDP_PORTвquark_ai.py(порт разнесён с doubao-mcp, чтобы использовать 9223, можно сосуществовать).Вход: отдельный профиль находится в
~/.claude/quark-ai-profile; после первогоdaemon_startнужно один раз войти в систему вручную.Каталог для картинок: по умолчанию
~/.claude/quark-images, можно переопределить черезoutdir.
Часто задаваемые вопросы
Код выхода 1 (CDP недоступен / не найден 夸克): демон не запущен — сначала выполните
daemon_start; либо задайтеQUARK_PATH.Код выхода 2 (не выполнен вход): откройте страницу диалога и один раз войдите вручную.
Код выхода 3 (проблема с изображением): не существует указанного пути или не удалось загрузить изображение.
Код выхода 4 (сбой взаимодействия): не найдено поле ввода / кнопка отправки, обычно из-за изменения страницы.
Код выхода 5 (таймаут): ответ генерируется долго, увеличьте
timeout(для генерации изображений по умолчанию 300 с).Код выхода 6 (пустой результат): ответ пуст или не создано ни одного изображения, возможно риск-контроль или фильтрация контента.
Зависимость от структуры страницы
Чисто веб-операции означают, что при изменении структуры страницы интерфейса 夸克 может сломаться. Проверено на текущем наборе зависимостей (SEL в quark_ai.py, на базе 夸克 7.1.2.956 / Chromium 144 + веб-версия 4.0.0):
用途 | 选择器 |
Поле ввода |
|
Отправка |
|
Роль ответа AI |
|
Роль вопроса пользователя |
|
Признак завершения | в class элемента |
Вложение |
|
Два подводных камня:
Признак завершения — это
completedна карточке ответа, а не.qk-markdown->qk-markdown-complete. Второй вариант на веб-версии отсутствует — он используется в клиентской панели; если скопировать его, результат всегда будет считаться «не завершённым».В генерации изображений нужно ждать стабилизации набора подписанных URL картинок, а опираться только на
completedнельзя: текст завершается раньше, а финальные изображения появляются ещё через ~45 секунд, когда заменяется плейсхолдер-анимация. Только если послеcompletedподождать ещёIMAGE_GRACE(120 секунд) и картинки всё ещё нет, можно считать, что в этом раунде изображений нет.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Give AI agents a real cloud Chrome: open sessions, navigate, read pages, click, type and screenshot.
Control a real browser from AI agents: navigate, click, type, screenshot, read the page.
Hosted browser for AI agents: screenshots, post-JS DOM, console, WCAG. No install, no API key.
Web search, browser automation, scraping, crawling and CAPTCHA solving for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to control browser automation through natural language prompts using Playwright, supporting visual element interaction, PDF generation, screenshots, and testing assertions.ISC
- FlicenseNot gradedqualityDmaintenanceProvides browser automation, AI-powered analysis, visual processing, web scraping, automated test generation, and DevTools analysis capabilities. Supports multiple AI providers (OpenAI, Anthropic, Google, Ollama) for intelligent web interaction and data extraction.-
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to execute browser automation, perform QA tasks, and generate test code through natural language commands using Playwright.7MIT
- AlicenseAqualityDmaintenanceEnables terminal AI coding assistants to interact with web AI chat services through browser automation, supporting multiple platforms like Doubao and ChatGPT.318 npmMIT