Skip to content

dsh-write-protect v0.3.0

Latest

Choose a tag to compare

@github-actions github-actions released this 03 Oct 06:59
· 4 commits to main since this release

dsh-write-protect v0.3.0

Date: 2026-10-03

这一版把引擎版本线从 @deepseek-ai/dsh-* 0.1.7 抬到 0.2.0-rc: peer 写成 >=0.2.0-rc.1 <0.3.0, 覆盖 0.2.0-rc.1 与 0.2.0-rc.2. 会话区新增 "写入权限" tab, 可以手动加临时可写根, 也可以把已批准的授权撤回并通知模型. 仍在 0.1.7 引擎线上的部署请继续用 v0.2.0.

Highlights

  • 引擎版本线抬到 @deepseek-ai/dsh-* >=0.2.0-rc.1 <0.3.0; 已在 0.2.0-rc.2 上日常验证.
  • 会话区 "写入权限" tab: 列出本会话授权, 手动加临时可写根, 逐条撤回; 撤回后向会话投一条模型可见的通知, 空闲会话不唤醒.
  • README 安装节补上 web 与 desktop 两个 profile 的写法.

Breaking Changes

  • 引擎版本线: peerDependencies 与 devDependencies 由 0.1.7-rc.* 抬到 >=0.2.0-rc.1 <0.3.0. 迁移方式: 先把 DSH 升到 0.2.0-rc.1 或 0.2.0-rc.2; 仍在 0.1.7 引擎线上的部署继续用 v0.2.0, 不要升到本版.

Upgrade Notes

  1. 升级前确认引擎版本: 本版要求 @deepseek-ai/dsh-* 不低于 0.2.0-rc.1, 且仍在 0.2.x 上. 停在 0.1.7 的部署请继续用 v0.2.0; 更早的部署请继续用 v0.1.1.
  2. 从 GitHub 固定版本安装时把 tag 换成 v0.3.0; 走 releases/latest 的预构建包会在本 Release 发布后自动指向这一版.
  3. 升级后打开会话区的 "写入权限" tab, 确认本会话授权列表, 撤回与手动添加可用.
  4. 验证方式: 让模型写 .git 里的文件, 应当被拒; 在面板里手动加一条临时可写根后再写, 应当放行; 撤回后模型应收到通知, 再次写入应当被拒.

Features

  • 会话写入权限面板: POST /api/dsh-write-protect.grants, 一次请求一个动作: list 列本会话授权, add 手动加临时可写根, revoke 撤回并投通知.
  • 路径解析与硬保护复用模型申请那一套: 工作区内的目标记保护旁路 (writableOverrides), 工作区外记额外可写根 (writablePaths), 规则文件本身仍不受理.
  • 撤回通知走 agent.inject, 以 write-protect 来源与 notice 形态排进模型下一步, 空闲会话不唤醒; 消息按 user/message 落进会话日志, 所以 dsh 重启, 同一会话恢复后模型仍看得到.
  • client 半区注册会话区 tab (conversation.view, order 20): 列出授权与 maxGrants 占用, 逐条撤回, 手动加临时可写根, read-only 模式提示, 并如实显示通知是否投出.

Known Limitations

  • 授权仍是会话级内存态: 面板加的临时可写根与模型申请批准的一样, 不跨会话, 也不写配置; 重启 dsh 后消失.
  • 撤回不影响已经跑起来的命令: 命令侧的挂载与 profile 在启动时就定好了.

Full Changelog: v0.2.0...v0.3.0