yyyyolo7a79-sketch/dsh-auto-and-safety ↗★ 2
dsh-auto-and-safety
为 DeepSeek Harness (DSH) 新增 auto-and-safety 权限预设:继承 danger-full-access 全部文件权限,但禁止一切删除文件行为;任务完成后须向用户列出待清理文件(名称 + 完整路径 + 用途),获明确批准后才可删除
AI 分析
用于在保留高权限的同时防止文件被误删。适合对数据安全要求高、需要严格控制文件删除行为的 DSH 用户。安装时需手动合并配置文件。
インストール
検証済み bundle がないか、互換性チェックに失敗しています。先にリポジトリの説明を読んでください。 README 全文を読む ↗
ドキュメント
README 全文を読む ↗4.1 预设表配置(cordis.patch.yml 片段)
- id: permission
config:
presets:
read-only:
sandbox: read-only
approval: ask
workspace-write:
sandbox: workspace-write
approval: ask
danger-full-access:
sandbox: danger-full-access
approval: never
auto-and-safety:
sandbox: danger-full-access
approval: ask
name: auto-and-safety
description: 继承 danger-full-access 的全部文件权限,但禁止一切删除文件的行为;任务完成后向用户询问是否删除任务产生的临时/冗余文件(指明文件与位置),批准后才可删除
- insert:
- id: auto-and-safety
name: ./plugins/auto-and-safety/lib/index.js
⚠️ 因为是整行替换,必须写全全部四个预设,漏掉任何一个都会使它在权限选择器中消失。
③ 验证生效(配置走 HMR 热重载,通常无需重启;若权限选择器无新选项则重启 web)
dsh --profile web --dump-config | grep auto-and-safety
**方式 B:`dsh plugin` 命令安装(装进 profile 的 node_modules,pnpm 方式)**
```bash
## 6. 使用流程(与演示截图对应)
| 步骤 | 动作 | 截图 |
|---|---|---|
| 1 | 权限栏出现新的 `auto-and-safety` 预设 | `docs/权限栏新增.png` |
| 2 | 任务完成后,agent 用 `ask_user_question` 列出临时文件(名称 + 路径 + 用途)询问 | `docs/拦截演示1.png` |
| 3 | 选择框选择 ≠ 批准,删除命令被硬拦截,要求对话内文字明确批准 | `docs/拦截演示2.png` |
| 4 | 用户对话回复"批准删除/可以删除/删除吧"等批准短语 | `docs/拦截记录/session.jsonl` |
| 5 | agent 重试删除命令 → 拦截器检测到最近用户消息含批准短语 → 放行,删除成功 | `docs/批准后成功删除.png` |
### 演示截图
**① 权限选择器:新增的 `auto-and-safety` 预设(当前已选中)**

**② 任务完成后,agent 列出临时文件询问用户是否清理(ask_user_question)**

**③ 选择框选择不算批准,删除命令被硬拦截,要求对话内文字明确批准**

**④ 用户在对话中回复"批准删除"后,删除执行成功**

---