DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Llm Openai Compatible — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

@morlay/dsh-llm-openai-compatible

Llm Openai Compatible

适用于 DeepSeek Harness 的 OpenAI 兼容 LLM 适配器插件,可通过 providers 字典配置默认采样参数(temperature / topP / topK / penalties / seed)。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add @morlay/dsh-llm-openai-compatible@0.0.8
README兼容性版本

兼容性与来源证明

Llm Openai Compatible 以 @morlay/dsh-llm-openai-compatible 发布,当前版本为 0.0.8。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
npm
Registry 更新时间
2026/9/20

版本

0.0.8stable
2026/9/14
0.0.7stable
2026/9/13
0.0.6stable
2026/9/11
查看其余 14 个版本收起版本
0.0.9-alpha.4prerelease
2026/9/20
0.0.9-alpha.3prerelease
2026/9/18
0.0.9-alpha.2prerelease
2026/9/18
0.0.9-alpha.1prerelease
2026/9/18
0.0.9-alpha.0prerelease
2026/9/18
0.0.5stable
2026/9/10
0.0.4stable
2026/9/10
0.0.4-alpha.4prerelease
2026/9/10
0.0.4-alpha.2prerelease
2026/9/8
0.0.4-alpha.1prerelease
2026/9/8
0.0.4-alpha.0prerelease
2026/9/8
0.0.3stable
2026/9/4
0.0.2stable
2026/9/3
0.0.1stable
2026/8/20

相关插件

正在加载相关插件…

最新版
0.0.8
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
102.5 kB
文件数
18
Surface
any
许可证
MIT
发布源
npm
GitHub
★ 9
周下载
899
安全扫描
✓ v0.0.8 扫描通过
最近提交
2026/9/20
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 models-usage 分类下经过校验的插件。

Usage@linxin666/dsh-usagedsh Web GUI 的使用统计插件:检测各提供商余额和编码计划配额,并提供实时令牌使用记录,以及当前提供商的专属宠物气泡Usage Stats@ychris12138/dsh-usage-statsdsh Web GUI 的令牌使用热力图、提供商余额和订阅配额Codex Connectdsh-codex-connect用于 DeepSeek Harness 的 ChatGPT OAuth 和 Codex 模型。Ui Usage Billing@kenz1117/dsh-ui-usage-billingDeepSeek Harness 的用量计费仪表板:侧边栏成本指标和完整的仪表板模态窗口,依据当前多提供商目录定价,并汇总会话日志中的实际用量。

README

@morlay/dsh-llm-openai-compatible

DeepSeek Harness 的 OpenAI 兼容 LLM 适配器插件。与内置 llm-pi-ai / llm-deepseek 不同,本插件的配置 schema 支持 profile 级默认采样参数 (temperature / topP / topK / presencePenalty / frequencyPenalty / seed),请求级 GenerateOptions.temperature 优先于 profile 默认值。用 providers dict 多路由结构(与 llm-pi-ai 一致),用户可将现有 llm-pi-ai 配置近乎无缝迁移。

传输层复用 @ai-sdk/openai-compatible (LanguageModelV4.doStream:wire 序列化与 SSE 解析由 SDK 负责);本插件负责 harness 消息 → AI SDK prompt 转换、采样默认合并、stream part → StreamChunk 翻译、错误归一化与凭据策略。

配置

providers 是 dict:key 就是 provider 路由键(选择器与 GenerateOptions.provider 使用),值是 profile。

llm-openai-compatible:
  providers:
    ollama:
      apiKeyEnv: OLLAMA_API_KEY
      baseURL: https://ollama.com/v1
      displayName: Ollama Gateway
      # === 采样默认参数(请求级 temperature 优先)===
      temperature: 1 # 0..2
      topP: 0.95 # 0..1 → wire top_p
      topK: 40 # 正整数 → wire top_k(非标准,仅网关支持时发送)
      presencePenalty: 0 # -2..2 → wire presence_penalty
      frequencyPenalty: 0 # -2..2 → wire frequency_penalty
      seed: 42 # 正整数 → wire seed
      # === 推理 ===
      reasoning: high # 部署默认档位(省略 = 提供方默认)
      # === 模型目录 ===
      defaultContextWindow: 262144
      defaultMaxTokens: 32768
      models:
        - id: deepseek-v4-flash:0731
          name: DeepSeek V4 Flash
          contextWindow: 1000000
          maxTokens: 65535
          inputModalities: [text, image]
          reasoningEfforts:
            off: # off 空值 = 不发送 reasoning_effort
            high: high # 档位 → wire reasoning_effort 拼写
            max: max
      # === 传输 ===
      maxRequestImageBytes: 20971520
      streamIdleTimeoutMs: 300000
      timeoutMs: 600000 # 整体请求超时;缺省不设
      retryPolicy:
        mode: normal
        maxRetries: 5

