这一篇解决三个实际问题:**怎样不碰自己现有配置地练习、怎样只读后再允许修改、怎样判断一个操作是否真的受限。**示例使用下载包中的采购合计项目,不用生产仓库做权限实验。
DSH 官方将项目标为开发者预览,明确说明审批和沙箱不能保证完全隔离。下面的独立 home 是配置隔离,不是虚拟机或系统安全边界。
用独立 DSH home 隔开练习配置
普通启动通常复用现有 DSH home。如果你是深度用户,已有模型、插件和会话,练习时可以显式指定一个新目录。先解压 练习包,进入其目录。
**macOS / Linux:**下面只给这条启动命令传变量,不修改 shell 的全局配置:
DSH_HOME="$PWD/.dsh-home-lab" npx @deepseek-ai/dsh@0.1.2-rc.1 web --no-open --port 3088
**Windows PowerShell:**在专门的练习终端中执行:
$env:DSH_HOME = Join-Path (Get-Location) ".dsh-home-lab"
npx.cmd @deepseek-ai/dsh@0.1.2-rc.1 web --no-open --port 3088
该 PowerShell 变量对当前终端及其子进程有效,关闭这个专用终端即可结束这一环境设置。不要在已经有重要环境变量安排的终端里盲目覆盖。
**应该发生:**新 home 中初始化自己的配置和会话数据,首次打开可能重新出现引导,需要重新配置模型。**不会发生:**自动把模型限制在某个文件夹,也不会把进程变成容器。因为 home 放在练习目录中,不要把整个目录打包公开或提交 Git;其中后续可能含凭据和会话。
本站验证时使用了另一个独立临时 home,并额外清空了继承环境,只提供实验必需变量。一般用户不必照抄内部实验路径。
当前会话与默认设置,分两处改

设置 → 通用设置 → 权限决定之后创建的新会话默认模式。它不会立即把你正在使用的会话变成只读。
要改变当前会话,在输入区调用:
/permission
按弹出的列表选择。当前源码与中文界面提供的内置显示名称包括“仅可查看”“工作区内修改”“完全权限”。直接带参数的命令也存在,但教程优先用选择器,避免拼写和版本差异。
若某个自定义组合没有挂载权限相关能力,入口可能不存在;不能因菜单没有出现就断定“默认完全允许”。检查你的 profile/preset 和官方对应说明。
三种模式怎样用于这个练习
| 目标 | 适合的起点 | 要亲自检查什么 |
|---|---|---|
| 只读代码、理解错误 | 仅可查看 | 实际文件是否仍与原包一致 |
| 修复练习中的 budget.mjs | 工作区内修改 | 文件范围、工具结果、测试输出 |
| 遇到不认识的限制 | 先排查原因 | 不直接升级为完全权限 |
“工作区内修改”是策略意图,具体文件、进程和网络能力仍依赖运行环境与实现。本文没有把不同操作系统上的隔离实现全测一遍。
做一次受控的只读练习
- 新解压一份材料,记下原
budget.mjs内容。 - 选择练习工作区,在当前会话用
/permission选只读。 - 发送:“只读取 budget.mjs,说明错误,不修改。”
- 看 read 结果是否包含实际函数,再打开文件确认没有变化。
- 如果希望观察限制,再要求它修改同一文件,查看是否被拒绝或需要确认;不要预设一定有某种弹窗。
这一步的验收不是“修改成功”。当限制阻止写入时,文件不变、模型准确说明未修改才是符合预期的结果。不同工具/组合的实际行为有差异,应记录真实现象。
真正要修改时再授权
通过当前会话的 /permission 调整为适合该练习的模式,然后发出明确任务:
只修改当前练习目录的 budget.mjs,修复单价没有乘数量的问题。
不要修改测试、安装依赖或访问其他目录。
修改后说明实际结果;若执行受限,报告限制,不绕过它。
如果工具请求审批,逐项看:操作对象、具体命令或替换文本、工作目录、是否需要额外网络/系统权限。对本练习而言,安装全局软件、访问私人目录都不属于必要步骤。
allow、ask、deny 不等于三条固定任务阶段
- **allow:**当前管线允许继续,执行器仍可能因文件不存在等原因失败。
- **ask:**当前操作需要一个确认结果,然后再决定是否执行。
- **deny:**本次调用不执行,错误/拒绝结果仍应回到后续处理。
权限判断发生在相关操作的执行路径上,不是模型每次都先开一轮审批对话。确认一次也不能自动理解为以后所有操作都获准。
如果改错了,如何恢复本次练习
先停止继续操作,打开 budget.mjs 确认实际内容,再运行测试。只在确认你操作的是可丢弃练习副本时,从原 ZIP 解压一份到新目录继续,这比直接清空配置更安全,也保留排错证据。
有 Git 的项目应先看差异再决定恢复哪些文件,不在教程里给所有读者一条抹掉未提交改动的命令。
插件和 Skills 的边界也要看清
Skill 通常提供方法和材料;插件可以执行代码并扩展运行能力。安装插件之前要检查来源、版本、依赖和安装脚本。目录收录、包名带 DSH 或高 Star 数,都不是审计结论。
添加一次扩展就做一次基线复测:文本请求、文件读取、练习修改、独立测试。出现问题时,才知道最近引入了什么变化。
结束前的检查表
- 当前会话的权限与你的目标一致,而不是只改了未来默认值。
- 练习结果由文件和测试确认,未靠聊天结论代替。
- 独立 home 没有被作为练习资料上传或提交。
- 停止服务后确认进程退出;不把关闭标签当成停止。
- 如果确实暴露了凭据,通过提供方账户入口撤销或轮换,而不是把密钥发给模型检查。