deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
Claude Code subscription-backed model provider for DeepSeek Harness (ctx.llm).
Routes all LLM calls through your Claude Code subscription (the claude CLI / Claude Agent SDK) — allowing DSH to drive Opus/Sonnet/Haiku at no extra per-token cost — instead of using the pay-per-token Anthropic API.
This is a port of pi-claude-bridge
— the extension that backs pi with a Claude Code
subscription — adapted from pi's ExtensionAPI/pi-tui seam to DeepSeek Harness's Cordis
ctx.llm/LlmAdapter seam.
claude CLI.off, low, medium, high, xhigh, max) with streamed reasoning deltas.tool-call-delta chunks, so DSH executes tools within its own sandbox and approval policy. See Known limitations for the current state of the tool-result round trip.cc-session-io.ctx.llm via registerAdapter(["claude-bridge"], adapter) and registers a settings namespace for Web UI configuration.Add to your DSH profile cordis.patch.yml (e.g. ~/.dsh/profiles/web/cordis.patch.yml):
- insert:
- id: llm-claude-bridge
name: '@jaco-tech/dsh-llm-claude-bridge'
config:
plan: 'max' # 'pro' or 'max'
longContextExtraUsage: false
strictMcpConfig: true
autoMemoryEnabled: false
pathToClaudeCodeExecutable: '$(which claude)' # or an explicit absolute path
Verified end-to-end by tests/test-tool-roundtrip.mjs:
tool-call chunk (get_weather, {"city":"Ghent"}).
The adapter ends the turn at the tool-use boundary with finish {kind:'tool-calls'}
(src/translate.ts), so the subprocess never resolves the MCP call against a
placeholder.tool-result message.src/serialize.ts), the prompt becomes (continue), and the model answers from the
real result (verified: it referenced the injected 23°C result).Known limitations:
CLAUDE_BRIDGE_DEBUG — it is a debug aid, not a resolution path.This routes requests through the claude CLI, so usage counts against your Claude Code
subscription rather than pay-per-token API credits. Anthropic has changed its stance on
SDK-vs-subscription usage before; check your plan's terms before relying on this.
The model list is derived at runtime from pi-ai's built-in anthropic catalog
(getBuiltinModels("anthropic")), projected through a small ordered allowlist — the same
approach pi-claude-bridge uses. When pi-ai gains a new Claude model, it appears here
automatically; only the Claude Code CLI-specific [1m] suffix / 1M-vs-200K context
mapping is hardcoded, because that is CLI behavior the catalog does not encode.
The current set exposed under the claude-bridge provider:
claude-bridge/claude-opus-5 (1M context)claude-bridge/claude-opus-4-8 (1M context)claude-bridge/claude-opus-4-7 (1M context)claude-bridge/claude-opus-4-6 (1M context on Max plan)claude-bridge/claude-sonnet-5 (1M context)claude-bridge/claude-sonnet-4-6 (200k context)claude-bridge/claude-sonnet-4-5 (200k context)claude-bridge/claude-haiku-4-5 (200k context)claude-bridge/claude-fable-5 (1M context)CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。