前言¶
DeepSeek Harness(DSH)Desktop 会在本机保留对话与会话内容。离开工位、合盖再开、或长时间不碰客户端时,单靠 macOS 登录态并不能区分「机主本人」和「顺手点开 DSH 窗口的人」。社区插件 dsh-lock 在 DSH 界面之上叠加锁屏:进程重启或超过 48 小时未验证会再次要求解锁;可选 Touch ID / Mac 登录密码(经系统面板),或使用插件自设的解锁密码。下面介绍它是什么、如何安装,以及使用时需要清楚的边界。
这是什么¶
dsh-lock 是维护者 SeyanaA 发布的 DSH 本地 bundle 插件,分类为 admin-security,当前 README 标注最新版本 v0.1.8(macOS 26 Liquid Glass 风格 UI)。它只面向 macOS,依赖 DeepSeek Harness Desktop ≥ 0.2.0-rc.1;密码哈希等状态写在 ~/.dsh/dsh-lock/state.json(权限 600),不读取会话内容、不发起网络请求。
核心功能¶
何时会锁¶
| 条件 | 说明 |
|---|---|
| 每次启动 DSH | 进程启动即锁定 |
| 48 小时未验证 | 已解锁超过 48 小时,下次打开或状态轮询时重锁 |
| 手动锁定 | 设置 → 安全锁定 → 立即锁定,或会话头部右上角锁形按钮 |
如何解锁¶
- 插件解锁密码:首次访问强制设置,至少 4 位、内容不限,与 Mac 登录密码无关。
- 本机解锁(默认开启,可在设置里关):轻触锁屏空白处、按一次 Enter,或点「本机解锁」,由 macOS 系统验证面板完成——可用 Touch ID,也可在面板里输入 Mac 登录密码。插件统一标注「本机解锁」,不区分指纹与 Mac 密码;验证必须由系统面板触发,无法后台「零交互」读传感器(Apple 对第三方应用的限制)。
- 独立应用锁(可选,默认关):在
设置 → 安全锁定开启后,只认插件解锁密码,本机指纹与 Mac 登录密码均不能解锁 DSH,适合希望 DSH 内容与 Mac 凭据隔离的场景。
连续输错插件密码 5 次会进入冷却(30 秒起、逐级翻倍)。忘记插件密码可在终端执行重置脚本,恢复默认密码 4396(见下文)。
界面与配置¶
锁屏与设置页采用 macOS 26 Liquid Glass 视觉(半透明材质、胶囊输入框等);解锁成功有两种动画与文案(本机解锁 / 插件密码)。配置集中在 设置 → 安全锁定:改密码、本机解锁开关、独立应用锁、立即锁定、查看重置命令及锁定规则说明。
环境要求¶
- macOS(README 写明在 macOS 27 / Apple Silicon 上验证;建议有 Touch ID 的 MacBook,无 Touch ID 也可仅用插件密码)。
- DeepSeek Harness Desktop ≥ 0.2.0-rc.1。
- 本机验证依赖预编译的
bin/dsh-auth-helper(arm64);Intel Mac 可用scripts/build-helper.sh重新编译(需 Xcode Command Line Tools)。
安装与启用¶
插件以本地 bundle 装进 DSH profile(默认 desktop)。官方 README 未提供 dsh plugin add github:... 一类命令;请按仓库说明操作。
方式一:通过 DSH Agent(推荐)¶
先把插件目录放到固定路径(安装后不要移动;也可从 Releases 解压 zip)。README 示例为 clone 到用户目录:
git clone https://github.com/SeyanaA/dsh-lock.git ~/dsh-lock
在 DSH 新对话中对 Agent 说明(路径换成你的实际路径):
把
/Users/你的用户名/dsh-lock作为本地插件安装到当前 profile。
若界面未立刻变化,完全退出并重新打开 DeepSeek Harness。
方式二:手动安装¶
- 将插件目录放到例如
~/.dsh/local-plugins/dsh-lock。 - 编辑
~/.dsh/profiles/desktop/package.json:在dependencies增加"dsh-lock": "link:/Users/你的用户名/.dsh/local-plugins/dsh-lock",在dsh.profile.bundles追加"dsh-lock"。 - 在 profile 目录执行
pnpm install(或 DSH 自带 pnpm),重启 DSH。
安装前建议浏览 GitHub 仓库 源码与 MIT 许可证;插件以当前 DSH 进程权限运行,与任何社区插件一样,信任边界需自行评估。
典型用法¶
首次打开¶
重装或首次启用后,界面被锁屏覆盖,需设置插件解锁密码(≥ 4 位)。若本机可用 Touch ID,插件会自动启用本机解锁(可在设置中关闭),设置完成即进入正常使用。
日常解锁¶
锁屏不会自动弹出系统验证窗口。可:
- 输入插件解锁密码并回车;或
- 轻触空白 / Enter /「本机解锁」唤起系统面板,用 Touch ID 或 Mac 登录密码。
取消面板后可再次唤起,或改用插件密码。
一键锁定¶
会话头部工具区最右侧锁形按钮:点击后立即锁定并显示锁屏。
忘记插件密码¶
在终端执行(路径以你实际安装为准;设置页「忘记密码」也会显示命令):
~/.dsh/local-plugins/dsh-lock/bin/reset-password
成功后提示默认密码 4396。回到 DSH 输入 4396 解锁,再到 设置 → 安全锁定 修改密码。原 state.json 会先备份为带时间戳的 .bak 文件。
适用场景与注意¶
适合:在共享办公、演示或临时离席时,防止他人直接浏览 DSH 里的对话与配置;需要与 Mac 登录凭据隔离时,可开独立应用锁,仅依赖插件密码。
边界(README 安全设计章节):
- 这是应用内 UI 锁,不是 FileVault 或磁盘加密;能登录 macOS 并在终端执行命令的人,可通过重置脚本恢复默认密码——这是找回密码的设计代价。
- 独立应用锁挡的是「知道 Mac 密码 / 能过 Touch ID 但未知 DSH 插件密码」的应用层越权,不防磁盘取证。
- DSH 其它本地接口不在本插件保护范围内。
卸载:让 Agent 对 dsh-lock 调用 remove_bundle,或手动从 profile 的 package.json 移除引用并 pnpm install 后重启;可选删除 rm -rf ~/.dsh/dsh-lock。
结尾¶
dsh-lock 在 DSH Desktop 上补了一层可配置的本地重认证:重启与 48 小时规则、插件密码与本机系统验证、设置页与一键锁定,数据仅在本机 scrypt 哈希存储。DSH 生态强调「一切皆插件」;社区目录 skillhub.cn 上的 dsh-lock 页 与 GitHub 仓库 为独立维护入口,与 DeepSeek / 幻方无官方从属关系。需要 macOS 锁屏能力时,按 README 以本地 bundle 安装并先在 设置 → 安全锁定 完成首次密码设置即可。