ARTICLE · 1004294
在自己电脑跑爆火的AI,先装这 5 个插件,工作台才听话
上回装完 ModLens 我以为到头了。结果一查社区推荐列表,还有 4 个通用插件没装——然后我又在 PowerShell 里蹲了半小时
上篇文章写完 ModLens 之后,链接如下:
Deepseek Harness的模型看不见图,我给它装了双眼睛
我做了一件事:去翻 DSH 社区推荐的「普通用户通用插件」清单。
结果发现,除了 ModLens(读图),还有 4 个东西是社区公认「装了体验会好一大截」的:
at-file — 输入框里 @ 引用文件,不用手动贴内容
better-sidebar — 补官方右边栏缺失的文件树 / 终端 / Git 面板
memento — 跨会话记忆,本地 SQLite 存储
automation — 定时任务和一次性任务调度
四个都装上,DSH 才算从「能对话」进化到「能干活」。
我说行,那就装。
先让 DSH 自己去找
跟上次装 ModLens 一样,我没自己去 GitHub 翻。直接让 DSH 帮我搜:
安装 at-file / better-sidebar / memento / automation 以上四个技能
DSH 的反应很规范——先查本地(市场/技能库/插件库),没有再去社区找来源。

▲ 图1:让 DSH 自动搜索 4 个插件的来源——本地没有,去社区找
搜索结果出来了,一张表讲清楚:

▲ 图2:定位结果——4 个插件的包名和来源全部确认
at-file | @freespace8/dsh-at-file | ✅ 包名确认 |
better-sidebar | omdsh-dev/DSH-better-sidebar | ⚠️ npm包名待定 |
memento | dsh-memento | ✅ 包名确认 |
automation | @michengai/dsh-automation | ✅ 包名确认 |
三个绿一个黄。better-sidebar 的 npm 包名 DSH 一时没锁定,但 GitHub 仓库地址是准的,后面可以手动补。
到这里有个细节值得注意——DSH 插件和技能是两套东西。
技能是你丢进 skills 目录的 SKILL.md 文件夹,DSH 启动时自动识别。插件不一样,它是通过 pnpm add 装进 web profile 的依赖包,写进 dsh.profile.bundles 锁文件里,重启后才生效。
所以安装方式也不是 npm install -g 那套,而是要在 DSH 的 web profile 里用 pnpm 来加。
三行命令,自己终端跑
DSH 给了我三行命令,让我在自己的 PowerShell 里跑:

▲ 图3:DSH 生成的三行安装命令——PATH 设置 + pnpm 全局安装 + 插件注册
三行分别干的事:
第 1 行 — 把 WorkBuddy 自带 Node 目录加进当前 PATH(这样 pnpm 能找到)
第 2 行 — 用你的 npm 全局安装 pnpm(跟装 ModLens 同理,得用完整路径)
第 3 行 — 重跑插件安装(三个包:dsh-memento / @michengai/dsh-automation / @freespace8/dsh-at-file)
老读者看到这里应该熟悉了——又是沙箱无外网那套,跟 ModLens 一模一样的套路。复制粘贴到 PowerShell,回车。
第一坑:dsh-memento 下载中断
进展不错。pnpm 通了,at-file 和 automation 已经成功登记进 package.json 依赖。
但 dsh-memento 卡住了。
它在下载一个 11.18 MB 的安装包的时候网络报错——error (23)。重试了一次,这次更惨,下到 3.23 MB 就断了。

▲ 图4:memento 下载卡在 error(23)——典型 npmjs 连接不稳症状
原因很明确:我的网络连 npmjs 官方源不稳定。这是国内开发者的经典症状——不是你操作错了,是源本身就连不上。
解决办法:换国内镜像源。把 registry 从官方源切到 npmmirror(淘宝镜像),其他不变。
DSH 直接给了替换后的命令,核心就多了一个参数:
pnpm config set registry https://registry.npmmirror.com
复制粘贴重新跑。
第二坑:node-pty 原生构建被拦截
换了镜像源之后,memento 这次顺利下载完了(11.18 MB,done)。automation 也装上了。
但 better-sidebar 出了新问题。

