@xiaoso/dsh-tool-plus 0.1.8-beta.3 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.en.md CHANGED
@@ -38,16 +38,13 @@ Install **both** the plugin and the presets:
38
38
  ### Install from npm (recommended)
39
39
 
40
40
  ```sh
41
- dsh plugin --profile web add @xiaoso/dsh-tool-plus
41
+ dsh plugin --profile web add --allow-build=@xiaoso/dsh-tool-plus @xiaoso/dsh-tool-plus
42
42
  ```
43
43
 
44
- ### Install from GitHub
44
+ `--allow-build` lets this package's install script run; it requires pnpm ≥ 10.4, and on pnpm 11+ omitting it fails the install with `ERR_PNPM_IGNORED_BUILDS`. If your pnpm is too old for the flag, allow the script first and re-run:
45
45
 
46
- Track the latest development build:
47
-
48
- ```sh
49
- dsh plugin --profile web add github:xiaoso456/dsh-tool-plus
50
- ```
46
+ - Append to `~/.dsh/profiles/web/pnpm-workspace.yaml`: `allowBuilds:` and ` '@xiaoso/dsh-tool-plus': true`
47
+ - Or run `cd ~/.dsh/profiles/web && pnpm approve-builds --all` (pnpm ≥ 10.32)
51
48
 
52
49
  ### Local development
53
50
 
