@anionex/dsh-vision-toolkit 0.1.20 → 0.1.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -30,7 +30,7 @@ If you use DeepSeek or another text-only model in DeepSeek Harness (DSH), you ma
30
30
 
31
31
  - **Paste and use it immediately.** Paste an image in DSH Web and the text-only route switches to its `(Vision Toolkit)` variant without manual path copying or model changes.
32
32
  - **A seamless image workflow.** Native thumbnails, session history, and workspace paths stay intact; Web can preview artifacts and Headless can continue using the same structured results.
33
- - **One command to install.** The built-in free Groq Qwen3.6 vision service is ready after installation, with no API key required.
33
+ - **One command to install.** The built-in free Gemini 3.7 Flash vision service is ready after installation, with no API key required.
34
34
  - **Built-in free vision.** The shared service works immediately after installation; if shared capacity is temporarily exhausted, it returns a readable `429` response with retry guidance.
35
35
  - **Vision guided by intent.** The agent extracts evidence for the task at hand, such as “Where is the error?” or “Where is the button?”, instead of returning a generic caption.
36
36
  - **A complete screenshot-to-verification loop.** Reference images, HTML screenshots, difference regions, and pixel comparison work together for UI restoration.
@@ -40,9 +40,9 @@ If you use DeepSeek or another text-only model in DeepSeek Harness (DSH), you ma
40
40
  This project has two layers:
41
41
 
42
42
  1. **Visual tools and a Skill:** the agent learns when to inspect, ground, OCR, crop, trace, or compare pixels.
43
- 2. **Native DSH integration:** those capabilities live inside Profiles, sessions, Settings, Artifacts, and the Web UI, with a free Groq Qwen3.6 vision service ready after installation.
43
+ 2. **Native DSH integration:** those capabilities live inside Profiles, sessions, Settings, Artifacts, and the Web UI, with a free Gemini 3.7 Flash vision service ready after installation.
44
44
 
45
- > **Install and use it immediately.** The default setup includes a free Qwen3.6 vision service and requires no API key. Cropping, pixel diffing, color analysis, foreground extraction, SVG tracing, and HTML screenshots run locally without spending vision API requests.
45
+ > **Install and use it immediately.** The default setup includes a free Gemini 3.7 Flash vision service and requires no API key. Cropping, pixel diffing, color analysis, foreground extraction, SVG tracing, and HTML screenshots run locally without spending vision API requests.
46
46
 
47
47
  ```sh
48
48
  dsh plugin --profile web add @anionex/dsh-vision-toolkit
@@ -69,6 +69,7 @@ dsh plugin --profile web add @anionex/dsh-vision-toolkit
69
69
  ## Recent updates
70
70
 
71
71
  - **2026-08-16 · Windows Python:** Added Microsoft Store Python support, fixing first-time isolated-runtime setup failures for affected Windows users.
72
+ - **2026-08-17 · Free vision upgrade:** Switched the built-in no-key service to Gemini 3.7 Flash and fixed Qwen/Gemini bounding-box coordinate order.
72
73
  - **2026-08-16 · Better free vision:** Switched the built-in no-key service to Groq Qwen3.6, improving image understanding without adding setup steps.
73
74
  - **2026-08-16 · Image paste:** Text-only routes now switch to a `(Vision Toolkit)` variant and keep a workspace path, fixing blocked pastes and images that could not be reused later.
74
75
  - **2026-08-16 · More shared capacity:** Expanded the free service capacity to reduce peak-time `429` responses.
@@ -226,10 +227,12 @@ The default setup uses:
226
227
 
227
228
  ```text
228
229
  Base URL: https://vision.anionex.me/v1
229
- Model: qwen/qwen3.6-27b
230
+ Model: gemini-3.7-flash
230
231
  API Key: https://agent-vision.anionex.me (filled automatically)
231
232
  ```
232
233
 
234
+ Requests that still use the previous `qwen/qwen3.6-27b` model name remain compatible and are routed to the Qwen backend.
235
+
233
236
  This is a shared zero-configuration entry point, not an unlimited private endpoint. Request safeguards include:
234
237
 
235
238
  | Limit | Current value |
@@ -247,6 +250,8 @@ Existing clients that still send `api_key="free"` remain compatible.
247
250
 
248
251
  For higher quotas, private endpoints, or another model, change the provider in **Settings → Vision Toolkit** and store the API key as a DSH Credential. Settings stores the Credential reference and never reads the saved secret back into the browser.
249
252
 
253
+ **Step-by-step Groq tutorial:** [Get a free Groq API key and use Qwen3.6-27B for image understanding](docs/groq-qwen3.6-vision.md). It includes screenshots for account/API-key setup, the exact Vision Toolkit settings, and working cURL and Python examples.
254
+
250
255
  You can also configure a Profile patch:
251
256
 
252
257
  ```yaml
package/README.zh.md CHANGED
@@ -34,7 +34,7 @@
34
34
 
35
35
  - **粘贴即可使用。** 在 DSH Web 里粘贴图片,文本模型会自动切换到看图模式变体,不需要手动复制路径或更换模型。
36
36
  - **无缝体验。** 图片保留原生缩略图、会话记录和工作区路径;Web 可以预览产物,Headless 也能继续使用同一份结构化结果。
37
- - **一行命令安装即用。** 安装插件后默认使用内置免费 Groq Qwen3.6 视觉服务,不需要申请 API Key。
37
+ - **一行命令安装即用。** 安装插件后默认使用内置免费 Gemini 3.7 Flash 视觉服务,不需要申请 API Key。
38
38
  - **内置免费视觉。** 安装后即可直接使用共享服务;共享容量暂时用尽时,会返回带重试提示的明确 `429` 响应。
