dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
Stable
0.2.4is verified on official DSH0.1.5-rc.2and0.1.6-alpha.1. It preserves the bound Claude Session when resume fails instead of creating a replacement, and its source peer metadata declares both exact releases. Install it from npm · Compatibility evidence.
Release channels:
latest→0.2.4;next→0.2.5-rc.1.
npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add relay-dsh-plugin-claude@0.2.4
npx @deepseek-ai/dsh@0.1.6-alpha.1 web
English | 中文
npm package: relay-dsh-plugin-claude
· All Relay DSH plugins
Run Claude Code inside official DeepSeek Harness without switching interfaces or maintaining a DSH fork.
relay-dsh-plugin-claude adds Claude Code as a native conversation backend
to the official DeepSeek Harness
(DSH) Web UI. You keep DSH's workspace, conversation history, composer,
approvals, questions, and tool display while each DSH Session continues one
Claude Agent SDK session. The plugin installs independently; no Relay checkout
is required.
Complete normal Claude Code authentication with claude before the first
Session. The install requires Node.js 22.13 or newer and pnpm on PATH. Then
stop DSH Web, install the tested stable release, and restart DSH:
npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add relay-dsh-plugin-claude@latest
npx @deepseek-ai/dsh@0.1.6-alpha.1 web
Open New Session, select a workspace, choose Claude Code from the mode menu, and send a message.
The screenshot was captured from official DSH 0.1.1-rc.2 with the Codex and
Claude plugins installed. If you install only this plugin, only Claude Code
is added.
Review all Relay DSH plugins · report an install result
If this removes an interface switch from your DSH workflow, star this plugin. That signal helps other DSH users find a tested Claude Code backend.
Install it when you want to:
You do not need it to use DSH's standard agents. It also does not add Relay Events, file browsing, or a terminal panel. Those are separate optional plugins.
The steps below were validated with:
0.1.1-rc.2, commit
b150a551pnpm available on PATHDSH is currently a developer preview and may introduce compatibility-breaking changes. This repository tracks official releases and records its tested version here.
The Claude Agent SDK is installed as a normal dependency of this plugin. Before starting your first DSH Claude session, complete normal local Claude Code setup and authentication for the user that will run DSH.
Follow the official Claude Code setup documentation, then start Claude Code once to verify that authentication succeeds:
claude
Credentials stay under Claude Code's normal local authentication mechanism; this plugin does not collect them.
Stop a running DSH Web process before changing Profile bundles. Choose one of the following sources.
The published npm package name is
relay-dsh-plugin-claude.
Use @latest to install the current stable release:
npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add relay-dsh-plugin-claude@latest
At the time of writing, latest resolves to stable version 0.2.4. The linked
npm page is the source of truth for the current version.
Use @next to try the newest release candidate that has passed the repository's
CI publishing and official DSH compatibility checks. The current candidate also
contains the latest model-selection synchronization fix:
npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add relay-dsh-plugin-claude@next
At the time of writing, next resolves to 0.2.5-rc.1.
Install the current main branch when testing an unreleased change:
npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add github:yangbobo2021/relay-dsh-plugin-claude#main
main can change at any time. For a reproducible GitHub install, pin a Tag or
full Commit SHA instead. For example:
npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add github:yangbobo2021/relay-dsh-plugin-claude#v0.2.5-rc.1
The official DSH CLI initializes the web Profile if it does not exist, asks
pnpm to install the selected package and Claude Agent SDK dependencies, and
adds the plugin's bundle layer. No Relay checkout is required. The first
installation can take longer while platform-specific Claude Agent SDK packages
are downloaded; wait for pnpm's final Done message or an explicit error. If
you already installed the dsh command, replace the
npx @deepseek-ai/dsh@0.1.6-alpha.1 prefix with dsh in any command above.
npx @deepseek-ai/dsh@0.1.6-alpha.1 web
If you use an installed command, run dsh web instead. Bundle membership is read
at startup, so restarting after installation, update, or removal is required.
http://127.0.0.1:3080.There is no separate activation command. A successful install plus a DSH restart activates the bundle and registers the managed Claude Code mode automatically.
The selector uses the Claude Agent SDK's public Session APIs and matches the
terminal /resume scope. It excludes worktrees, SDK/headless Sessions,
already-bound Sessions, and Sessions outside the explicitly selected Workspace.
The imported history is a one-time presentation snapshot of user text, visible
assistant text and thinking, and completed textual tool activity. Unknown or
private blocks are skipped; Claude's source transcript is never modified.
The SDK inventory does not expose a durable running/idle status. Avoid writing
the same Session from another Claude client while continuing it in DSH. If
resume fails, DSH keeps the exact native or imported binding for retry and
never silently creates a replacement Session. Native bindings report
CLAUDE_SESSION_RESUME_FAILED; imported bindings report the more specific
CLAUDE_IMPORTED_SESSION_RESUME_FAILED. Import is unavailable with the CLI
fallback.
See
docs/spec/claude-native-session-import.md
for the complete contract and delivery cases.
Glob and Grep search tools on every SDK queryBefore each new or resumed SDK turn, the plugin resolves Claude's effective
environment and classifies credential-bearing variable names such as SECRET,
TOKEN, PASSWORD, and API_KEY. Exact occurrences of those values in tool
results are replaced before the result reaches Claude, DSH activity, or the
native Claude JSONL transcript. Variables explicitly listed in Claude sandbox
credential settings are protected as well. Ordinary environment values and
successful tool outputs without a match are left unchanged.
This protection covers successful tool results; it does not rewrite user
prompts, tool inputs, arbitrary values that are not identifiable from host
configuration, or SDK execution failures without a replaceable tool output.
See
docs/spec/claude-tool-output-redaction.md
for the complete contract and acceptance cases.
Trusted Host configuration can load an uninstalled local Claude plugin into
business conversations by setting claudePlugins on this DSH plugin:
config:
claudePlugins:
- type: local
path: /absolute/path/to/plugin
The order and optional skipMcpDiscovery Boolean are forwarded to every new and
resumed Claude Agent SDK query. Hidden title-generation Sessions use no local
plugins. A non-empty list is rejected when the CLI fallback is active because
the CLI backend cannot honor this SDK option. Local plugins execute as the DSH
user, so configure only reviewed paths. See
docs/spec/claude-local-plugins.md for the
full contract and acceptance cases.
Tools execute through the owning Agent's DSH tool runtime and remain subject to DSH permissions and Claude approval behavior. The tool bridge requires the default SDK backend. If a developer explicitly selects the CLI fallback, the plugin refuses contributed DSH tools and image input instead of silently dropping them.
When Claude's successful final answer references a PNG, JPG, WebP, GIF, or SVG in the Session workspace, the plugin snapshots that completed file into DSH's attachment store and emits a standard assistant image block. SVG input is rendered once, in memory, to a constrained PNG before it enters DSH; no sibling PNG is created in the workspace, and external resources or scripts are not loaded. Conversation history uses the immutable attachment, so later edits or deletion of the source file do not change the image already shown in the message. Remote URLs and paths outside the Session workspace are never imported.
This repository was designed and compatibility-tested in Relay, an open-source project for long-running agent work, external-event delivery, and multiple conversation backends.
The plugin is independently installable. Its only Relay package dependency is the provider-neutral session import hub, which the package manager installs automatically. It has no runtime dependency on the Relay application, Relay Events, or another feature plugin. It does not replace the official DSH layout or install workspace UI replacements. Workbench, Files, and Terminal are retired; current DSH provides those capabilities officially. This separation lets a user install only Claude while the broader Relay project composes Codex, Claude, events, waits, and monitors when those capabilities are needed.
Explore or star Relay to follow that broader work: https://github.com/yangbobo2021/Relay.
Stop DSH Web before changing the bundle, then restart it afterward.
# Show why the plugin is installed
dsh plugin --profile web why relay-dsh-plugin-claude
# Update the npm dependency
dsh plugin --profile web update relay-dsh-plugin-claude
# Remove it
dsh plugin --profile web remove relay-dsh-plugin-claude
Use the npx @deepseek-ai/dsh@0.1.6-alpha.1 prefix instead of dsh when you do not
have a persistent DSH command.
Restart DSH Web. Then run dsh plugin --profile web why relay-dsh-plugin-claude. If pnpm cannot find the package, repeat the npm
installation command and read its final error.
Start claude in the same user environment that starts DSH and complete normal
Claude Code authentication. Restart DSH afterward.
DSH requires a workspace before starting a coding conversation. Select Add workspace, choose a directory, and return to New Session.
Install pnpm using its official installation guide
and confirm pnpm --version works in the same terminal.
DSH is a developer preview. Include the output of dsh --version, the plugin
source revision, and the startup error in a
GitHub issue.
git clone https://github.com/yangbobo2021/relay-dsh-plugin-claude.git
cd relay-dsh-plugin-claude
npm install
DSH_ROOT=/path/to/deepseek-harness npm run verify
npm pack
npm run verify runs type checking, tests, and the production build. Boundary
tests reject accidental runtime dependencies on Relay or another feature plugin.
Report bugs and feature requests in this repository's issue tracker.
Stable 0.2.4 targets official DSH 0.1.5-rc.2 and 0.1.6-alpha.1; install it from npm latest or Git tag v0.2.4.
npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add relay-dsh-plugin-claude@latest
# Git tag alternative, after publication:
npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add github:yangbobo2021/relay-dsh-plugin-claude#v0.2.4