편집자 노트

模型供应商

Model providers for DeepSeek Harness: sign in with OAuth or an API key, and keep every provider's model catalog current. dsh ships without OAuth and with model lists frozen at release; this adds the login flows, token refresh, and a live catalog — without patching any dsh package.

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

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

dsh-providers

English · 简体中文

Model providers for DeepSeek Harness: sign in with OAuth or an API key, and keep every provider's model catalog current. dsh ships without OAuth and with model lists frozen at release; this adds the login flows, token refresh, and a live catalog — without patching any dsh package. Built on @earendil-works/pi-ai and @lobehub/icons.

Install

dsh plugin --profile web add github:tyql688/dsh-providers

The repo ships lib/ prebuilt, so the install runs no build scripts. Or from a local clone:

git clone https://github.com/tyql688/dsh-providers.git
cd dsh-providers
pnpm install
dsh plugin --profile web add "$PWD"

Uninstall (best to sign out of OAuth providers first, ticking "remove route"):

dsh plugin --profile web remove dsh-providers

Usage

Run dsh web, open Settings → Accounts:

Accounts page

ActionWhat it does
Sign inOAuth or API key; also writes the provider's route so models reach the picker right away
Replace the API keyEmpty field; its eye reveals the stored key. OAuth tokens and environment values never reach the browser
Update model catalogsFetches pi.dev model lists and rewrites routes (top button: all routed providers, card button: one)
Read an endpoint…Adopts an OpenAI-compatible /v1/models listing as the model list
Sign outDeletes the credential; the route is kept unless you tick the checkbox

Storage: OAuth tokens in $DSH_HOME/auth.json (0600), API keys in .credentials.yaml (the file dsh's Models page writes), catalog cache in model-catalog.json (safe to delete), routes in llm-pi-ai.providers.<id> of settings.yaml. Keys in the environment stay yours — reported as ambient, never stored.

Row options: authPath, catalogPath, catalogBaseUrl, autoRoute (default true).

Known limits: a multi-protocol provider becomes several routes (xai + xai-responses, same credential). Credentials with a complex auth shape (several request headers, env extras — Cloudflare, for example) cannot be routed: a dsh route carries one credential string. The sign-in itself succeeds and keeps the credential; the error says why.

Verified against @deepseek-ai/dsh@0.1.0-rc.6, @deepseek-ai/cordis@4.0.1, Node 22+.

Development

pnpm install   # deps
pnpm build     # builds lib/ — committed, so rebuild and include it with source changes
pnpm check     # oxlint + tsc + knip

Internals, in one paragraph: the bundle swaps the base credentials row for a provider extending dsh-credentials-local (all layers keep precedence, an account layer is added on top), and serves the page's routes under /dsh-providers, loopback same-origin only — dsh's API gateway is closed to out-of-tree plugins. This plugin and the shipped dsh-llm-pi-ai adapter each resolve their own pi-ai: this copy decides logins and the provider list, the adapter's decides the wire. Protocols outside openai-completions / openai-responses / anthropic-messages ride the adapter's own catalog.

REPOSITORY SIGNALS

보안 및 설치 증거

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

출처 추적 가능

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

라이선스

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

유지보수 활동

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

설치 증거

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

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

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