dsh-claude-cli
Use the locally installed Claude Code CLI as a DeepSeek Harness LLM provider — no API key, native tool calls through an MCP bridge
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:katsos/dsh-claude-cli说明文档
阅读完整 README ↗dsh-claude-cli
Use the Claude Code CLI you already have installed as a DeepSeek Harness LLM provider.
No API key. The plugin runs claude as a subprocess and streams its output back through the harness's LLM seam, so requests authenticate as whatever claude is already logged in as — a login you should check your plan's usage terms against before automating.
The harness stays the agent. The CLI's own agent loop, tools, settings, memory files, and MCP servers are all switched off; what is left is the model call, driven by the harness's system prompt, history, and tools.
Install
Requires a working claude on PATH (Claude Code), Node ^22.19 || >=24, and a harness with @deepseek-ai/dsh-llm.
Install it into the profile you actually run, pointing at your checkout of this repository. The package declares dsh.bundle, so it joins that profile's layer stack and the anthropic-claude-cli route is composed on every start:
dsh plugin --profile web add ../dsh-claude-cli
A path relative to where you run the command is fine here. This plugin is not on npm, so the directory is the only way to install it today.
Restart the harness afterwards — a profile's layer stack is read at startup, so a running server keeps the composition it booted with. The models then appear under Claude Code CLI in the model picker.
Invoking dsh
The commands here assume dsh resolves. How you reach it depends on how the harness is installed:
| Harness install | Command |
|---|---|
| Global | dsh … |
| Source checkout | pnpm dsh … |
| Neither | npx @deepseek-ai/dsh … |
Use the scoped name with npx. Unscoped dsh on npm is an unrelated JavaScript shell, last published in 2022.
That said, the third row is the odd one: this is a plugin for a harness, so a profile to install it into has to exist already. If you have never run dsh, install the harness first rather than reaching for npx.
Without installing — run it once from a --patch overlay
cordis.yml is a standalone overlay for trying the plugin in one run, or for a profile you would rather not modify. Replace the placeholder path in it with this directory's absolute path — plugin paths in a patch must be absolute, because a patch contributes configuration without changing the directory the loader resolves module paths from.