DeepSeek Harness 插件:dsh-gemini-argon

前言

DeepSeek Harness(DSH)通过插件机制接入各类 LLM provider,但内置的 google-vertex 路由基于 pi-ai 的静态模型目录,尚未包含 gemini-4-argon。同时直接使用该模型时,会遇到区域路由限制与多轮工具调用签名校验等协议问题,导致请求失败。本插件在 DSH 中注册独立的 gemini-argon 路由,通过 Vertex AI 原生 streamGenerateContent 接口稳定运行 gemini-4-argon。

核心能力

  • 流式输出与思考摘要:支持流式文本生成与思考过程输出(thinkingLevel 可配置为 off / low / medium / high;off 为最低档 LOW 且不展示思考内容)。
  • 原生多轮工具调用:基于原生 function calling,完整回放原生 parts 与 thoughtSignature,思考模式下也能稳定续接。
  • 图片输入:用户消息和工具结果中的图片会按路由预算缩放,并以 Gemini inlineData 发送。
  • 跨 Provider 工具历史:来自其他模型的工具调用没有 Gemini 签名,插件会自动降级为文本,切换模型不再触发 400。
  • 流式稳定性:长时间收不到数据会以 TIMEOUT 失败并交给重试策略,不会无限挂起。
  • 可视化配置:在 Settings → Models 的 provider 卡片里直接编辑项目、认证、模型、思考档位、代理和 API Key。
  • 精细化用量统计:完整统计输入、输出、思考 token 以及缓存命中情况。
  • 智能代理探测:支持从环境变量、macOS 系统代理(scutil)自动探测代理,或通过配置显式指定。
  • API Key 凭据:默认接入 DSH 的 credentials 服务,同时支持通过启动环境变量注入。
  • Service Account 支持:读取 service account JSON(文件、内联或 GOOGLE_APPLICATION_CREDENTIALS),自动完成 OAuth2 JWT 交换、access token 缓存与刷新。
  • 结构化错误分类:精准识别并分类认证失败、配额耗尽、触发限流、上下文超限及非法请求等错误。

安装与启用

通过 npm 安装插件(推荐):

dsh plugin --profile desktop add dsh-gemini-argon

也可以固定到 GitHub 指定 tag:

dsh plugin --profile desktop add github:zh-plus/dsh-gemini-argon#v0.7.0

或从本地开发目录安装:

dsh plugin --profile desktop add file:/path/to/dsh-gemini-argon

安装完成后需重启 DeepSeek Harness,profile 的 bundle 列表仅在启动时加载。

配置

配置 Google Cloud Project

project 字段支持 Google Cloud Project ID 或 Project Number(纯数字),两者在 Vertex 的 projects/{project} 路径下等价。优先级为:配置中的 project > service account JSON 里的 project_id > 环境变量 GOOGLE_CLOUD_PROJECT。

获取方式可通过 Cloud Console、gcloud 命令或 service account JSON 文件。

配置认证

插件支持两种认证方式:

  • Express API Key:在 Settings → Models 的 GOOGLE_VERTEX_API_KEY 项中填入,DSH 会将其安全保存至 $DSH_HOME/.credentials.yaml;CLI 模式下可通过环境变量传入。
  • Service Account JSON:把 service account 密钥 JSON 放在本机,在 profile 补丁中指定文件路径(支持 ~)或使用 GOOGLE_APPLICATION_CREDENTIALS 环境变量。

默认认证方式为 auth: auto,检测到 service account 时优先使用 JSON 密钥,否则使用 API Key;也可显式指定 auth: api-key / auth: service-account。

配置模型与参数

在 Settings → Models 的 Google Vertex AI provider 卡片中,可配置:

  • project:Google Cloud 项目(必填)
  • auth:认证方式(auto / api-key / service-account)
  • apiKeyEnv:API Key 环境变量名(默认 GOOGLE_VERTEX_API_KEY)
  • serviceAccountFile:Service account JSON 文件路径
  • model / modelName:模型 ID 与展示名称
  • thinkingLevel:思考级别(off / low / medium / high)
  • proxy:代理配置
  • 高级项:location(默认 global)、baseURL、contextWindow、maxTokens、streamIdleTimeoutMs、imageMaxPixels、imageMaxBytes

保存后写入 profile 的 cordis.patch.yml,下一次模型请求生效,无需重启。

典型用法

重启应用后,在模型选择器中选择 Gemini 4 Argon(Provider 显示为 Google Vertex AI,路由 ID 为 gemini-argon)。

插件内置默认配置如下:

- insert:
    - id: llm-gemini-argon
      name: "dsh-gemini-argon"
      config:
        auth: auto
        apiKeyEnv: GOOGLE_VERTEX_API_KEY
        location: global
        model: gemini-4-argon
        modelName: Gemini 4 Argon
        contextWindow: 1048576
        maxTokens: 65536
        thinkingLevel: "off"

可在配置文件中覆盖上述字段。

适用场景与注意

适合需要在 DSH 中使用 gemini-4-argon 模型,特别是需要流式输出、多轮工具调用、思考摘要、图片输入及精细化用量统计的场景。

注意:插件以当前 DSH 进程的权限运行,安装前建议检查源码与许可证;Service account JSON 文件不要提交至公开仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye