Skip to main content
Glama

Qwen Studio Browser Gateway

English

An unofficial localhost-only gateway that gives Claude Code one additional untrusted expert opinion from Qwen 3.8 Max via a manually authorized web session at chat.qwen.ai.

This is not the official Qwen API, not a primary agent, and not a source of guaranteed-correct answers. The user logs in manually on each host; the project does not transfer cookies/tokens, does not bypass CAPTCHA/MFA, and does not give Qwen access to the shell, filesystem, or local tools.

Flow

Claude Code
  └─ MCP ask_qwen_expert
       └─ http://127.0.0.1:8798/v1/expert
            └─ FIFO, active = 1
                 └─ CDP http://127.0.0.1:9333
                      └─ одна видимая вкладка https://chat.qwen.ai
                           └─ точная Qwen3.8-Max

Before each Send, the gateway selects and confirms qwen3.8-max / Qwen3.8-Max. A model mismatch, unknown DOM, challenge, missing login, or remote endpoint results in an error. After Send, browser generation is not repeated automatically.

Related MCP server: cc-in-codex

Requirements

  • Node.js 22+;

  • Chrome/Chromium with a graphical window;

  • Linux for the ready-made systemd user templates (the Node.js gateway itself is portable);

  • your own Qwen account and the right to use the web service.

Installation

npm ci
npm run check
npm run build
npm test

Create a private configuration:

install -d -m 700 ~/.config/qwen-studio-browser-gateway
cp .env.example ~/.config/qwen-studio-browser-gateway/server.env
chmod 600 ~/.config/qwen-studio-browser-gateway/server.env

Edit server.env:

  • set the local QWEN_BROWSER_EXECUTABLE_PATH;

  • generate a new random QWEN_LOCAL_API_KEY for this host;

  • do not change loopback endpoints;

  • before use, confirm the current ID/label of the strongest model in the live UI.

Do not commit server.env and the browser profile.

Manual Login

Launch a separate browser:

set -a
source ~/.config/qwen-studio-browser-gateway/server.env
set +a
./start-qwen-browser.sh

In the opened window, log in to https://chat.qwen.ai yourself. CAPTCHA and MFA can only be handled by the user. Leave a single Qwen tab open.

In another terminal, run the gateway:

set -a
source ~/.config/qwen-studio-browser-gateway/server.env
set +a
node dist/cli.js serve

For a persistent Linux user service, use the templates in systemd/ and the instructions in docs/setup.md.

Safe Smoke Tests

These requests do not trigger generation:

node dist/cli.js browser doctor
curl -fsS -H "Authorization: Bearer $QWEN_LOCAL_API_KEY" \
  http://127.0.0.1:8798/health
curl -fsS -H "Authorization: Bearer $QWEN_LOCAL_API_KEY" \
  http://127.0.0.1:8798/v1/models
node dist/cli.js mcp install-config

POST /v1/expert and POST /v1/chat/completions launch real web generation and may consume quota.

Claude Code MCP

After npm run build, run:

node dist/cli.js mcp install-config

The command prints portable JSON with the current paths for Node.js and dist/cli.js. Add the qwen-expert object to the Claude Code MCP configuration on this host. MCP only exposes ask_qwen_expert; the response is always marked as advisory and must be verified independently.

Security Boundaries

  • HTTP and CDP accept only loopback endpoints.

  • QWEN_WEB_URL accepts only the origin https://chat.qwen.ai.

  • The local API key is required.

  • Prompts are not logged; screenshots are disabled by default.

  • One tab and one FIFO queue prevent responses from being mixed.

  • Qwen does not receive executable tools or local files.

  • The project is not intended to bypass site restrictions or mass automation.

More details: AGENTS.md, docs/architecture.md, docs/security.md, docs/troubleshooting.md.

Related MCP Connectors

Related MCP Servers