dsh-copy-tool
Manifest validEnhanced line-selection copy tool for DeepSeek Harness
dsh-copy-tool
An enhanced line-selection copy plugin for DeepSeek Harness.
It addresses omissions and oversimplification when using the write tool to refactor large projects by speeding up refactoring calls, saving substantial tokens, and migrating modules while preserving their source-line content.
Features
- Copy individual 1-based lines or ranges to corresponding target lines
- Use arrays such as
[[633, 889]]or[633, [640, 645], 700]for bothlinesandtarget_lines - Strip common source indentation and add an explicit four-space
indentlevel - Preview a bounded unified diff with required
dry_run - Atomically create missing files with
writeText - Atomically edit existing files (including the source file) with
editText - Preserve untouched content and filesystem-native line endings
- Resolve paths relative to the current session workspace and respect its sandbox policy
Install
npm (recommended)
cd $env:USERPROFILE\.dsh\profiles\web
npm install dsh-copy-tool
Then add dsh-copy-tool to the dsh.profile.bundles array in package.json, and restart DSH Web.
dsh plugin command
dsh plugin --profile web add dsh-copy-tool
If the bundle list is not updated automatically, add dsh-copy-tool to dsh.profile.bundles in the profile's package.json manually, then restart DSH Web.
Usage
All parameters are required. Expanded lines and target_lines must select the same number of lines; each source line maps to the target line at the same position:
{
"source_file": "source.py",
"target_file": "module.py",
"lines": [[633, 644]],
"target_lines": [[1, 12]],
"indent": 0,
"dry_run": true
}
A line list can mix individual numbers and ranges:
{
"source_file": "source.py",
"target_file": "module.py",
"lines": [633, [640, 645], 700],
"target_lines": [1, [2, 7], 8],
"indent": 1,
"dry_run": false
}
Line numbers are 1-based. Source indentation common to all selected non-empty lines is removed, then indent * 4 spaces are added. Existing targets are edited in place while preserving untouched content; a missing target must use continuous target_lines beginning at 1 and is created as a new file. Use dry_run to inspect the diff before writing.
License
MIT
Comments
Loading…
Similar plugins
by leonardoxr
Secure bounded coding tools for DeepSeek Harness
★ 0
MIT
TypeScript
Aug 24, 2026
dsh plugin --profile web add dsh-coding-toolsby uckkk
字帖选择
★ 0
MIT
JavaScript
Aug 20, 2026
dsh plugin --profile web add dsh-copy-pickby ardli-firman
Searchable model selector for DeepSeek Harness — search models by name instead of scrolling
★ 0
JavaScript
Aug 22, 2026
dsh plugin --profile web add @ardli-firman/dsh-model-searchby Qingzhou-Joshua
DeepSeek Harness plugin—a simple toolkit for developers.
★ 0
MIT
TypeScript
Aug 14, 2026
dsh plugin --profile web add dsh-dev-toolboxby rangdl
DSH(DeepSeek Harness)功能增强插件
★ 0
TypeScript
Sep 1, 2026
dsh plugin --profile web add dsh-all-enhanceby Freakz2z
Local append-only evidence ledger for DeepSeek Harness
★ 0
MIT
JavaScript
Sep 1, 2026
dsh plugin --profile web add dsh-evidence-ledger