# v2.2.0 — 可靠环境简报、当前模型 ID 与安全 Shell 绑定 ## 更新 - **环境简报改为每轮系统上下文**:缓存宿主 OS/硬件/用户/shell/路径事实,工作目录按请求更新;首次等待异步探测,重启、恢复、压缩后继续装配,不再重复注入持久 user 消息。 - **通知当前模型 ID**:使用 DSH 最终渲染的 `{{model}}` / `{{provider}}`,跟随官方 UI 切模,而不是缓存初始模型。ID 表示 DSH 请求路由,不能鉴定反代背后的实际模型。 - **PowerShell 7 优先并绑定绝对路径**:枚举安装与 PATH,实际验证版本、edition、真实进程路径;优先稳定版,再比较版本和 preview。没有可用 7 才回退系统默认 PowerShell,并明确报告实际路径/版本。执行失败不降级重试。 - **中文输出实测修复**:PowerShell 子进程固定 UTF-8 输出,避免继承本机控制台编码;不改系统区域、全局 PATH 或系统代码页配置。 - **安全工作目录**:Git Bash 使用完整参数转义的 `cd --`,目录变化失败立即退出;空值、NUL、相对路径、未知世界拒绝执行,不再静默回退系统目录。 - **精简人设**:保留鲸鱼娘女仆长风格与工程纪律,去掉长篇外貌细节。改为 `persona.complete:false`,避免 DSH 丢弃环境系统段和追加的路由提示。 - **指令提示兼容**:使用独立 producer kind;旧环境简报不再被误当作已发过 AGENTS 提示,保留新旧会话日志识别。 - 更新安装/维护文档并加入自包含回归测试。 ## 验证 在 Windows 11 / Node 24 / DSH 0.2.0-rc.2 完成: - **63 项测试通过,0 失败、0 跳过**(启用本机 DSH 与 PowerShell 集成测试)。 - 真实 DSH prompt registry、scoped persona、官方 model-selection:环境段保留、切模身份与实际请求路由一致,并复现旧 complete:true 的丢段问题。 - 真实注册的 `pwsh` 工具:绑定 **PowerShell 7.6.5**,中文、实际 cwd、param 脚本及非零退出码通过;非法 cwd 在 spawn 前阻断,缺失 cwd 不执行用户命令。 - 真实 Git Bash:含中文、空格、引号、反引号、`$()` 的目录保持字面值;cd 失败后不会执行后续命令。 - 无 PowerShell 7 的默认后端回退通过隔离 mock 验证,不需要卸载本机 7 或实际运行 5.1。 - 运行模块和测试语法检查通过;本机 DSH 官方插件 schema 校验 **29 OK、3 平台跳过、0 失败**。 ## 安装 / 升级 下载本发行版 `.tgz` 并校验 `SHA256SUMS.txt`,或使用 tag 对应源码目录: ```bash dsh plugin --profile web add "file:/absolute/path/to/dsh-preset-big-fat-whale-maid-adaptive-2.2.0.tgz" ``` **Tauri 注意:不要以 `file:…tgz` 安装。** 先解压到持久目录或使用源码目录,再执行 `dsh plugin --profile tauri add "file:/absolute/path/to/preset-directory"`,并保留目录。Tauri 启动清理会把本地 tgz 误判为失效目录并自动卸载;目录来源正常保留。本机已验证重启后保留及女仆长会话创建成功;未修改 Tauri 清理机制。上游判定代码见 [local_link_target_exists](https://github.com/dsh-tauri/deepseek-harness-desktop/blob/main/src-tauri/src/service/plugin/internal/manifest.rs)。 Electron `desktop` 请使用桌面版自带的官方 CLI。安装后重启对应宿主才保证加载新代码;不要用旧 `.agent-presets` 目录或直接复制 `node_modules`。 默认按机器自动发现 PowerShell;可选 `env-probe.config.pwshPath` 固定一个 7+ 的绝对路径。显式固定路径无效时不绕过配置回退。 ## 边界 - Git Bash 仍为全局第一优先;PowerShell 操作、`.ps1`、Windows UI 自动化使用已绑定的 `pwsh` 工具。 - shell 绑定在预设挂载时确定。`env_probe` 更新缓存,但发现安装变化时会提示重载,不冒称已有工具已经换了可执行文件。 - 原生 Linux/macOS 的 PowerShell 绑定针对原生 `pwsh`;不自动将 Windows PowerShell interop 伪装成原生后端。 - 本次没有重写关键词任务分类器、技能搜索器或 `delivery_check` 校验逻辑;后者仍是检查辅助,不是 OS 安全门禁。 - 不修改模型提供者配置、全局模型设置或审批/沙箱边界。