편집자 노트

自定义模型补全

DSH Custom Provider Enhancer is an out-of-the-box DeepSeek Harness (DSH) / Cordis plugin designed for Custom Model Providers (e.g. OneAPI, NewAPI, OpenRouter, vLLM, Ollama, and OpenAI-compatible API gateways).

이것은 DeepSeek Harness(DSH) 플러그인입니다. 이 사이트는 GitHub README, 설치 정보, 유지보수 상태, 공개 보안 시그널을 모아 보여줍니다.

업스트림에서 중국어 README를 제공하지 않아 저장소 원본 내용을 표시합니다.

DSH Custom Provider Enhancer

DSH Plugin Cordis 3.x License: MIT Node.js Verified Tests

English | 简体中文

DSH Custom Provider Enhancer is an out-of-the-box DeepSeek Harness (DSH) / Cordis plugin designed for Custom Model Providers (e.g. OneAPI, NewAPI, OpenRouter, vLLM, Ollama, and OpenAI-compatible API gateways).

When discovering or saving models in the Web GUI, it automatically queries a 3000+ model database to populate Context Window (contextWindow), Max Output Tokens (maxTokens), Multimodal Vision (input: [text, image]), and Deep Thinking / Reasoning (reasoningEfforts).


📋 Table of Contents


🎯 Overview

What problem does it solve?

When users connect custom third-party gateways (e.g. OneAPI, NewAPI, vLLM, Ollama) to DeepSeek Harness, the standard GET /models discovery endpoint only returns raw model IDs (such as gemini-3.7-flash, deepseek-v4-pro, or mimo-v2.5). It omits critical runtime parameters:

  • ❌ Missing context limits causes inaccurate token pressure metering or context overflows.
  • ❌ Missing multimodal flags (input: ['text', 'image']) disables image uploads in the conversation interface.
  • ❌ Missing reasoning levels (reasoningEfforts) hides the thinking intensity slider in chat.

How does this plugin solve it?

  1. Auto Discovery & Specification Enrichment: Intercepts llm.discoverModels and automatically fills correct context size and max output tokens.
  2. Vision & Thinking Auto-Injection: Intercepts llm.resolveModelInfo and settings.mutate to automatically attach vision input and thinking levels both in runtime and in settings.yaml.
  3. Zero Official Interference: Only affects custom third-party providers; native DeepSeek channels remain untouched.

🧭 Compatibility

EnvironmentSupported VersionsStatus
DeepSeek Harness (DSH)0.1.0-rc.1 ~ mainline✅ Verified (Runtime Compatible)
Cordis Framework^3.0.0✅ Verified
Node.js`^20.0.0
OSLinux, macOS, Windows✅ Cross-Platform

✨ Key Features

  • Zero-Config Automation: Works right out of the box when adding custom providers in Web Settings.
  • 📏 Accurate Capacities: Automatic 1M context for Gemini 3.7 Flash, 1000K for DeepSeek V4 Pro, 128K for GPT-4o, 256K for MiMo 2.5, etc.
  • 👁️ Automatic Vision Activation: Unlocks image uploads and visual reasoning in Web chat for multimodal models (Gemini, Claude, GPT-4o, MiMo, Qwen-VL, etc.).
  • 🧠 Thinking Intensity Tiers: Injects reasoning effort gears (off, low, medium, high, max) for reasoning models.
  • 💾 Dual-Layer Persistence: Automatically writes clean parameters into settings.yaml on save, and patches legacy placeholder models in memory.
  • 🛡️ Fault-Tolerant & Offline Fallback: Built-in 30+ core model definitions, local caching, timeout circuit-breaking, and fuzzy matching for dated model snapshots (-20241120).

📦 Installation & Uninstallation

Installation

dsh plugin --profile web add https://github.com/cinob/dsh-plugin-custom-provider-enhancer.git

Uninstallation

dsh plugin --profile web remove dsh-plugin-custom-provider-enhancer

⚡ Quick Start

  1. Start DSH Web GUI (http://127.0.0.1:3080).
  2. Go to Settings ➔ Models ➔ Add Provider.
  3. Fill in your Base URL and API Key, then click Fetch available models.
  4. Check desired models and click Adopt, then click Save.
  5. All specifications (contextWindow, maxTokens, input, reasoningEfforts) are automatically configured and saved!

⚙️ Configuration

Optional configuration in your cordis.yml or cordis.patch.yml:

plugins:
  custom-provider-enhancer:
    # Remote metadata catalog URL
    metadataUrl: https://raw.githubusercontent.com/BerriAI/litellm/main/model_prices_and_context_window.json
    # Request timeout in milliseconds (default: 5000ms)
    timeoutMs: 5000
    # In-memory cache TTL in milliseconds (default: 1 hour)
    cacheTtlMs: 3600000
    # Fallback context window when model is unknown (default: 128000)
    defaultContextWindow: 128000
    # Fallback max output tokens (default: 4096)
    defaultMaxTokens: 4096

🔒 Permissions & Data Security

  • Network Access: Only requests the user-specified custom endpoint GET /models and public model specification database (github.com/BerriAI/litellm).
  • Zero Credential Leaks: API Keys are passed through standard authorization headers only during user-initiated discovery; keys are never logged, forwarded, or stored by this plugin.
  • Local Sandbox Safe: Strictly operates in-process through Cordis service hooks (ctx.llm, ctx.settings); creates no subprocesses or arbitrary file modifications.

🛠️ Troubleshooting & Rollback

  • Duplicate Entry ID Error: Ensure you do not manually add - insert: id: custom-provider-enhancer into cordis.patch.yml if the package is already registered as a bundle in package.json.
  • Changes not reflecting: Ensure you click Save in Web Settings. If models were added prior to installing the plugin, opening Settings and clicking Save will auto-enrich them.
  • Rollback: Remove dsh-plugin-custom-provider-enhancer using dsh plugin --profile web remove dsh-plugin-custom-provider-enhancer and restart DSH.

💻 Development & Testing

# Clone repository
git clone https://github.com/cinob/dsh-plugin-custom-provider-enhancer.git
cd dsh-plugin-custom-provider-enhancer

# Install dependencies
pnpm install

# Run automated tests
pnpm test

# Build distribution bundle
pnpm build

📄 License

MIT License

REPOSITORY SIGNALS

보안 및 설치 증거

이 점수는 공개 저장소 메타데이터와 이 사이트에 등록된 설치 증거에만 기반하며, 코드 보안 감사와 다릅니다.

출처 추적 가능

공개 플러그인 카탈로그에서 왔으며, 공개 GitHub 저장소로 연결됩니다.

라이선스

저장소가 MIT 라이선스를 선언했습니다.

유지보수 활동

최근 180일 내 코드 업데이트가 있습니다.

설치 증거

재현 가능한 정확한 설치 메타데이터가 아직 등록되지 않았습니다. 저장소 설명에 따라 직접 확인하세요.

설치 라이프사이클 스크립트

검사한 패키지 메타데이터에 설치 라이프사이클 스크립트가 선언되지 않았습니다.