39
39
  - **带着意图去看图。** Agent 不只生成通用描述,而是围绕“报错在哪里”“按钮在哪”等当前任务提取证据。
40
40
  - **从截图到可验证结果。** 参考图、HTML 截图、差异定位和像素对比组成一条完整 UI 还原闭环。
@@ -45,9 +45,9 @@
45
45
  本项目提供两层能力:
46
46
 
47
47
  1. **视觉工具和 Skill**:让 Agent 知道什么时候该看图、定位、OCR、裁剪、描摹或做像素对比。
48
- 2. **DSH 原生接入**:把这些能力放进 Profile、会话、Settings、Artifacts 和 Web 界面,并提供安装即可使用的免费 Groq Qwen3.6 视觉服务。
48
+ 2. **DSH 原生接入**:把这些能力放进 Profile、会话、Settings、Artifacts 和 Web 界面,并提供安装即可使用的免费 Gemini 3.7 Flash 视觉服务。
49
49
 
50
- > **安装即可使用。** 默认接入内置免费 Groq Qwen3.6 视觉服务,不需要申请 API Key;
50
+ > **安装即可使用。** 默认接入内置免费 Gemini 3.7 Flash 视觉服务,不需要申请 API Key;
51
51
 
52
52
  ```sh
53
53
  dsh plugin --profile web add @anionex/dsh-vision-toolkit
@@ -74,6 +74,7 @@ dsh plugin --profile web add @anionex/dsh-vision-toolkit
74
74
  ## 最近更新
75
75
 
76
76
  - **2026-08-16 · Windows Python:** 支持 Microsoft Store Python,解决部分 Windows 用户首次创建隔离环境失败的问题。
77
+ - **2026-08-17 · 免费视觉升级:** 默认模型切换到 Gemini 3.7 Flash,并修复 Qwen/Gemini 检测框坐标顺序错位的问题。
77
78
  - **2026-08-16 · 免费视觉升级:** 默认模型切换到 Groq Qwen3.6,解决免 Key 方案看图效果不足的问题。
78
79
  - **2026-08-16 · 图片粘贴:** 文本模型自动切换到 `(Vision Toolkit)` 变体并保留工作区路径,解决粘贴图片被拦截或后续无法复用的问题。
79
80
  - **2026-08-16 · 共享容量:** 扩大免费服务容量,减少高峰期出现 `429` 的情况。
@@ -229,10 +230,12 @@ flowchart LR
229
230
 
230
231
  ```text
231
232
  Base URL: https://vision.anionex.me/v1
232
- Model: qwen/qwen3.6-27b
233
+ Model: gemini-3.7-flash
233
234
  API Key: https://agent-vision.anionex.me(自动填写)
234
235
  ```
235
236
 
237
+ 仍然使用旧模型名 `qwen/qwen3.6-27b` 的请求保持兼容,会自动路由到 Qwen 后端。
238
+
236
239
  这是共享的免费入口,不是无限量私有服务。请求保护规则包括:
237
240
 
238
241
  | 限制 | 当前值 |
@@ -250,6 +253,8 @@ API Key: https://agent-vision.anionex.me(自动填写)
250
253
 
251
254
  如果你需要更高额度、私有端点或其他模型,可以在 **设置 → 视觉工具** 中修改提供方,并把 API Key 保存为 DSH Credential。Settings 只保存 Credential 引用,不会回显密钥。
252
255
 
256
+ **Groq 图文教程:** [免费获取 Groq API Key,并调用 Qwen3.6-27B 识图](docs/groq-qwen3.6-vision.zh.md)。教程包含账号与 API Key 获取截图、Vision Toolkit 的准确配置,以及可直接使用的 cURL 和 Python 示例。
257
+
253
258
  也可以在 Profile patch 中配置:
254
259
 
255
260
  ```yaml
