dsh-hashline
开发工具 活跃维护

dsh-hashline

mouyase/dsh-hashline

作为dsh的插件,本工具将hashline按行定址编辑器封装为原生工具,安装后即可在dsh环境内直接调用其按行编辑能力,无需额外配置环境,操作逻辑与原生工具完全一致。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
JavaScript
主要语言
MIT
开源协议
7 MB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:mouyase/dsh-hashline
git clone https://github.com/mouyase/dsh-hashline.git
git clone git@github.com:mouyase/dsh-hashline.git
README.md main

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_read path 读取文件,返回 [path#HASH] 快照头 + 带行哈希的编号行
hashline_patch path, patch, dry_run? 应用 hashline patch(SWAP/DEL/INS.*/SWAP.BLK/...)
hashline_write path, content, force? 写入完整文件内容
hashline_remove path 删除文件
hashline_rename path, target 重命名(移动)文件
hashline_find_block path, anchor 查找行锚点所在的语法块

示例 patch 文本:

SWAP 2:
+新的第二行

DEL 3

INS.TAIL:
+新增的末尾行

支持平台

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

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

二进制来源

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

许可

MIT