▲ 图5:PowerShell 实际运行——memento 过了,但 better-sidebar 被 pnpm 拦截
报错信息是:
ERROR: pnpm failedgated binary scripts "node-pty@1.1.0" are not allowed to run.Run "pnpm approve-builds" to pick which dependencies should be allowed to run scripts.
这是什么意思?
better-sidebar 这个插件依赖一个叫 node-pty 的包。node-pty 不是普通的 JavaScript 包——它包含原生(native)C++ 代码,安装时需要在本地编译(build)。pnpm 的安全机制默认不允许原生包随便执行构建脚本,怕有风险,所以拦住了。
这跟前面的 EPERM 或 error(23) 都不一样。前面是环境和网络问题,这个是 pnpm 的安全策略主动拦截。
解决办法:批准 node-pty 的原生构建。两步走:编辑 pnpm-workspace.yaml 把 node-pty 设为 true(允许构建),重建 node-pty,然后重新注册 better-sidebar。

▲ 图6:最后一步——批准 node-pty 原生构建 + 重建 + 重新添加 better-sidebar
DSH 给了一整块命令,复制粘贴到 PowerShell 跑完。这次没再报错。
全部就位,4 个插件确认
最后回到 DSH 里确认一下——四个插件是不是真的都挂上了。

▲ 图7:bundle 锁确认——4 个社区插件全部登记在 dsh.profile.bundles 中
bundle 锁文件里的完整清单:
@deepseek-ai/dsh-base | ||
@deepseek-ai/dsh-web-app | ||
@freespace8/dsh-at-file | ||
@michengai/dsh-automation | ||
dsh-memento | ||
dsh-better-sidebar |
四个绿勾。全部登记进 bundle 锁。
最后一步:重启 DSH Web,插件生效。

▲ 图8:PowerShell 最终执行——4 个插件一条命令注册完毕
重启之后,DSH 页面右侧多了一整块东西。

▲ 图9:重启后效果——better-sidebar 生效了!右侧出现 Explorers 文件树面板
看右边。之前 DSH Web 的右边栏基本是空的,现在多了 Explorers 面板——文件树、Harnesses 目录、所有 .html 和 .mpdir 文件一目了然。这就是 better-sidebar 干的事。
一个插件装前装后对比这么明显,这钱(或者说这折腾)花得值。
这轮装完,DSH 多了什么能力
简单盘点一下这四个插件各自解决什么问题:
at-file — 解决「我想让模型看某个文件但不想手动粘贴全文」的问题。在输入框里 @ 文件路径,DSH 自动读取内容喂给模型。写代码、分析日志、对比配置文件的时候特别好用。
better-sidebar — 解决「DSH 右边栏太空了」的问题。官方 Web 版的侧边栏比较简陋,这个插件补上了文件树、终端面板、Git 状态——你在 VS Code 里习惯的那些面板,这里也有了。
memento — 解决「每次开新会话模型都不记得之前聊了什么」的问题。跨会话记忆存在本地 SQLite 里,不需要接外部服务,数据完全在你自己手上。
automation — 解决「我不想每次手动触发任务」的问题。定时执行、一次性延时执行,适合跑日报生成、定期资料整理这类重复性工作。
四个装完,DSH 从一个「纯对话工具」变成了一个有文件引用能力、有侧边增强、有记忆、有定时任务的「半 IDE」。
两轮安装下来我有一个感受:DSH 的社区插件不是「装上就能用的成品」,而是一组「有人维护、但需要你配合调试」的工具链。每次装新插件几乎都会遇到一个你没见过的报错——但每个报错的解法都在 DSH 的对话里能找到。这大概就是 v0.1 开发者预览阶段的真实体验。
几个值得记住的点
第一,国内开发者装 DSH 插件,镜像源几乎是必选项。
ModLens 那次我用的是 npm 官方源勉强过了(因为包小)。这次 memento 11.18 MB 的包直接断两次。换成 npmmirror 之后秒过。如果你也在国内装 DSH 插件,建议第一步就先切镜像源,别等报错了再换。
第二,pnpm 的安全机制比 npm 严格得多。
npm install -g 的时候原生包基本直接编译不问你。pnpm 默认拦截,要你手动 approve-builds。这对安全性是好事,但对第一次遇到的人来说会很懵——明明包名都对、源也换了,为什么还是装不上?答案就是这一层安全策略。
第三,DSH 插件和技能是两套体系,别搞混。
技能是 SKILL.md 文件夹,丢进去就能用。插件是 pnpm 依赖包,要写进 bundle 锁、重启才生效。装法不同,排查方式也不同。这次四件套全是插件,所以走的是 pnpm add 路线;上次 ModLens 我们走了技能路线(modlens-local)。两条路都能到目的地,但路口不一样。
本文基于真实操作截图撰写