返回目录
其他 插件

dsh-plugin-qwen-web-bridge

Andy294753951/dsh-plugin-qwen-web-bridge

DeepSeek Harness plugin: drive a logged-in Qwen web session (Qwen3.8 on qianwen.com / qwen.ai) through a local browser bridge

Stars
0
Forks
0
Issues
0
更新
3 天前

PROJECT TOPICS

项目标签

INSTALL REFERENCE

安装参考

未验证
dsh plugin --profile web add github:Andy294753951/dsh-plugin-qwen-web-bridge

该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。

PROJECT README

README

Qwen Web Bridge Plugin

A small local plugin that lets an agent (or any local process) drive an already logged-in Qwen web session in Edge/Chrome. It was originally built to ask Qwen3.8-Max from WSL without touching the login state.

agent / harness
      |
      | HTTP JSON (127.0.0.1:17172)
      v
bridge_server.py  <------->  Qwen Web Bridge (browser extension)
                                  |  tabs / scripting / debugger / cookies
                                  v
                    logged-in qwen.ai or qianwen.com tab

Contents

  • extension/ — Manifest V3 browser extension (unpacked).
  • bridge/bridge_server.py — stdlib-only Python bridge server.
  • bridge/client.py — tiny command-line client.
  • plugin.json — optional metadata, adjust to the target harness schema if needed.
  • examples/ — ready-to-use command recipes.

1. Load the extension

  1. Open edge://extensions (or chrome://extensions).
  2. Enable Developer mode.
  3. Click Load unpacked and select extension/.
  4. Pin the extension if you want to see its badge.

The extension polls http://127.0.0.1:17172 for commands. It does not phone home anywhere else.

2. Start the bridge server

python3 bridge/bridge_server.py --bind 127.0.0.1 --port 17172

On WSL2, Windows browsers can normally reach this WSL listener through http://127.0.0.1:17172.

3. Send commands

python3 bridge/client.py --action getTabs
python3 bridge/client.py --action getInfo
python3 bridge/client.py --action eval --expression "document.title"
python3 bridge/client.py --action navigate --params '{"url":"https://www.qianwen.com/"}'
python3 bridge/client.py --action getCookies --params '{"domains":["qianwen.com","aliyun.com"]}'

Use --raw '<json-command>' for anything else.

Supported actions

action meaning
getTabs list browser tabs
getInfo active tab info
navigate navigate or create a tab (params.url)
eval run JS in page MAIN world (params.expression, optional params.tabId)
waitFor poll a JS expression until truthy
getCookies read Qwen/Aliyun cookies (params.domains)
getAllCookies read all browser cookies (sensitive, local only)
capture PNG screenshot of visible tab
clickAt trusted CDP click at params.x, params.y
typeText trusted CDP text insertion after optional params.focusExpression
pressKey trusted CDP key press

Security notes

  • The bridge server listens on loopback by default; do not bind 0.0.0.0 on a shared network.
  • getCookies / getAllCookies expose browser login material. Only use them for local automation; never log or commit cookie values.
  • The extension requests cookies and debugger permissions because that is what logged-in web automation requires. Review the manifest before publishing to a public plugin registry.

Example: ask Qwen3.8-Max on qianwen.com

See examples/qianwen_ask.md.

DeepSeek Harness integration

This project is published as a dsh-plugin for DeepSeek Harness. It does not need to run inside the Harness process: the Harness agent can call it through its shell tool with bridge/client.py, or through any HTTP client on 127.0.0.1:17172.

A compact workflow:

python3 bridge/bridge_server.py &
python3 bridge/client.py --action navigate --params '{"url":"https://www.qianwen.com/"}'
python3 bridge/client.py --action eval --params '{"expression":"document.title"}'

See examples/qianwen_ask.md for a complete Qwen3.8-Max question-and-answer flow.

Repository

CLASSIFICATION EVIDENCE

分类依据

项目类型插件
功能分类其他
规则置信度

系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。