☰
dsh-ops 的每个开关分别属于哪个组件行
2026/10/18 3:20:06 网站建设 项目流程

配置键

类型

默认值

归属组件

configUpdateVersion

非负整数

0

任意(迁移标记)

binaryPath

字符串路径

—

file / ptc

bashPath

字符串路径

—

shell

publishBashTool

布尔

true

shell

promptPolicy

布尔

true

全部

extraGuidance

字符串

空

全部

required

布尔

false

全部

shellPolicy

advise|deny-host-shell

advise

shell

deniedHostTools

字符串数组

[pwsh, bash, pwsh_persistent]

shell

allowSystemShellFallback

布尔

false

shell

denyCredentialReads

布尔

true

file / ptc

典型错法是把denyCredentialReads写到dsh-ops/shell行——它属于 file / ptc,会被拒绝;反过来把bashPath写到 file 行也会被点名。类型同样受校验:shellPolicy只接受advise与deny-host-shell两个值。

逐键要点

publishBashTool(shell,默认true):决定是否发布ops_bash。受限模式走宿主 sandbox,完全权限下用宿主 subprocess;不想给 shell 就设false。

shellPolicy(shell,默认advise):设成deny-host-shell会拒绝deniedHostTools里的宿主 shell(默认[pwsh, bash, pwsh_persistent])。副作用是也会禁用第三层 pwsh,谨慎开启;它与allowSystemShellFallback相互独立。

allowSystemShellFallback(shell,默认false):为false时,随包或已 provision 的 bash 缺失也不探测系统 PATH、不扫常见安装目录;设true才用未固定摘要的系统 bash。它在 POSIX 主机上不起作用,因为 shell 组件本就解析宿主 bash,没有 pin 过的载荷可「回退」。

promptPolicy/extraGuidance/required(全部):提示词注册是独立运行时段,不写 AGENTS.md——Shell 关就撤销 bash/pwsh 路由,文件关就撤销原生文件说明。

bashPath(shell)与binaryPath(file / ptc):可选显式路径,不可用时报错、不会悄悄换执行器。Windows 上bashPath只在danger-full-access下生效;受限模式下ops_bash只运行校验过 IPC 兼容代理的固定摘要 MSYS,其它任何msys-2.0.dll(含自带 Git for Windows)都按设计返回EXECUTOR_UNAVAILABLE。用dsh-ops ladder --config <文件>看restricted: yes/no。

三个已弃用但仍被接受的键

serverName、enableShellTools、toolCallTimeoutMs属于已移除的 FastCtx 后台组件。它们仍被接受、仍做类型校验(早期 bundle 会把enableShellTools: false与toolCallTimeoutMs: 300000写进每个 file 行),但已经不起作用;配置更新 2 会在下次启动时把它们从已保存的行里删除。

configUpdateVersion在标记什么

非负整数,默认0,任意组件行都可以有,记录一次性配置迁移是否已完成。当前值为2:更新 1 撤销旧的隐式系统 bash 选择,更新 2 删除上面三个弃用键。lib/config-updates.js集中维护迁移,0.2.5 首次启动时逐行自检:没有此键、或值为0的行被判「未完成迁移」,进而把旧allowSystemShellFallback: true改成false,再写回标记。不要删除迁移标记,删了会重新自检;迁移完成并重启或热加载后,你主动改回true会被保留。

dsh-ops/tui只接受三个键

这一行是独立配置的只读侧栏,只接受maxSessions、maxActive、recentLimit,上表其它键一概不适用于它。在 dsh-TUI 中启用该行并重启即可添加侧栏,它不抢焦点、不执行额外工具调用;没有tuiPanels的宿主只会让这一行等待。聚焦后可用f筛选、n/p本地翻页、a确认跨会话提醒。

可复制的 YAML 示例

dsh-ops/shell行:

config: promptPolicy: true publishBashTool: true shellPolicy: advise deniedHostTools: [pwsh, bash, pwsh_persistent] allowSystemShellFallback: false

dsh-ops/file行:

config: promptPolicy: true required: false denyCredentialReads: true

dsh-ops/tui行(数值为示例,按需调整):

config: maxSessions: 8 maxActive: 3 recentLimit: 200

三段都省略了bashPath、binaryPath这类可选路径键——不写就代表「自动解析」。另注意:换包之后必须重启应用,只改配置不需要重启,因为宿主只在启动时 import 一次插件模块。

安全档位如实说明

配置再清楚,也要先看清安全姿态。本站对该插件的扫描档位为 🔵「含敏感能力」,共 17 处证据(spawnSync执行外部命令、curl、发起外部网络请求、读写本地文件),尚无人工评估,站点也未做风险分级(未覆盖不等同于无风险)。所以publishBashTool、shellPolicy、denyCredentialReads不只是「开关」,而是你自行承担的风险边界。建议先只开dsh-ops/file观察。

总结

dsh-ops 的配置问题几乎都能归结为「键写错了组件行」,记住四行的所有权与默认值、别删configUpdateVersion、dsh-ops/tui只认三个键,就足够了;想对照同类插件的中文清单与安装形态见 完整插件清单与汉化避坑指南。

适合与不适合

适合:正在排查「未知配置键」报错、需要一张准确归属表的人;想按最小权限原则裁剪工具、只保留dsh-ops/file或单独关掉 shell 的人;从旧版本升级、看到configUpdateVersion或三个弃用键却不知道能不能删的维护者。

不适合:只想一键装完就用、不打算碰config的用户——默认值已经能跑,读这篇没有功能增量;macOS arm64 用户——shell 工具仅 Windows,配置键解决不了自行编译原生 worker 与指定bashPath;以及必须在受限模式下使用自带 Git Bash 的场景——无论怎么填bashPath都会被按设计拒绝。

标签:dsh-ops、DeepSeek Harness、配置参考

本文由 DeepSeek Harness Hub 自动整理,数据来源于插件详情页。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询