omp packages

@xiaoso/dsh-tool-plus0.1.15

Oh My Pi bash runtime ported as a deepseek-harness tool plugin: persistent shell session, output minimizer, managed background jobs, command interception

xiaoso Published 1 day ago MIT ~2.4K downloads/mo

Built for omp

The author tagged this package oh-my-pi.

Did it work for you?

Result

One report per person. A new report replaces your old one.

Reports 0

No reports yet.

Readme

dsh tool plus icon
dsh tool plus

简体中文 | English

npm version License: MIT Node Platform

DeepSeek Harness 基础工具增强:持久 bash、结构化 read、多模式 edit、原子 write、全文搜索、图像直读,一个插件全覆盖。基于 Oh My Pi 内核移植,安装后自动接管官方 bash / pwsh / 文件 / 搜索工具,另有可选的 ast_grep / ast_edit 结构化搜索与重写。

功能特性

  • bash:持久 shell,cd、export 跨调用保持状态;冗长日志(git/npm/cargo…)自动压缩;超长输出只保留头尾,完整内容落盘可回读;长命令自动转后台;可选拦截 cat、grep、find、sed -i,引导改用专用工具(默认关闭)
  • 安全删除:rm 默认把文件移入系统回收站而非永久删除,误删可恢复;需要真删时用 command rm
  • read:按行区间精准读取(支持 :N-M、:raw、多区间);大代码文件默认返回结构摘要,细节按需展开;zip/tar 归档、SQLite、notebook、PDF 直接读;PNG / JPEG / WebP / GIF 图片直读,超大图自动缩放;可抓取网页内容(含网页内图片);SPA 站点(内容由 JS 动态渲染,如 excalidraw.com)自动改用本机浏览器渲染后抓取
  • write:原子写入,返回修改 diff;支持补丁式写入,可直接写 zip/tar 归档成员与 SQLite 数据
  • edit:replace 默认,另支持 patch / hashline / apply-patch 三种补丁格式;多段编辑、唯一性校验、空白差异模糊匹配
  • grep / glob:全文搜索与文件名匹配;mtime 排序、上下文行、忽略规则可配置
  • ast_grep / ast_edit(可选):基于语法树的结构化代码搜索与重写,可在设置中开启
  • agent 预设:标准增强版 / PTC(Code Mode)两套配套模板

设置面板(Bash 工具页):

Tool Plus 设置面板(Bash)

推荐环境与配置

  • 完全权限模式:建议在 danger-full-access 下使用本插件,可避免沙箱模式下文件写入被误拦。

安装

从 npm 安装(推荐)

Web 端

dsh plugin --profile web add --allow-build=@xiaoso/dsh-tool-plus --allow-build=koffi @xiaoso/dsh-tool-plus

--allow-build 放行安装脚本(本包和 koffi 各一次),需要 pnpm ≥ 10.4;pnpm 11 起不加会直接报 ERR_PNPM_IGNORED_BUILDS 装不上。用不了该参数(pnpm 版本过低)时,先任选一种放行方式,再重跑安装命令:

  • 往 ~/.dsh/profiles/web/pnpm-workspace.yaml 追加三行:allowBuilds:、 '@xiaoso/dsh-tool-plus': true、 koffi: true
  • 或执行 cd ~/.dsh/profiles/web && pnpm approve-builds --all(需 pnpm ≥ 10.32)

桌面端

profile 由桌面应用独占,dsh plugin --profile desktop 会被拒;要装新版就进它自己的目录:

cd ~/.dsh/profiles/desktop
pnpm add --allow-build=@xiaoso/dsh-tool-plus --allow-build=koffi @xiaoso/dsh-tool-plus

本地开发

dsh plugin --profile web add link:<本仓库路径>

预设

预设 底座 说明
Tool Plus 标准增强版 官方 standard 官方标准模式全部能力 + 文件/Shell 工具集换成本插件
Tool Plus PTC 增强版 官方 PTC(Code Mode) 同上,但经 Code Mode 以 run_code 组合多步操作

两个预设随插件声明:安装插件(作为 profile bundle)时,插件的补丁层里就带着两条 @deepseek-ai/dsh-agent-preset 声明行,装上即可在预设列表里选。没有安装步骤,插件启动时也不写任何文件。

设置页「Tool Plus → 预设」是改它们的地方(dsh 0.1.7 起官方的预设页只读、也没有 agent_preset 工具,所以这里是唯一的图形入口):

  • 最小更新:只把这几个仍挂着的官方工具行关掉,其他内容一个字节都不动
  • 对齐模板:用所选模板整份替换这一行的插件列表
  • 恢复随包:删掉你写在 profile 配置(<profile>/cordis.patch.yml)里的覆盖,回落到随包声明
  • 查看差异:先看差在哪几行,再决定动不动手