package/README.md CHANGED
@@ -1,126 +1,123 @@
1
- # dsh-tool-plus — DeepSeek Harness 基础工具增强
2
-
3
- 简体中文 | [English](./README.en.md)
4
-
5
- [![npm version](https://img.shields.io/npm/v/@xiaoso/dsh-tool-plus?logo=npm)](https://www.npmjs.com/package/@xiaoso/dsh-tool-plus)
6
- [![License: MIT](https://img.shields.io/github/license/xiaoso456/dsh-tool-plus)](LICENSE)
7
- [![Node](https://img.shields.io/badge/node-%3E%3D22.19%20%7C%20%3E%3D24-339933?logo=nodedotjs)](https://nodejs.org)
8
- [![Platform](https://img.shields.io/badge/platform-windows%20%7C%20macos%20%7C%20linux-lightgrey)]()
9
-
10
- DeepSeek Harness 基础工具增强:持久 bash、结构化 read、多模式 edit、原子 write、全文搜索、图像直读,一个插件全覆盖。基于 [Oh My Pi](https://github.com/can1357/oh-my-pi) 内核移植,安装后自动接管官方 bash / pwsh / 文件 / 搜索工具,另有可选的 `ast_grep` / `ast_edit` 结构化搜索与重写。
11
-
12
- ## 功能特性
13
-
14
- - **bash**:持久 shell,`cd`、`export` 跨调用保持状态;冗长日志(git/npm/cargo…)自动压缩;超长输出只保留头尾,完整内容落盘可回读;长命令自动转后台;可选拦截 `cat`、`grep`、`find`、`sed -i`,引导改用专用工具
15
- - **安全删除**:`rm` 默认把文件移入系统回收站而非永久删除,误删可恢复;需要真删时用 `command rm`
16
- - **read**:按行区间精准读取(支持 `:N-M`、`:raw`、多区间);大代码文件默认返回结构摘要,细节按需展开;zip/tar 归档、SQLite、notebook、PDF 直接读;PNG / JPEG / WebP / GIF 图片直读,超大图自动缩放;可抓取网页内容(含网页内图片);SPA 站点(内容由 JS 动态渲染,如 excalidraw.com)自动改用本机浏览器渲染后抓取
17
- - **write**:原子写入,返回修改 diff;支持补丁式写入,可直接写 zip/tar 归档成员与 SQLite 数据
18
- - **edit**:replace 默认,另支持 patch / hashline / apply-patch 三种补丁格式;多段编辑、唯一性校验、空白差异模糊匹配
19
- - **grep / glob**:全文搜索与文件名匹配;mtime 排序、上下文行、忽略规则可配置
20
- - **ast_grep / ast_edit**(可选):基于语法树的结构化代码搜索与重写,可在设置中开启
21
- - **agent 预设**:标准增强版 / PTC(Code Mode)两套配套模板,一条命令安装(见安装章节)
22
-
23
- 设置面板(Bash 工具页):
24
-
25
- ![Tool Plus 设置面板(Bash)](docs/screenshots/settings-bash-zh.png)
26
-
27
- ## 推荐环境与配置
28
-
29
- - **完全权限模式**:建议在 `danger-full-access` 下使用本插件,可避免沙箱模式下文件写入被误拦。
30
-
31
- ## 安装
32
-
33
- 插件与预设**都要安装**:
34
-
35
- - **工具插件**:提供全套工具,自动接管官方 bash / pwsh / 文件 / 搜索工具;
36
- - **agent 预设**:官方预设里没有这些工具的配置,直接用默认配置会缺能力——标准版 / PTC 两套模板就是来补齐这块的。
37
-
38
- ### 从 npm 安装(推荐)
39
-
40
- ```sh
41
- dsh plugin --profile web add @xiaoso/dsh-tool-plus
42
- ```
43
-
44
- ### 从 GitHub 安装
45
-
46
- 跟踪最新开发版:
47
-
48
- ```sh
49
- dsh plugin --profile web add github:xiaoso456/dsh-tool-plus
50
- ```
51
-
52
- ### 本地开发
53
-
54
- ```sh
55
- dsh plugin --profile web add link:<本仓库路径>
56
- ```
57
-
58
- ### 预设安装
59
-
60
- **方法一 · 使用 npx 脚本安装**
61
-
62
- ```sh
63
- npx @xiaoso/dsh-tool-plus-presets
64
- ```
65
-
66
- **方法二 · 使用大模型配置预设**(不依赖上面的包)——把下面这段发给一个能改你电脑上文件的 AI 会话:
67
-
68
- ```text
69
- 请为我安装 DeepSeek Harness 的两个增强 agent 预设。
70
-
71
- 1. 找到全局 dsh 包内的官方预设目录 config/agent-presets/,其中有 standard 与 code 两套模板,
72
- 各含 preset.yml 和 agent.cordis.yml。(Windows 在 npm 全局 node_modules\@deepseek-ai\dsh\ 下;
73
- macOS/Linux 先跑 npm root -g 定位;找不到就全盘搜索已安装的 @deepseek-ai/dsh 包。)
74
- 2. 在 ~/.dsh/.agent-presets/ 下新建 tool-plus-standard 与 tool-plus-ptc 两个目录。
75
-
76
- 3. tool-plus-standard:把官方 standard 的两个文件复制过来,然后修改:
77
- - preset.yml 整个替换为:
78
- name: Tool Plus 标准增强版
79
- description: 标准模式全部能力,文件/Shell 工具集替换为 @xiaoso/dsh-tool-plus,pwsh 默认禁用
80
- order: 2
81
- - agent.cordis.yml:
82
- a. 把 id: tool-bash 的条目改为
83
- - id: tool-plus
84
- name: '@xiaoso/dsh-tool-plus'
85
- disabled: true
86
- b. 把 id: tool-pwsh 条目的平台条件禁用改成固定一行 disabled: true
87
- c. 整块删除 id: tool-fs 和 id: tool-fs-search 两个条目(后者还带 sampleOverCapGlobResults 配置)
88
-
89
- 4. tool-plus-ptc:把官方 code 的两个文件复制过来,做第 3 步完全相同的三处修改,
90
- 但 preset.yml 替换为:
91
- name: Tool Plus PTC 增强版
92
- description: PTC(Code Mode) 全部能力,文件/Shell 工具集替换为 @xiaoso/dsh-tool-plus,pwsh 默认禁用
93
- order: 3
94
-
95
- 5. 完成后列出这两个目录的文件树,并提醒我重启运行中的 dsh 让预设生效。
96
- ```
97
-
98
- 两法效果相同:文件落到 `~/.dsh/.agent-presets/`,重启 dsh 后在会话里选用预设即生效。
99
-
100
- ## 配置
101
-
102
- 开箱即用,无需配置。需要微调时常用项有:后台阈值(`autoBackgroundMs`)、超时(`defaultTimeoutMs` / `maxTimeoutMs`)、输出截断窗口、编辑默认模式(`editMode`,默认 `replace`)、结构化摘要开关(`readSummarizeEnabled`)。抓取相关:可切换网页转 Markdown 的后端(`fetchReader`,含浏览器 JS 渲染——SPA 页面),设置面板里可一键「探测浏览器」查看本机可用的 Chrome/Edge。
103
-
104
- ## 环境要求
105
-
106
- - **dsh CLI**:需全局安装,`npm i -g @deepseek-ai/dsh`
107
- - **Node.js** ≥ 22.19 或 ≥ 24
108
- - **Git Bash**(推荐):Windows 上作为 bash 执行环境
109
- - 适用于 DeepSeek Harness `dsh` v0.1.5-rc.1(pre-release,接口可能变动)
110
-
111
- ## 注意事项
112
-
113
- - 不提供单独的 `pwsh` 工具:shell 场景由功能更全的持久 `bash` 统一承担
114
-
115
- ## 构建
116
-
117
- ```sh
118
- pnpm install
119
- pnpm build # tsc 声明 + tsdown 打包 + 资产复制
120
- pnpm typecheck
121
- pnpm test # 含真实 bash 用例,Windows 需 Git Bash,缺失自动 skip
122
- ```
123
-
124
- ## License
125
-
126
- [MIT](LICENSE),第三方组件许可见 [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md)。
1
+ # dsh-tool-plus — DeepSeek Harness 基础工具增强
2
+
3
+ 简体中文 | [English](./README.en.md)
4
+
5
+ [![npm version](https://img.shields.io/npm/v/@xiaoso/dsh-tool-plus?logo=npm)](https://www.npmjs.com/package/@xiaoso/dsh-tool-plus)
6
+ [![License: MIT](https://img.shields.io/github/license/xiaoso456/dsh-tool-plus)](LICENSE)
7
+ [![Node](https://img.shields.io/badge/node-%3E%3D22.19%20%7C%20%3E%3D24-339933?logo=nodedotjs)](https://nodejs.org)
8
+ [![Platform](https://img.shields.io/badge/platform-windows%20%7C%20macos%20%7C%20linux-lightgrey)]()
9
+
10
+ DeepSeek Harness 基础工具增强:持久 bash、结构化 read、多模式 edit、原子 write、全文搜索、图像直读,一个插件全覆盖。基于 [Oh My Pi](https://github.com/can1357/oh-my-pi) 内核移植,安装后自动接管官方 bash / pwsh / 文件 / 搜索工具,另有可选的 `ast_grep` / `ast_edit` 结构化搜索与重写。
11
+
12
+ ## 功能特性
13
+
14
+ - **bash**:持久 shell,`cd`、`export` 跨调用保持状态;冗长日志(git/npm/cargo…)自动压缩;超长输出只保留头尾,完整内容落盘可回读;长命令自动转后台;可选拦截 `cat`、`grep`、`find`、`sed -i`,引导改用专用工具
15
+ - **安全删除**:`rm` 默认把文件移入系统回收站而非永久删除,误删可恢复;需要真删时用 `command rm`
16
+ - **read**:按行区间精准读取(支持 `:N-M`、`:raw`、多区间);大代码文件默认返回结构摘要,细节按需展开;zip/tar 归档、SQLite、notebook、PDF 直接读;PNG / JPEG / WebP / GIF 图片直读,超大图自动缩放;可抓取网页内容(含网页内图片);SPA 站点(内容由 JS 动态渲染,如 excalidraw.com)自动改用本机浏览器渲染后抓取
17
+ - **write**:原子写入,返回修改 diff;支持补丁式写入,可直接写 zip/tar 归档成员与 SQLite 数据
18
+ - **edit**:replace 默认,另支持 patch / hashline / apply-patch 三种补丁格式;多段编辑、唯一性校验、空白差异模糊匹配
19
+ - **grep / glob**:全文搜索与文件名匹配;mtime 排序、上下文行、忽略规则可配置
20
+ - **ast_grep / ast_edit**(可选):基于语法树的结构化代码搜索与重写,可在设置中开启
21
+ - **agent 预设**:标准增强版 / PTC(Code Mode)两套配套模板,一条命令安装(见安装章节)
22
+
23
+ 设置面板(Bash 工具页):
24
+
25
+ ![Tool Plus 设置面板(Bash)](docs/screenshots/settings-bash-zh.png)
26
+
27
+ ## 推荐环境与配置
28
+
29
+ - **完全权限模式**:建议在 `danger-full-access` 下使用本插件,可避免沙箱模式下文件写入被误拦。
30
+
31
+ ## 安装
32
+
33
+ 插件与预设**都要安装**:
34
+
35
+ - **工具插件**:提供全套工具,自动接管官方 bash / pwsh / 文件 / 搜索工具;
36
+ - **agent 预设**:官方预设里没有这些工具的配置,直接用默认配置会缺能力——标准版 / PTC 两套模板就是来补齐这块的。
37
+
38
+ ### 从 npm 安装(推荐)
39
+
40
+ ```sh
41
+ dsh plugin --profile web add --allow-build=@xiaoso/dsh-tool-plus @xiaoso/dsh-tool-plus
42
+ ```
43
+
44
+ `--allow-build` 放行本包的安装脚本,需要 pnpm ≥ 10.4;pnpm 11 起不加会直接报 `ERR_PNPM_IGNORED_BUILDS` 装不上。用不了该参数(pnpm 版本过低)时,先任选一种放行方式,再重跑安装命令:
45
+
46
+ - 往 `~/.dsh/profiles/web/pnpm-workspace.yaml` 追加两行:`allowBuilds:` 与 ` '@xiaoso/dsh-tool-plus': true`
47
+ - 或执行 `cd ~/.dsh/profiles/web && pnpm approve-builds --all`(需 pnpm ≥ 10.32)
48
+
49
+ ### 本地开发
50
+
51
+ ```sh
52
+ dsh plugin --profile web add link:<本仓库路径>
53
+ ```
54
+
55
+ ### 预设安装
56
+
57
+ **方法一 · 使用 npx 脚本安装**
58
+
59
+ ```sh
60
+ npx @xiaoso/dsh-tool-plus-presets
61
+ ```
62
+
63
+ **方法二 · 使用大模型配置预设**(不依赖上面的包)——把下面这段发给一个能改你电脑上文件的 AI 会话:
64
+
65
+ ```text
66
+ 请为我安装 DeepSeek Harness 的两个增强 agent 预设。
67
+
68
+ 1. 找到全局 dsh 包内的官方预设目录 config/agent-presets/,其中有 standard 与 code 两套模板,
69
+ 各含 preset.yml 和 agent.cordis.yml。(Windows 在 npm 全局 node_modules\@deepseek-ai\dsh\ 下;
70
+ macOS/Linux 先跑 npm root -g 定位;找不到就全盘搜索已安装的 @deepseek-ai/dsh 包。)
71
+ 2. 在 ~/.dsh/.agent-presets/ 下新建 tool-plus-standard 与 tool-plus-ptc 两个目录。
72
+
73
+ 3. tool-plus-standard:把官方 standard 的两个文件复制过来,然后修改:
74
+ - preset.yml 整个替换为:
75
+ name: Tool Plus 标准增强版
76
+ description: 标准模式全部能力,文件/Shell 工具集替换为 @xiaoso/dsh-tool-plus,pwsh 默认禁用
77
+ order: 2
78
+ - agent.cordis.yml:
79
+ a. 把 id: tool-bash 的条目改为
80
+ - id: tool-plus
81
+ name: '@xiaoso/dsh-tool-plus'
82
+ disabled: true
83
+ b. 把 id: tool-pwsh 条目的平台条件禁用改成固定一行 disabled: true
84
+ c. 整块删除 id: tool-fs 和 id: tool-fs-search 两个条目(后者还带 sampleOverCapGlobResults 配置)
85
+
86
+ 4. tool-plus-ptc:把官方 code 的两个文件复制过来,做第 3 步完全相同的三处修改,
87
+ 但 preset.yml 替换为:
88
+ name: Tool Plus PTC 增强版
89
+ description: PTC(Code Mode) 全部能力,文件/Shell 工具集替换为 @xiaoso/dsh-tool-plus,pwsh 默认禁用
90
+ order: 3
91
+
92
+ 5. 完成后列出这两个目录的文件树,并提醒我重启运行中的 dsh 让预设生效。
93
+ ```
94
+
95
+ 两法效果相同:文件落到 `~/.dsh/.agent-presets/`,重启 dsh 后在会话里选用预设即生效。
96
+
97
+ ## 配置
98
+
99
+ 开箱即用,无需配置。需要微调时常用项有:后台阈值(`autoBackgroundMs`)、超时(`defaultTimeoutMs` / `maxTimeoutMs`)、输出截断窗口、编辑默认模式(`editMode`,默认 `replace`)、结构化摘要开关(`readSummarizeEnabled`)。抓取相关:可切换网页转 Markdown 的后端(`fetchReader`,含浏览器 JS 渲染——SPA 页面),设置面板里可一键「探测浏览器」查看本机可用的 Chrome/Edge。
100
+
101
+ ## 环境要求
102
+
103
+ - **dsh CLI**:需全局安装,`npm i -g @deepseek-ai/dsh`
104
+ - **Node.js** ≥ 22.19 或 ≥ 24
105
+ - **Git Bash**(推荐):Windows 上作为 bash 执行环境
106
+ - 适用于 DeepSeek Harness `dsh` v0.1.5-rc.1(pre-release,接口可能变动)
107
+
108
+ ## 注意事项
109
+
110
+ - 不提供单独的 `pwsh` 工具:shell 场景由功能更全的持久 `bash` 统一承担
111
+
112
+ ## 构建
113
+
114
+ ```sh
115
+ pnpm install
116
+ pnpm build # tsc 声明 + tsdown 打包 + 资产复制
117
+ pnpm typecheck
118
+ pnpm test # 含真实 bash 用例,Windows 需 Git Bash,缺失自动 skip
119
+ ```
120
+
121
+ ## License
122
+
123
+ [MIT](LICENSE),第三方组件许可见 [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md)。