@floatingsk/dsh-vision 0.1.4 → 0.1.6

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
@@ -18,6 +18,7 @@ DeepSeek 的模型 API 目前不支持图像输入,`read_image` 因此无法
18
18
  - 🧪 **零依赖单测**:核心逻辑用 Node 内置 `node:test` 覆盖(13 用例)
19
19
  - 🌏 **多供应商 VLM**:内置百炼 / 硅基流动 / 智谱 / 火山方舟,OpenAI 兼容可加任意家
20
20
  - 🔌 **双形态**:既是 dsh 插件,也是 MCP server(Claude Code 等 MCP 客户端直接用)
21
+ - 📋 **剪贴板贴图**:复制图片即贴给 agent(macOS 监听 + 前端提示条 + 多图支持),无需手动存文件
21
22
  - 🪟 **Windows 支持**:附 PowerShell OCR 后端(Windows.Media.Ocr),VLM 通道跨平台
22
23
 
23
24
  ## 安装
@@ -103,15 +104,19 @@ Agent 会自动选择合适的工具(读文字走 OCR,看画面走 VLM)。
103
104
 
104
105
  ### 多供应商 VLM
105
106
 
106
- 内置四家国内供应商,`describe_image` 可传 `provider` 参数选择(留空用 `defaultProvider`):
107
+ 内置五家供应商(默认 DeepSeek 原生视觉,最便宜),`describe_image` 可传 `provider` 参数选择(留空用 `defaultProvider`):
107
108
 
108
109
  ```yaml
109
110
  - insert:
110
111
  - id: dsh-vision
111
112
  name: 'dsh-vision'
112
113
  config:
113
- defaultProvider: 'bailian' # 默认供应商
114
+ defaultProvider: 'deepseek' # 默认供应商
114
115
  providers:
116
+ deepseek: # DeepSeek 原生视觉(V4-Flash-Vision-Exp,约0.001元/张)
117
+ baseUrl: 'https://api.deepseek.com'
118
+ model: 'deepseek-v4-flash-vision-exp'
119
+ apiKeyEnv: 'DEEPSEEK_API_KEY'
115
120
  bailian: # 阿里云百炼
116
121
  baseUrl: 'https://dashscope.aliyuncs.com/compatible-mode/v1'
117
122
  model: 'qwen3-vl-flash' # 或 qwen3-vl-plus / qwen-vl-ocr
package/lib/core.js CHANGED
@@ -6,7 +6,7 @@ import { homedir } from "node:os";
6
6
  /** VLM 请求超时(毫秒) */
7
7
  export const VLM_TIMEOUT_MS = 120_000;
8
8
  /** VLM 输出 token 上限 */
9
- export const VLM_MAX_TOKENS = 1024;
9
+ export const VLM_MAX_TOKENS = 2048;
10
10
  /** 上传前图片压缩的最长边(像素) */
11
11
  export const VLM_MAX_IMAGE_DIM = 2048;
12
12
  /** 压缩 JPEG 质量(0-100) */
package/lib/index.js CHANGED
@@ -38,9 +38,14 @@ export const Config = z.object({
38
38
  /** 本地 OCR 可执行文件路径(默认指向插件 bin/vision-ocr) */
39
39
  ocrBin: z.string().default(""),
40
40
  /** 默认 VLM 供应商 id(对应 providers 的键名) */
41
- defaultProvider: z.string().default("bailian"),
41
+ defaultProvider: z.string().default("deepseek"),
42
42
  /** 多供应商 VLM 配置:每个供应商为 OpenAI 兼容端点 */
43
43
  providers: z.object({
44
+ deepseek: providerSchema.default({
45
+ baseUrl: "https://api.deepseek.com",
46
+ model: "deepseek-v4-flash-vision-exp",
47
+ apiKeyEnv: "DEEPSEEK_API_KEY",
48
+ }),
44
49
  bailian: providerSchema.default({
45
50
  baseUrl: "https://dashscope.aliyuncs.com/compatible-mode/v1",
46
51
  model: "qwen3-vl-flash",
package/mcp/server.js CHANGED
@@ -34,12 +34,13 @@ const ocrBin = join(__dirname, "..", "bin", "vision-ocr");
34
34
 
35
35
  // ── 内置供应商(与插件 Config 默认值一致) ──────────────────────────────────
36
36
  const PROVIDERS = {
37
+ deepseek: { baseUrl: "https://api.deepseek.com", model: "deepseek-v4-flash-vision-exp", apiKeyEnv: "DEEPSEEK_API_KEY" },
37
38
  bailian: { baseUrl: "https://dashscope.aliyuncs.com/compatible-mode/v1", model: "qwen3-vl-flash", apiKeyEnv: "DASHSCOPE_API_KEY" },
38
39
  siliconflow: { baseUrl: "https://api.siliconflow.cn/v1", model: "Qwen/Qwen2.5-VL-7B-Instruct", apiKeyEnv: "SILICONFLOW_API_KEY" },
39
40
  zhipu: { baseUrl: "https://open.bigmodel.cn/api/paas/v4", model: "glm-4v-flash", apiKeyEnv: "ZHIPU_API_KEY" },
40
41
  volcengine: { baseUrl: "https://ark.cn-beijing.volces.com/api/v3", model: "doubao-seed-1.6-vision", apiKeyEnv: "ARK_API_KEY" },
41
42
  };
42
- const DEFAULT_PROVIDER = "bailian";
43
+ const DEFAULT_PROVIDER = "deepseek";
43
44
 
44
45
  // ── 工具实现 ─────────────────────────────────────────────────────────────────
45
46
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@floatingsk/dsh-vision",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "为 DeepSeek Harness(dsh 插件)与 Claude Code(MCP)提供图片理解能力:本地 OCR(macOS Vision / Windows 内置 OCR)+ 云端 VLM(多供应商,OpenAI 兼容)",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",