写入通过宿主自己的 ctx.configEditor 完成,因此自带 profile 锁、并发保护、原子写与失败回滚。

配置

开箱即用,无需配置。需要微调时常用项有:后台阈值(autoBackgroundMs)、超时(defaultTimeoutMs / maxTimeoutMs)、输出截断窗口、编辑默认模式(editMode,默认 replace)、结构化摘要开关(readSummarizeEnabled)。抓取相关:可切换网页转 Markdown 的后端(fetchReader,含浏览器 JS 渲染——SPA 页面),设置面板里可一键「探测浏览器」查看本机可用的 Chrome/Edge。

性能

标准模式/标准模式增强下,在 Linux 上跑 SWE-bench Multilingual(20 题 × 3 轮):

指标 官方工具面 本插件(命令拦截开) 本插件(命令拦截关,默认)
解题率 83.3% 83.3% 81.7%(低 1 题,正常波动)
步数 / 题 24.4 29.7(+21.7%) 25.3(+3.8%)
总 token / 题 729,434 954,100(+30.8%) 779,799(+6.9%)
系统提示词 / 步(含工具定义) 4,642 6,305(+35.8%) 6,305(+35.8%)
系统提示词累计 / 题(单步 × 步数) 113,265 187,259(+65.3%) 159,622(+40.9%)
净 token / 题(除系统提示词) 616,169 766,841(+24.5%) 620,177(+0.7%)
任务结束后平均上下文长度(token) 42,817 48,645(+13.6%) 44,781(+4.6%)
read 调用次数 225 459 198
bash 每次调用耗时 3,140 ms 2,391 ms 2,045 ms
bash 每次调用返回 token 790 tok 343 tok 638 tok
平均耗时 / 题(未计入 token 速率波动、网络速度带来的误差) 123 s 135 s 151 s

注:

  1. 平均耗时是端到端实测,未计入 token 速率波动、网络速度带来的误差,绝对值只作横向参考。
  2. 本节性能只代表在该基准测试下的表现(该基准任务占用上下文较低,因此无法代表大任务情况)
  3. 由大模型计算统计核对,数据可能有疏漏,但不影响整体结论

结论:

  1. 解题率与官方持平(命令拦截关的那组低 1 题,属正常波动)
  2. bash 本身更省,省下的 token 基本能抵消工具定义变厚带来的系统提示词增量(功能更强,工具定义比官方预设更厚)
  3. bash 更快,但带来的增益会被 bash 自身以及其他增强工具带来的副作用抹平
  4. 在 linux 上,综合性能和官方默认标准模式工具相当,但功能更丰富

因此本插件工具在 linux 上,无法承诺更省 token 或具有更强的性能;windows 不适合跑标准测试,只能从个人体感说比 powershell 更好用。

完整的四组数据与逐题矩阵见 docs/benchmark/sbml-compare-ops.md。

环境要求

  • dsh CLI:需全局安装,npm i -g @deepseek-ai/dsh
  • Node.js ≥ 22.19 或 ≥ 24
  • Git Bash(推荐):Windows 上作为 bash 执行环境
  • 适用于 DeepSeek Harness dsh v0.2.1-rc.1(pre-release,接口可能变动)

注意事项

  • 不提供单独的 pwsh 工具:shell 场景由功能更全的持久 bash 统一承担

安全 rm 删掉的文件进系统回收站,各平台的落点与可见性:

Windows macOS Linux
落点 回收站 废纸篓 ~/.Trash $XDG_DATA_HOME/Trash;默认 ~/.local/share/Trash
跨卷 / 外接盘 该卷回收站 该卷 .Trashes 该挂载点 .Trash-<uid>
系统回收站可见 可见 可见 同卷可见;跨卷要打开该位置
文件名 原名 原名 UUID,靠 .trashinfo 还原
放回原处 支持 支持 视文件管理器
实现 Shell API 系统 API 第三方 XDG 实现
已知限制 网络盘无回收站 需 10.12+ 部分桌面环境看不到,需到落点自行还原

构建

pnpm install
pnpm build     # tsc 声明 + tsdown 打包 + 资产复制
pnpm typecheck
pnpm test      # 含真实 bash 用例,Windows 需 Git Bash,缺失自动 skip

License

MIT,第三方组件许可见 THIRD_PARTY_NOTICES.md。