Back to home@mouyase

dsh-hashline

dsh plugin wrapping hashline line-addressed editor as a native tool

Stars
0
Language
JavaScript
Created
Aug 18, 2026
Updated
Aug 18, 2026
GitHub repo

Introduction

dsh-hashline

一个 DeepSeek Harness(dsh)插件:把 hashline 行寻址文件编辑器封装为 dsh 原生工具 hashline

English documentation: docs/README.EN.md

特性

  • 内嵌二进制:npm 包自带 hashline 各平台二进制,安装即可用,无需系统安装。
  • 原生工具:注册为 dsh 工具 hashline,可直接替代默认的 str_replace_editor
  • 稳定行寻址编辑:读取文件时带 [path#HASH] 快照头和行哈希,编辑基于行号,避免脆弱的字符串替换。

安装

dsh plugin --profile web add dsh-hashline

配置

- insert:
    - id: dsh-hashline
      name: 'dsh-hashline'
      config:
        binaryPath: ''            # 可选:自定义 hashline 二进制路径
        maxOutputChars: 16000     # 工具输出最大字符数
        timeoutMs: 60000          # 单次调用超时

替代默认文件编辑器

在 cordis patch 中禁用默认编辑器并注册 hashline:

- id: tool-str-replace-editor
  disabled: true

- insert:
    - id: dsh-hashline
      name: 'dsh-hashline'

工具用法

插件注册 6 个独立工具,每个工具的必填参数有强校验:

工具参数说明
hashline_readpath读取文件,返回 [path#HASH] 快照头 + 带行哈希的编号行
hashline_patchpath, patch, dry_run?应用 hashline patch(SWAP/DEL/INS.*/SWAP.BLK/...)
hashline_writepath, content, force?写入完整文件内容
hashline_removepath删除文件
hashline_renamepath, target重命名(移动)文件
hashline_find_blockpath, anchor查找行锚点所在的语法块

示例 patch 文本:

SWAP 2:
+新的第二行

DEL 3

INS.TAIL:
+新增的末尾行

支持平台

平台内嵌二进制
macOS arm64hashline-macos-arm64
macOS x64hashline-macos-x64
Linux x64hashline-linux-x64
Windows x64hashline-win32-x64.exe

Linux arm64 暂无官方 release 资产,请从源码安装并通过 binaryPath 指定。

二进制来源

内嵌二进制来自 hashline releases v0.9.12

许可

MIT