DeepSeek Harness 行选择复制增强工具

在使用 DeepSeek Harness 处理大项目重构时,直接调用 Write 工具常因指令遗漏或过于简化而导致重构不完整。为了在保留源码行内容的前提下加快重构速度、节省 token 并迁移模块,需要一种更精细的行操作能力。下面介绍 kezan31/dsh-copy-tool。

这是一个用于 DeepSeek Harness 的增强型行选择复制插件。插件由 kezan31 维护,旨在解决直接使用基础 Write 工具时的不足,通过精确控制行范围来提升代码迁移和重构的准确性。

核心功能

  1. 行选择与映射:支持选择 1 基线的单行或行范围,并将内容复制到对应的 target_lines。
  2. 灵活的数组语法:lines 和 target_lines 参数支持混合数组格式,例如 [[633, 889]] 或 [633, [640, 645], 700]。
  3. 缩进处理:自动去除源文件中选定非空行的公共缩进,并添加显式的 indent 级别的 4 空格缩进。
  4. 差异预览:通过 dry_run 参数预览有界的统一差异(unified diff),确认修改后再执行。
  5. 原子性文件操作:使用 writeText 原子性地创建新文件,或使用 editText 原子性地编辑现有文件。
  6. 内容保留:编辑时会保留未被选中的内容以及文件系统原生的换行符。
  7. 路径与权限:路径解析基于当前会话工作区,并遵循其沙盒策略。

安装与启用

首先切换到 DSH Web 的配置目录:

cd $env:USERPROFILE\.dsh\profiles\web

执行安装命令:

npm install dsh-copy-tool

安装完成后,将 dsh-copy-tool 添加到 package.json 中的 dsh.profile.bundles 数组内,并重启 DSH Web。

使用说明

所有参数均为必需。展开后的 lines 和 target_lines 必须选择相同数量的行,源文件的每一行会映射到 target_lines 中对应位置的行。行号为 1 基线。

现有目标文件会被原地编辑,未选中的内容会被保留。缺失的目标必须使用从 1 开始的连续 target_lines,且将被创建为新文件。建议先使用 dry_run 检查差异。

示例配置

场景 1:仅预览差异

{
  "source_file": "source.py",
  "target_file": "module.py",
  "lines": [[633, 644]],
  "target_lines": [[1, 12]],
  "indent": 0,
  "dry_run": true
}

场景 2:写入修改

{
  "source_file": "source.py",
  "target_file": "module.py",
  "lines": [633, [640, 645], 700],
  "target_lines": [1, [2, 7], 8],
  "indent": 1,
  "dry_run": false
}

注意事项

插件以当前 DSH 进程的权限运行,因此安装前应检查源码与许可证。该工具适合需要精确控制代码块迁移和重构的场景。

该工具通过精细化的行操作能力,帮助在 DeepSeek Harness 中更安全、高效地执行代码重构。更多详情请查看 GitHub 仓库 或 插件目录。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