Chuyển đến nội dung chính

dsh-claude-to-dsh

Đã xác minh

dsh-claude-to-dsh · v0.1.2 · MIT

DeepSeek Harness plugin: a model-callable claude_to_dsh tool that migrates a Claude Code project into DeepSeek Harness (skills, commands, subagents, rules, memory) non-destructively.

Cài đặt

dsh plugin add dsh-claude-to-dsh

Xác nhận layer đã áp bằng dsh --profile default --dump-config — xem hướng dẫn cài plugin.

Mã nguồn

Phát hành lên npm mà không có repository công khai. Hãy kiểm tra nội dung package trước khi cài.

Thẻ

Readme

dsh-claude-to-dsh

Migrate a Claude Code project into DeepSeek Harness. This plugin registers a model-callable claude_to_dsh tool that discovers Claude Code artifacts (.claude/skills, commands, agents, rules, CLAUDE.md/AGENTS.md) and converts the automatable parts into the DeepSeek Harness .dsh/skills/ layout.

The conversion is non-destructive: it never writes into .claude/, CLAUDE.md, AGENTS.md, settings.json, or .mcp.json; it only writes under .dsh/ and produces a report plus a machine-readable manifest of every change.

Install

# from npm (recommended)
npm install -g @deepseek-ai/dsh
dsh plugin --profile web add dsh-claude-to-dsh

# or from this repository (use `file:` so @deepseek-ai/dsh-tools resolves)
dsh plugin --profile web add file:/path/to/deepseek-harness-plugins/dsh-claude-to-dsh

Restart the DSH session so the new bundle is composed.

Usage

claude_to_dsh(project: "/abs/path/to/claude-project", write: true)

Parameters

Param Type Notes
project string (required) Absolute path to the Claude Code project root.
write boolean Default false (dry-run only). Set true to write converted files.
force boolean Default false. Overwrite existing converted files.
noAdapt boolean Default false. Copy skill bodies verbatim without adapting Claude-only syntax.

What it converts

Claude Code DeepSeek Harness
CLAUDE.md / AGENTS.md read natively — no conversion needed
.claude/skills/<n>/SKILL.md .dsh/skills/<n>/SKILL.md (plus supporting files)
.claude/commands/<n>.md .dsh/skills/<n>/SKILL.md
.claude/agents/<n>.md (subagents) .dsh/skills/agent-<n>/SKILL.md (delegation recipe)
.claude/rules/<n>.md .dsh/skills/rule-<n>/SKILL.md

Frontmatter is normalized for DSH: name becomes kebab-case, a missing description is derived from the body, when_to_use is merged into description, and disable-model-invocation/user-invocable/metadata are preserved. Claude-only fields and !command`` dynamic injection are recorded in the report rather than silently lost.

What it does not automate

settings.json (permissions/hooks/env), .mcp.json, workflows/*.js, output-styles/*.md, agent-memory/, and hooks/ have no direct DSH equivalent and are reported for manual mapping. See the generated .dsh/CLAUDE_TO_DSH_REPORT.md for the full list.

Output

  • .dsh/skills/… — converted skills
  • .dsh/CLAUDE_TO_DSH_REPORT.md — human-readable record of every change
  • .dsh/.claude-to-dsh-manifest.json — machine-readable source→target map

Requirements

  • python3 on PATH (the bundled migration script is Python 3, stdlib only).

License

MIT