deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
A dedicated DeepSeek Harness provider bundle for Any Router — Claude via a Claude Code compatible transport, GPT/Codex via the Responses API.
npx --yes github:shaomingbo/dsh-anyrouter#v0.3.3
The installer defaults to the web profile, pins the exact release tag, edits only dependencies.dsh-anyrouter and dsh.profile.bundles in the profile package.json, runs pnpm install --ignore-scripts there, and never stops or restarts DSH. Restart DSH manually afterwards and hard-refresh the Web page.
Other commands:
npx --yes github:shaomingbo/dsh-anyrouter#v0.3.3 status # is it installed?
npx --yes github:shaomingbo/dsh-anyrouter#v0.3.3 uninstall # idempotent removal
npx --yes github:shaomingbo/dsh-anyrouter#v0.3.3 --profile headless # another profile
DSH_ANYROUTER_SOURCE=link:/path/to/checkout npx --yes github:shaomingbo/dsh-anyrouter#v0.3.3 # local source override
| DSH version | Status |
|---|---|
0.1.5-rc.1 CLI with Web/LLM 0.1.5-rc.1 |
Verified (boot + model catalog + settings section). v0.3.3 supplies the profile's modelErrors map that @deepseek-ai/dsh-llm-pi-ai@0.1.5-rc.1 dereferences before every request and catalog projection; v0.3.2 fails the whole anyrouter group there with Cannot read properties of undefined (reading 'get'). |
0.1.2-alpha.3 CLI with Web/Settings 0.1.2-rc.1 |
Verified (boot + settings section). v0.3.2 probes settings APIs instead of importing removed deepEqualJson / installSettingsSection / settingsNamespace. |
0.1.2-alpha.3 homogeneous (settings 0.1.1-rc.2) |
Verified (legacy settings helpers still work) |
0.1.1-rc.2 and earlier |
Unsupported: those Clients carried credentials and model discovery on connection.api, which 0.1.2-alpha.3 removed in favour of ctx.remote.credentials / ctx.remote.llm. Use v0.2.3 instead |
| Anything else | Unknown, not verified |
The client plugin probes remote.credentials / remote.llm at activation and fails loudly when either is missing, naming the supported range — it never degrades into a silently blank panel.
anyrouter provider route is registered only while an API key exists (credentials reference ANYROUTER_API_KEY, or the launch environment when no credentials service is installed). Without a key the provider goes dormant — the model selector drops the whole group — and it returns without a restart once the key is stored again.gpt-5-codex starts unchecked because the relay's Responses endpoint rejects it (404 当前 API 不支持所选模型, verified 2026-08-31).POST /v1/responses with the Codex CLI request shape (store: false, include reasoning.encrypted_content, codex user agent).Persisted under the llm-anyrouter settings namespace:
llm-anyrouter:
baseURL: https://anyrouter.top
models:
- id: claude-opus-5
protocol: claude-code
contextWindow: 1000000
maxTokens: 128000
reasoning:
efforts: [off, minimal, low, medium, high, xhigh, max]
defaultEffort: high
adaptive: true # Claude only: adaptive effort instead of a thinking budget
- id: gpt-5.6-sol
protocol: codex-responses
reasoning:
efforts: [off, low, medium, high]
defaultEffort: high
An absent reasoning block falls back to the build-time reference profile generated from pi-ai's catalog (src/model-profiles.generated.ts); disabled: true offers the model without a reasoning control. The API key itself lives in the credentials service (or the launch environment), never in this section.
A synchronized model can still answer 429/500 when the relay has no healthy upstream channel or is at capacity — synchronization deliberately makes no paid probe calls per model. Errors name the model and status; retry later.
pnpm install
pnpm run typecheck
pnpm run test # vitest + node:test installer suites
pnpm run build # host bundle + browser client
pnpm run check # everything above + install.js syntax check
node scripts/generate-model-profiles.mjs # regenerate after a pi-ai bump; commit the diff
Local development against a running profile:
DSH_ANYROUTER_SOURCE=link:/absolute/path/to/checkout npx --yes github:shaomingbo/dsh-anyrouter#v0.3.3
Live endpoint verification is environment-gated and makes real requests only when ANYROUTER_LIVE_KEY is exported:
ANYROUTER_LIVE_KEY=sk-… pnpm vitest run tests/live.spec.ts
Manual fallback (not the preferred path): add the dependency and the dsh.profile.bundles entry to the profile package.json yourself, then run pnpm install --ignore-scripts in the profile directory.
Targets DeepSeek Harness 0.1.1-rc.2 and pi-ai 0.82.1. If a legacy generic llm-pi-ai.providers profile still points at this relay, remove it — the dedicated route owns the request identity.
MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。