Repository navigation
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
- 升级前确认引擎版本: 本版要求
@deepseek-ai/dsh-*不低于 0.2.0-rc.1, 且仍在 0.2.x 上. 停在 0.1.7 的部署请继续用v0.2.0; 更早的部署请继续用v0.1.1. - 从 GitHub 固定版本安装时把 tag 换成
v0.3.0; 走releases/latest的预构建包会在本 Release 发布后自动指向这一版. - 升级后打开会话区的 "写入权限" tab, 确认本会话授权列表, 撤回与手动添加可用.
- 验证方式: 让模型写
.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