Binary file
@@ -0,0 +1,236 @@
1
+ # Get a free Groq API key and use Qwen3.6-27B for vision
2
+
3
+ **English** | [中文](groq-qwen3.6-vision.zh.md)
4
+
5
+ This guide covers two tasks:
6
+
7
+ 1. Sign up for the GroqCloud Free Plan and create a Groq API key.
8
+ 2. Use `qwen/qwen3.6-27b` to analyze images through DSH Vision Toolkit or ordinary code.
9
+
10
+ > As of August 17, 2026, Groq lists Qwen3.6-27B as a Preview model with text and image input. Free Plan traffic is rate-limited and the limits can change; use the current [Groq Rate Limits](https://console.groq.com/docs/rate-limits) and [Qwen3.6-27B model page](https://console.groq.com/docs/model/qwen/qwen3.6-27b) as the source of truth.
11
+
12
+ ## 1. Create a free GroqCloud account
13
+
14
+ Open the [GroqCloud Console](https://console.groq.com/). You can sign up or log in with Google, GitHub, SSO, or email.
15
+
16
+ <p align="center">
17
+ <img src="assets/groq-console-home.png" width="92%" alt="GroqCloud Console sign-up and login page" />
18
+ </p>
19
+
20
+ The Free Plan is enough to complete this tutorial without purchasing paid capacity. It is not unlimited; the API returns `429 Too Many Requests` when the current quota is exhausted.
21
+
22
+ As of August 17, 2026, the official Free Plan table lists Qwen3.6-27B at `30 RPM` (requests per minute), `1K RPD` (requests per day), `8K TPM` (tokens per minute), and `200K TPD` (tokens per day). Your organization's effective limits are shown on the Limits page in Groq Console.
23
+
24
+ ## 2. Create and save an API key
25
+
26
+ After logging in, open **API Keys** in the top navigation or go directly to [Groq API Keys](https://console.groq.com/keys). When logged out, the page first shows this login prompt:
27
+
28
+ <p align="center">
29
+ <img src="assets/groq-console-keys-login.png" width="92%" alt="Groq API Keys page asking the user to log in" />
30
+ </p>
31
+
32
+ On the API Keys page:
33
+
34
+ 1. Click **Create API Key**.
35
+ 2. Enter a recognizable name such as `dsh-vision-toolkit`.
36
+ 3. Confirm the creation.
37
+ 4. Copy the key beginning with `gsk_` immediately, then save it in a password manager or a DSH Credential.
38
+
39
+ Groq's official Quickstart likewise starts with creating an API key and placing it in an environment variable:
40
+
41
+ <p align="center">
42
+ <img src="assets/groq-docs-quickstart.png" width="88%" alt="Groq Quickstart instructions for creating and setting an API key" />
43
+ </p>
44
+
45
+ The complete API key is normally shown only once. Do not put it in a README, chat transcript, screenshot, Git commit, or frontend code.
46
+
47
+ ### Set the key in a terminal
48
+
49
+ macOS / Linux:
50
+
51
+ ```sh
52
+ export GROQ_API_KEY="gsk_your_key_here"
53
+ ```
54
+
55
+ Windows PowerShell, for the current window:
56
+
57
+ ```powershell
58
+ $env:GROQ_API_KEY = "gsk_your_key_here"
59
+ ```
60
+
61
+ Confirm that the variable exists without printing the secret:
62
+
63
+ ```sh
64
+ test -n "$GROQ_API_KEY" && echo "GROQ_API_KEY is set"
65
+ ```
66
+
67
+ ## 3. Confirm the model ID and vision support
68
+
69
+ Use this exact model ID in Groq API requests:
70
+
71
+ ```text
72
+ qwen/qwen3.6-27b
73
+ ```
74
+
75
+ Do not shorten it to `qwen3.6-27b`, `Qwen3.6-27B`, or `27b`. The model page shows both image input and the Vision capability:
76
+
77
+ <p align="center">
78
+ <img src="assets/groq-docs-qwen3.6.png" width="92%" alt="Groq Qwen3.6-27B model page showing image input and Vision capability" />
79
+ </p>
80
+
81
+ The Groq model page lists these main image limits:
82
+
83
+ | Item | Limit |
84
+ |---|---:|
85
+ | Individual image file | 20 MB |
86
+ | Images in one request | Up to 3 |
87
+
88
+ Groq's general vision guide currently says that up to five images can be processed, while the Qwen3.6-27B model page says three. This guide follows the stricter model-specific limit to avoid rejected requests.
89
+
90
+ <p align="center">
91
+ <img src="assets/groq-docs-vision.png" width="88%" alt="Groq Images and Vision documentation showing model limits and an image request example" />
92
+ </p>
93
+
94
+ ## 4. Use it in DSH Vision Toolkit
95
+
96
+ If this plugin is already installed, this is the shortest path.
97
+
98
+ 1. Open **Settings → Vision Toolkit** in DSH Web.
99
+ 2. Enter these values under Vision service:
100
+
101
+ | Field | Value |
102
+ |---|---|
103
+ | API protocol | `OpenAI Chat Completions` |
104
+ | Base URL | `https://api.groq.com/openai/v1` |
105
+ | Model | `qwen/qwen3.6-27b` |
106
+ | API key | Paste the newly created `gsk_...` key |
107
+
108
+ 3. Click **Save and apply**. The key is stored in DSH Credentials and its full value is not displayed again in Settings.
109
+ 4. Click **Test vision model**. This sends the plugin's bundled diagnostic image and verifies a real multimodal request rather than only checking `/models` connectivity.
110
+ 5. After the test succeeds, paste an image into a new or existing session and ask a focused question, for example:
111
+
112
+ ```text
113
+ Inspect this screenshot. Transcribe the complete error first, then explain the most likely cause.
114
+ ```
115
+
116
+ The same provider can be configured in a Profile patch. Keep the key in a DSH Credential or environment variable rather than writing it into YAML:
117
+
118
+ ```yaml
119
+ - id: vision-toolkit
120
+ config:
121
+ provider:
122
+ protocol: openai
123
+ baseUrl: https://api.groq.com/openai/v1
124
+ model: qwen/qwen3.6-27b
125
+ credential: GROQ_API_KEY
126
+ ```
127
+
128
+ ## 5. Analyze a remote image with cURL
129
+
130
+ The following request uses Groq's OpenAI Chat Completions-compatible endpoint. Replace the example URL with your own publicly accessible image URL:
131
+
132
+ ```sh
133
+ curl https://api.groq.com/openai/v1/chat/completions \
134
+ -H "Authorization: Bearer $GROQ_API_KEY" \
135
+ -H "Content-Type: application/json" \
136
+ -d '{
137
+ "model": "qwen/qwen3.6-27b",
138
+ "messages": [{
139
+ "role": "user",
140
+ "content": [
141
+ {"type": "text", "text": "Describe the main content of this image and transcribe all visible text."},
142
+ {"type": "image_url", "image_url": {
143
+ "url": "https://upload.wikimedia.org/wikipedia/commons/f/f2/LPU-v1-die.jpg"
144
+ }}
145
+ ]
146
+ }],
147
+ "temperature": 0.2,
148
+ "max_completion_tokens": 1024
149
+ }'
150
+ ```
151
+
152
+ The model's answer is returned at `choices[0].message.content`.
153
+
154
+ ## 6. Analyze a local image with Python
155
+
156
+ This example reads a local image and converts it to a Base64 Data URL. Use `uv` to install the Groq SDK temporarily without modifying system Python:
157
+
158
+ ```python
159
+ # recognize.py
160
+ import base64
161
+ import mimetypes
162
+ from pathlib import Path
163
+
164
+ from groq import Groq
165
+
166
+ image_path = Path("screenshot.png")
167
+ mime_type = mimetypes.guess_type(image_path.name)[0] or "image/png"
168
+ image_base64 = base64.b64encode(image_path.read_bytes()).decode("ascii")
169
+ data_url = f"data:{mime_type};base64,{image_base64}"
170
+
171
+ client = Groq() # Reads GROQ_API_KEY automatically.
172
+ response = client.chat.completions.create(
173
+ model="qwen/qwen3.6-27b",
174
+ messages=[{
175
+ "role": "user",
176
+ "content": [
177
+ {"type": "text", "text": "Analyze this screenshot: run OCR first, then identify the most important anomaly."},
178
+ {"type": "image_url", "image_url": {"url": data_url}},
179
+ ],
180
+ }],
181
+ temperature=0.2,
182
+ max_completion_tokens=1024,
183
+ )
184
+
185
+ print(response.choices[0].message.content)
186
+ ```
187
+
188
+ Run it with:
189
+
190
+ ```sh
191
+ uv run --with groq python recognize.py
192
+ ```
193
+
194
+ Base64 makes the request larger than the original file. If the request approaches the 20 MB limit, resize or compress the image first, or use an HTTPS image URL that the model can access.
195
+
196
+ ## 7. Troubleshooting
197
+
198
+ ### `401 Invalid API Key`
199
+
200
+ - Confirm that the entire `gsk_...` key was copied.
201
+ - Do not include extra spaces, literal quote characters, or line breaks in the environment variable.
202
+ - If the key was exposed publicly, delete it and create a replacement.
203
+
204
+ ### `404` or `model not found`
205
+
206
+ - The model ID must be `qwen/qwen3.6-27b`.
207
+ - The model is currently in Preview. If Groq changes its availability, check the official model page and the models currently shown in Groq Console.
208
+
209
+ ### `413` or an oversized image error
210
+
211
+ - Base64 input has a lower size limit than URL input; resize or compress the image.
212
+ - Do not place too many images in one request; the Qwen3.6-27B model page currently limits a request to three images.
213
+
214
+ ### `429 Too Many Requests`
215
+
216
+ - The Free Plan has reached a per-minute, token, or daily limit.
217
+ - Inspect the rate-limit response headers and retry after capacity resets.
218
+
219
+ ### The model describes the image but misses the task
220
+
221
+ Make the request specific, for example:
222
+
223
+ ```text
224
+ Do not give a generic description. Complete only these three tasks:
225
+ 1. Transcribe the text inside the red error box exactly;
226
+ 2. Report the error box's approximate location in the original image;
227
+ 3. Infer the most likely cause from the surrounding interface.
228
+ ```
229
+
230
+ ## Official references
231
+
232
+ - [Groq Quickstart](https://console.groq.com/docs/quickstart)
233
+ - [Groq API Keys](https://console.groq.com/keys)
234
+ - [Qwen3.6-27B model page](https://console.groq.com/docs/model/qwen/qwen3.6-27b)
235
+ - [Groq Images and Vision](https://console.groq.com/docs/vision)
236
+ - [Groq Rate Limits](https://console.groq.com/docs/rate-limits)
@@ -0,0 +1,236 @@
1
+ # 免费获取 Groq API Key,并用 Qwen3.6-27B 识图
2
+
3
+ [English](groq-qwen3.6-vision.md) | **中文**
4
+
5
+ 这篇教程完成两件事:
6
+
7
+ 1. 注册 GroqCloud 的 Free Plan,并创建一个 Groq API Key。
8
+ 2. 在 DSH Vision Toolkit 或普通代码中调用 `qwen/qwen3.6-27b` 分析图片。
9
+
10
+ > 截至 2026-08-17,Groq 官方模型页将 Qwen3.6-27B 标记为 Preview,支持文本和图片输入。Free Plan 有速率和每日额度限制,具体数值可能调整,请以 [Groq Rate Limits](https://console.groq.com/docs/rate-limits) 和 [Qwen3.6-27B 模型页](https://console.groq.com/docs/model/qwen/qwen3.6-27b) 为准。
11
+
12
+ ## 1. 注册免费的 GroqCloud 账号
13
+
14
+ 打开 [GroqCloud Console](https://console.groq.com/)。可以使用 Google、GitHub、SSO 或邮箱注册/登录。
15
+
16
+ <p align="center">
17
+ <img src="assets/groq-console-home.png" width="92%" alt="GroqCloud Console 登录和注册页面" />
18
+ </p>
19
+
20
+ 完成注册后即可先使用 Free Plan,不需要为本教程购买付费额度。免费额度不是无限量服务;超出当前限制时,接口会返回 `429 Too Many Requests`。
21
+
22
+ 截至 2026-08-17,官方 Free Plan 表中 Qwen3.6-27B 的基础限制为 `30 RPM`(每分钟请求数)、`1K RPD`(每日请求数)、`8K TPM`(每分钟 Token 数)和 `200K TPD`(每日 Token 数)。账号的实际限制以 Groq Console 的 Limits 页面为准。
23
+
24
+ ## 2. 创建并保存 API Key
25
+
26
+ 登录后打开顶部的 **API Keys**,或直接访问 [Groq API Keys](https://console.groq.com/keys)。未登录时会先看到下面的登录页面:
27
+
28
+ <p align="center">
29
+ <img src="assets/groq-console-keys-login.png" width="92%" alt="Groq API Keys 页面要求登录" />
30
+ </p>
31
+
32
+ 在 API Keys 页面中:
33
+
34
+ 1. 点击 **Create API Key**。
35
+ 2. 给密钥填写一个容易辨认的名称,例如 `dsh-vision-toolkit`。
36
+ 3. 确认创建。
37
+ 4. 立即复制以 `gsk_` 开头的密钥,并保存到密码管理器或 DSH Credential 中。
38
+
39
+ Groq 官方 Quickstart 也把“创建 API Key”和“通过环境变量保存密钥”放在最前面:
40
+
41
+ <p align="center">
42
+ <img src="assets/groq-docs-quickstart.png" width="88%" alt="Groq Quickstart 中创建和设置 API Key 的说明" />
43
+ </p>
44
+
45
+ API Key 通常只在创建后完整显示一次。不要把它粘贴到 README、聊天记录、截图、Git 提交或前端代码中。
46
+
47
+ ### 在终端中设置密钥
48
+
49
+ macOS / Linux:
50
+
51
+ ```sh
52
+ export GROQ_API_KEY="gsk_your_key_here"
53
+ ```
54
+
55
+ Windows PowerShell(只对当前窗口生效):
56
+
57
+ ```powershell
58
+ $env:GROQ_API_KEY = "gsk_your_key_here"
59
+ ```
60
+
61
+ 确认变量已经存在,但不要打印完整密钥:
62
+
63
+ ```sh
64
+ test -n "$GROQ_API_KEY" && echo "GROQ_API_KEY is set"
65
+ ```
66
+
67
+ ## 3. 确认模型名和视觉能力
68
+
69
+ Groq API 中必须使用完整模型 ID:
70
+
71
+ ```text
72
+ qwen/qwen3.6-27b
73
+ ```
74
+
75
+ 不要写成 `qwen3.6-27b`、`Qwen3.6-27B` 或只写 `27b`。模型页会同时显示图片输入和 Vision 能力:
76
+
77
+ <p align="center">
78
+ <img src="assets/groq-docs-qwen3.6.png" width="92%" alt="Groq Qwen3.6-27B 模型页显示文本和图片输入及 Vision 能力" />
79
+ </p>
80
+
81
+ Groq 模型页列出的主要图片限制是:
82
+
83
+ | 项目 | 限制 |
84
+ |---|---:|
85
+ | 单个图片文件 | 最大 20 MB |
86
+ | 单次请求图片数 | 最多 3 张 |
87
+
88
+ Groq 的通用视觉文档当前写的是最多 5 张图片,但 Qwen3.6-27B 的模型专页写的是最多 3 张。这里按模型专页的更严格限制执行,避免请求被拒绝。
89
+
90
+ <p align="center">
91
+ <img src="assets/groq-docs-vision.png" width="88%" alt="Groq Images and Vision 文档中的模型、限制和图片调用示例" />
92
+ </p>
93
+
94
+ ## 4. 在 DSH Vision Toolkit 中使用
95
+
96
+ 如果已经安装本插件,这是最短路径。
97
+
98
+ 1. 打开 DSH Web 的 **设置 → 视觉工具**。
99
+ 2. 在“视觉服务”中填写:
100
+
101
+ | 字段 | 值 |
102
+ |---|---|
103
+ | API 协议 | `OpenAI Chat Completions` |
104
+ | 服务地址 | `https://api.groq.com/openai/v1` |
105
+ | 模型名称 | `qwen/qwen3.6-27b` |
106
+ | API 密钥 | 粘贴刚创建的 `gsk_...` 密钥 |
107
+
108
+ 3. 点击 **保存并应用**。密钥会保存到 DSH Credentials,设置页面以后不会回显完整内容。
109
+ 4. 点击 **测试视觉模型**。这个按钮会发送插件自带的诊断图片,验证的是真实多模态请求,而不只是 `/models` 连通性。
110
+ 5. 测试成功后,新建或继续一个会话,粘贴图片并直接提问,例如:
111
+
112
+ ```text
113
+ 看一下这张截图,先完整抄出报错信息,再解释最可能的原因。
114
+ ```
115
+
116
+ 也可以在 Profile patch 中配置相同的提供方。密钥本身仍应由 DSH Credential 或环境变量提供,不要写进 YAML:
117
+
118
+ ```yaml
119
+ - id: vision-toolkit
120
+ config:
121
+ provider:
122
+ protocol: openai
123
+ baseUrl: https://api.groq.com/openai/v1
124
+ model: qwen/qwen3.6-27b
125
+ credential: GROQ_API_KEY
126
+ ```
127
+
128
+ ## 5. 用 cURL 直接识别网络图片
129
+
130
+ 下面的请求使用 Groq 的 OpenAI Chat Completions 兼容接口。把示例图片 URL 换成你自己的公开图片地址:
131
+
132
+ ```sh
133
+ curl https://api.groq.com/openai/v1/chat/completions \
134
+ -H "Authorization: Bearer $GROQ_API_KEY" \
135
+ -H "Content-Type: application/json" \
136
+ -d '{
137
+ "model": "qwen/qwen3.6-27b",
138
+ "messages": [{
139
+ "role": "user",
140
+ "content": [
141
+ {"type": "text", "text": "请描述图片中的主要内容,并逐字抄出可见文字。"},
142
+ {"type": "image_url", "image_url": {
143
+ "url": "https://upload.wikimedia.org/wikipedia/commons/f/f2/LPU-v1-die.jpg"
144
+ }}
145
+ ]
146
+ }],
147
+ "temperature": 0.2,
148
+ "max_completion_tokens": 1024
149
+ }'
150
+ ```
151
+
152
+ 成功后,模型回答位于 `choices[0].message.content`。
153
+
154
+ ## 6. 用 Python 识别本地图片
155
+
156
+ 下面的例子读取本地图片并转换成 Base64 Data URL。推荐使用 `uv` 临时安装 Groq SDK,不污染系统 Python:
157
+
158
+ ```python
159
+ # recognize.py
160
+ import base64
161
+ import mimetypes
162
+ from pathlib import Path
163
+
164
+ from groq import Groq
165
+
166
+ image_path = Path("screenshot.png")
167
+ mime_type = mimetypes.guess_type(image_path.name)[0] or "image/png"
168
+ image_base64 = base64.b64encode(image_path.read_bytes()).decode("ascii")
169
+ data_url = f"data:{mime_type};base64,{image_base64}"
170
+
171
+ client = Groq() # 自动读取 GROQ_API_KEY
172
+ response = client.chat.completions.create(
173
+ model="qwen/qwen3.6-27b",
174
+ messages=[{
175
+ "role": "user",
176
+ "content": [
177
+ {"type": "text", "text": "分析这张截图:先做 OCR,再指出最重要的异常。"},
178
+ {"type": "image_url", "image_url": {"url": data_url}},
179
+ ],
180
+ }],
181
+ temperature=0.2,
182
+ max_completion_tokens=1024,
183
+ )
184
+
185
+ print(response.choices[0].message.content)
186
+ ```
187
+
188
+ 运行:
189
+
190
+ ```sh
191
+ uv run --with groq python recognize.py
192
+ ```
193
+
194
+ Base64 会让请求体积比原文件更大。如果请求接近 20 MB 上限,请先缩小或压缩图片,或者改用模型能够访问的 HTTPS 图片 URL。
195
+
196
+ ## 7. 常见问题
197
+
198
+ ### `401 Invalid API Key`
199
+
200
+ - 确认复制的是完整的 `gsk_...` 密钥。
201
+ - 环境变量中不要包含多余空格、引号内容或换行。
202
+ - 如果密钥曾经出现在公开位置,删除旧密钥并重新创建。
203
+
204
+ ### `404` 或 `model not found`
205
+
206
+ - 模型名必须是 `qwen/qwen3.6-27b`。
207
+ - 该模型目前属于 Preview;如果 Groq 后续调整可用性,请查看官方模型页和 Groq Console 中当前可选模型。
208
+
209
+ ### `413` 或图片过大
210
+
211
+ - Base64 图片限制比 URL 图片严格;先缩小尺寸或压缩质量。
212
+ - 不要把大量图片塞进一个请求;按 Qwen3.6-27B 模型专页的限制,单次最多 3 张。
213
+
214
+ ### `429 Too Many Requests`
215
+
216
+ - Free Plan 已达到分钟、Token 或每日限制。
217
+ - 查看响应头中的速率限制信息,等待额度恢复后重试。
218
+
219
+ ### 模型只描述图片,没有回答重点
220
+
221
+ 把任务写具体,例如:
222
+
223
+ ```text
224
+ 不要泛泛描述。请只完成三件事:
225
+ 1. 逐字抄出红色错误框里的文字;
226
+ 2. 返回错误框在原图中的大致位置;
227
+ 3. 根据界面上下文判断最可能的原因。
228
+ ```
229
+
230
+ ## 官方资料
231
+
232
+ - [Groq Quickstart](https://console.groq.com/docs/quickstart)
233
+ - [Groq API Keys](https://console.groq.com/keys)
234
+ - [Qwen3.6-27B 模型页](https://console.groq.com/docs/model/qwen/qwen3.6-27b)
235
+ - [Groq Images and Vision](https://console.groq.com/docs/vision)
236
+ - [Groq Rate Limits](https://console.groq.com/docs/rate-limits)
package/lib/client.js CHANGED
@@ -21,7 +21,7 @@ const DEFAULT_USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKi
21
21
  // Keep these browser defaults aligned with src/defaults.ts without importing server-side config.
22
22
  const BUILT_IN_FREE_VISION_BASE_URL = 'https://vision.anionex.me/v1';
23
23
  const BUILT_IN_FREE_VISION_CREDENTIAL = 'ANIONEX_FREE_VISION';
24
- const BUILT_IN_FREE_VISION_MODEL = 'qwen/qwen3.6-27b';
24
+ const BUILT_IN_FREE_VISION_MODEL = 'gemini-3.7-flash';
25
25
  const en = {
26
26
  nav: 'Vision',
27
27
  settingsTitle: 'Vision Toolkit',
package/lib/config.js CHANGED
@@ -17,6 +17,8 @@ export const VISION_TOOLKIT_SETTINGS_NAMESPACE = settingsNamespace('vision-toolk
17
17
  export const DEFAULT_VISION_USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36';
18
18
  const BUILT_IN_FREE_VISION_MODEL_ALIASES = new Set([
19
19
  BUILT_IN_FREE_VISION_MODEL,
20
+ 'gemini-3.7-flash',
21
+ 'qwen/qwen3.6-27b',
20
22
  'qwen3.6-27b',
21
23
  'gemma-4-26b-a4b-it',
22
24
  'gemma-4-26b',
package/lib/config.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAExC,OAAO,EAAE,aAAa,EAAsB,MAAM,8BAA8B,CAAA;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EACL,6BAA6B,EAC7B,+BAA+B,EAC/B,0BAA0B,GAC3B,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,6BAA6B,EAC7B,+BAA+B,EAC/B,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,eAAe,CAAA;AAEtB,wDAAwD;AACxD,MAAM,CAAC,MAAM,iCAAiC,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAA;AAEpF,yEAAyE;AACzE,MAAM,CAAC,MAAM,yBAAyB,GAAG,iHAAiH,CAAA;AAE1J,MAAM,kCAAkC,GAAG,IAAI,GAAG,CAAC;IACjD,0BAA0B;IAC1B,aAAa;IACb,oBAAoB;IACpB,aAAa;IACb,+BAA+B;IAC/B,mCAAmC;IACnC,WAAW;IACX,eAAe;IACf,qBAAqB;CACtB,CAAC,CAAA;AA6DF,4DAA4D;AAC5D,MAAM,CAAC,MAAM,MAAM,GAAgC,CAAC,CAAC,MAAM,CAAC;IAC1D,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACjB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC;QAC1D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,+BAA+B,CAAC;QAC/D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC;QACrD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAU,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACrE,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAU,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACrF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC;KACzD,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,CAAU,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACtD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACpC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;IAC1C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC5C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAClC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,UAAU,CAAU,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QAClE,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE;QAClC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;KACnB,CAAC;IACF,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC5C,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC;QAC3B,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAClC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;KACtC,CAAC;CACH,CAAC,CAAA;AA8BF,MAAM,cAAc,GAAG,MAAM,CAAA;AAC7B,MAAM,eAAe,GAAG,SAAS,CAAA;AACjC,MAAM,gBAAgB,GAAG,SAAS,CAAA;AAClC,MAAM,eAAe,GAAG,EAAE,CAAA;AAE1B;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,SAA8B,EAAE;IAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAA;IACtC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAA;IACpC,MAAM,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO,IAAI,6BAA6B,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAC9F,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QAC1E,MAAM,IAAI,kBAAkB,CAAC,QAAQ,EAAE,yCAAyC,CAAC,CAAA;IACnF,CAAC;IACD,IAAI,UAAyB,CAAA;IAC7B,IAAI,CAAC;QACH,UAAU,GAAG,aAAa,CAAC,CAAC,QAAQ,CAAC,UAAU,IAAI,+BAA+B,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IAC7F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,kBAAkB,CAC1B,QAAQ,EACR,wBAAwB,QAAQ,CAAC,UAAU,IAAI,+BAA+B,uCAAuC,EACrH,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAA;IACH,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,0BAA0B,CAAC,CAAC,IAAI,EAAE,CAAA;IACnE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,kBAAkB,CAAC,QAAQ,EAAE,kCAAkC,CAAC,CAAA;IAC5E,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAA;IAC9C,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QACtD,MAAM,IAAI,kBAAkB,CAAC,QAAQ,EAAE,mDAAmD,CAAC,CAAA;IAC7F,CAAC;IACD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,IAAI,MAAM,CAAA;IAC9D,IAAI,iBAAiB,KAAK,MAAM,IAAI,iBAAiB,KAAK,UAAU,IAAI,iBAAiB,KAAK,UAAU,EAAE,CAAC;QACzG,MAAM,IAAI,kBAAkB,CAAC,QAAQ,EAAE,sEAAsE,CAAC,CAAA;IAChH,CAAC;IACD,MAAM,SAAS,GAAG,CAAC,QAAQ,CAAC,SAAS,IAAI,yBAAyB,CAAC,CAAC,IAAI,EAAE,CAAA;IAC1E,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,kBAAkB,CAAC,QAAQ,EAAE,sCAAsC,CAAC,CAAA;IAChF,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAA;IACxC,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC3C,MAAM,IAAI,kBAAkB,CAAC,QAAQ,EAAE,+BAA+B,CAAC,CAAA;IACzE,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,KAAK,CAAA;IAC3C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,IAAI,IAAI,SAAS,GAAG,cAAc,EAAE,CAAC;QACnF,MAAM,IAAI,kBAAkB,CAAC,QAAQ,EAAE,iDAAiD,cAAc,EAAE,CAAC,CAAA;IAC3G,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,OAAO,CAAA;IACrD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,aAAa,GAAG,IAAI,IAAI,aAAa,GAAG,eAAe,EAAE,CAAC;QAChG,MAAM,IAAI,kBAAkB,CAAC,QAAQ,EAAE,qDAAqD,eAAe,EAAE,CAAC,CAAA;IAChH,CAAC;IACD,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,QAAQ,CAAA;IACxD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,cAAc,GAAG,CAAC,IAAI,cAAc,GAAG,gBAAgB,EAAE,CAAC;QACjG,MAAM,IAAI,kBAAkB,CAAC,QAAQ,EAAE,mDAAmD,gBAAgB,EAAE,CAAC,CAAA;IAC/G,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,CAAA;IAC3C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,WAAW,GAAG,CAAC,IAAI,WAAW,GAAG,eAAe,EAAE,CAAC;QACvF,MAAM,IAAI,kBAAkB,CAAC,QAAQ,EAAE,gDAAgD,eAAe,EAAE,CAAC,CAAA;IAC3G,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAA;IACtC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QAC9C,MAAM,IAAI,kBAAkB,CAAC,QAAQ,EAAE,8CAA8C,CAAC,CAAA;IACxF,CAAC;IACD,MAAM,WAAW,GAAG,OAAO,CAAC,sBAAsB,EAAE,IAAI,EAAE,CAAA;IAC1D,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,kBAAkB,CAAC,QAAQ,EAAE,gEAAgE,CAAC,CAAA;IAC1G,CAAC;IACD,IAAI,IAAI,KAAK,UAAU,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QACrD,MAAM,IAAI,kBAAkB,CAAC,QAAQ,EAAE,0EAA0E,CAAC,CAAA;IACpH,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QACpD,MAAM,IAAI,kBAAkB,CAAC,QAAQ,EAAE,4EAA4E,CAAC,CAAA;IACtH,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAA;IACrC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,kBAAkB,CAAC,QAAQ,EAAE,kCAAkC,CAAC,CAAA;IAC5E,CAAC;IACD,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACnG,MAAM,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,IAAI,EAAE,CAAA;IAC1D,MAAM,gBAAgB,GAAG,CAAC,kBAAkB,CAAC,SAAS,IAAI,EAAE,CAAC;SAC1D,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;SAChC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC1C,OAAO;QACL,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE;QAChF,QAAQ;QACR,SAAS;QACT,aAAa;QACb,cAAc;QACd,WAAW;QACX,OAAO,EAAE;YACP,IAAI;YACJ,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C;QACD,WAAW;QACX,kBAAkB,EAAE;YAClB,OAAO,EAAE,kBAAkB,CAAC,OAAO,IAAI,IAAI;YAC3C,SAAS,EAAE,gBAAgB;YAC3B,UAAU,EAAE,kBAAkB,CAAC,UAAU,IAAI,IAAI;SAClD;KACF,CAAA;AACH,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,2BAA2B,CAAC,QAAiD;IAC3F,OAAO,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,+BAA+B;WACjE,QAAQ,CAAC,OAAO,KAAK,6BAA6B;WAClD,kCAAkC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;WACtD,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAA;AACrC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/lib/defaults.js CHANGED
@@ -2,5 +2,5 @@
2
2
  export const BUILT_IN_FREE_VISION_BASE_URL = 'https://vision.anionex.me/v1';
3
3
  export const BUILT_IN_FREE_VISION_CREDENTIAL = 'ANIONEX_FREE_VISION';
4
4
  export const BUILT_IN_FREE_VISION_KEY = 'https://agent-vision.anionex.me';
5
- export const BUILT_IN_FREE_VISION_MODEL = 'qwen/qwen3.6-27b';
5
+ export const BUILT_IN_FREE_VISION_MODEL = 'gemini-3.7-flash';
6
6
  //# sourceMappingURL=defaults.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,5 @@
2
2
  export declare const BUILT_IN_FREE_VISION_BASE_URL = "https://vision.anionex.me/v1";
3
3
  export declare const BUILT_IN_FREE_VISION_CREDENTIAL = "ANIONEX_FREE_VISION";
4
4
  export declare const BUILT_IN_FREE_VISION_KEY = "https://agent-vision.anionex.me";
5
- export declare const BUILT_IN_FREE_VISION_MODEL = "qwen/qwen3.6-27b";
5
+ export declare const BUILT_IN_FREE_VISION_MODEL = "gemini-3.7-flash";
6
6
  //# sourceMappingURL=defaults.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anionex/dsh-vision-toolkit",
3
- "version": "0.1.20",
3
+ "version": "0.1.22",
4
4
  "description": "DeepSeek Harness-native integration for agent-vision-toolkit: image Q&A, OCR, grounding, UI restoration, pixel diff, Artifacts, and Web UI.",
5
5
  "keywords": [
6
6
  "deepseek",
@@ -28,7 +28,7 @@ const DEFAULT_USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKi
28
28
  // Keep these browser defaults aligned with src/defaults.ts without importing server-side config.
29
29
  const BUILT_IN_FREE_VISION_BASE_URL = 'https://vision.anionex.me/v1'
30
30
  const BUILT_IN_FREE_VISION_CREDENTIAL = 'ANIONEX_FREE_VISION'
31
- const BUILT_IN_FREE_VISION_MODEL = 'qwen/qwen3.6-27b'
31
+ const BUILT_IN_FREE_VISION_MODEL = 'gemini-3.7-flash'
32
32
 
33
33
  const en = {
34
34
  nav: 'Vision',
package/src/config.ts CHANGED
@@ -32,6 +32,8 @@ export const DEFAULT_VISION_USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x
32
32
 
33
33
  const BUILT_IN_FREE_VISION_MODEL_ALIASES = new Set([
34
34
  BUILT_IN_FREE_VISION_MODEL,
35
+ 'gemini-3.7-flash',
36
+ 'qwen/qwen3.6-27b',
35
37
  'qwen3.6-27b',
36
38
  'gemma-4-26b-a4b-it',
37
39
  'gemma-4-26b',
package/src/defaults.ts CHANGED
@@ -2,4 +2,4 @@
2
2
  export const BUILT_IN_FREE_VISION_BASE_URL = 'https://vision.anionex.me/v1'
3
3
  export const BUILT_IN_FREE_VISION_CREDENTIAL = 'ANIONEX_FREE_VISION'
4
4
  export const BUILT_IN_FREE_VISION_KEY = 'https://agent-vision.anionex.me'
5
- export const BUILT_IN_FREE_VISION_MODEL = 'qwen/qwen3.6-27b'
5
+ export const BUILT_IN_FREE_VISION_MODEL = 'gemini-3.7-flash'