采样默认值合并规则

wire 字段取值省略语义
temperatureoptions.temperature ?? profile.temperature都不给 → 不发送,提供方默认
max_tokensoptions.maxTokens ?? model.maxTokens ?? profile.defaultMaxTokens都不给 → 不发送
top_p / presence_penalty / frequency_penalty / seedprofile 值undefined → 不发送
top_kprofile.topK,经 providerOptions 透传进请求体undefined → 不发送
reasoning_effort见下解析不出 → 不发送

reasoning 映射(OpenAI 风格)

  • 模型声明 reasoningEfforts(对象)后,该模型的选器公开 efforts(按声明 顺序)+ defaultEffort(= profile.reasoning,须在模型能力内,否则视为无 默认值——描述模型时绝不抛错)。
  • wire:非 off 档位发送 reasoning_effort: <声明值>;off → 不发送。
  • 请求级 options.reasoningEffort 不在模型能力内 → 网络 I/O 前抛 LlmError('UNSUPPORTED_REASONING_EFFORT')。profile.reasoning 配了模型不 支持的档位 → 请求执行处失败(同一错误码),配置页面仍可编辑。
  • 模型不声明 reasoningEfforts(或 false)→ 不公开 reasoning 能力。

模型目录

  • models 缺省 = 服务空目录:listModels 返回空,未列出的 id 原样透传 (resolveModel 返回基础信息 + defaultContextWindow / defaultMaxTokens)。
  • 模型 maxTokens 配置后成为该模型的 per-request 默认输出上限。
  • inputModalities 缺省 [text];声明含 image 的模型接受图片输入 (attachments seam,base64 data-URL parts)。

凭据

  • profile 设置 apiKeyEnv 后:存在 ctx.credentials 服务时经它解析 (credentials-local 覆盖进程环境 / .env);服务缺失时回退 launchEnvironmentOf(ctx)。解析不到 → LlmError('MISSING_CREDENTIAL')。
  • profile 不设置 apiKeyEnv → 请求不带 authorization 头(无认证端点, 如本地 Ollama)。

传输

  • 端点 = baseURL + /chat/completions(streaming,stream_options.include_usage)。
  • 每个请求携带 attributionHeaders() + x-…-harness-user-id(+ session-id / compaction 标头),并带 SDK 的 ai-sdk/openai-compatible user-agent 后缀。
  • streamIdleTimeoutMs 控制流空闲超时(TIMEOUT);timeoutMs 控制整体请求 超时(缺省不设)。
  • 错误映射:401/403 → AUTH、429 → RATE_LIMIT、400+上下文 → CONTEXT_WINDOW_EXCEEDED、5xx → SERVER、配额 → QUOTA_EXCEEDED。
  • 用量:prompt_tokens_details.cached_tokens 与 DeepSeek 方言的 prompt_cache_hit_tokens 都被拆出为 cacheReadTokens(disjoint 计数)。

从 llm-pi-ai 迁移

把 llm-pi-ai.providers.<route> 的 baseURL/models/采样字段平移到 llm-openai-compatible.providers.<route>(无 api 字段——协议固定 chat-completions),apiKeyEnv 与 retryPolicy 原样保留; reasoningEfforts 的 off 空值语义一致。

暂缓能力(YAGNI)

  • 不做 modelOverrides(providers 里每个路由自己写 models 即可)。
  • 不做模型 discovery(端点询问 GET /models);需要时手写 models。
  • 不做 OAuth / 非 bearer 认证。

构建与验证

pnpm install
pnpm --filter @morlay/dsh-llm-openai-compatible run build     # → dist/*.mjs + *.d.mts
pnpm exec tsc --noEmit
pnpm exec vitest run