dsh-copy-tool
Enhanced line-selection copy tool for DeepSeek Harness.
kezan31
@kezan31
⬇ 2
★ 0
main
安装
dsh plugin --profile web add github:kezan31/dsh-copy-tool
需要可复现安装时,可在仓库后追加 #commit 固定提交。
Enhanced line-selection copy tool for DeepSeek Harness.
该插件未提供要点说明,请参考仓库 README。
- 安装并启动 DeepSeek Harness:
npx @deepseek-ai/dsh web - 在终端执行上面的安装命令(CLI 会解析插件并核验来源)
- 用 dsh plugins list 确认已安装,必要时重启 Harness 生效
插件以当前 dsh 进程的权限运行,安装时可能执行代码。请先通读仓库源码与许可证,确认无破坏性命令与越权访问;本站只做索引,不对第三方插件安全性作担保。
| 代码仓库 | github.com/kezan31/dsh-copy-tool |
| 许可证 | MIT |
| 主要语言 | main |
| 下载量 | 2 |
| GitHub 星标 | 0 |
| 最近推送 | 2026-08-27 |
| 收录日期 | 2026-09-19 |
| 分类 | 工具与能力 |
事实信息来自公开插件目录快照(2026-10-01),介绍文案由本站再加工。
以下为插件仓库 README 全文(原始内容,由公开目录抓取整理)。
# dsh-copy-tool
[中文说明](README.zh.md)
An enhanced line-selection copy plugin for [DeepSeek Harness](https://github.com/deepseek-ai/dsh).
It replaces the common `read` + manual `write` workflow when extracting a module from a larger source file.
## Features
- Copy individual 1-based lines or ranges to corresponding target lines
- Use arrays such as `[[633, 889]]` or `[633, [640, 645], 700]` for both `lines` and `target_lines`
- Strip common source indentation and add an explicit four-space `indent` level
- 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)
```powershell
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
```powershell
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:
```json
{
"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:
```json
{
"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
数据来源:公开的 DeepSeek Harness 插件目录与各插件 GitHub 仓库。本站为独立第三方目录,与 DeepSeek、幻方(High-Flyer)及插件作者均无隶属或背书关系。