✏️ 虾姐写在前面:

这两天玩了一下开源的yue2音乐大模型,感叹真的是翻唱自由了,这是我用薛之谦的歌曲演员,然后让豆包给我改编的歌词,用本地开源大模型yue2演唱的,效果真心不错哈!
工作流分享一下,有兴趣的朋友可以体验一下
Yue2 三合一音乐工作流实操,音乐创作、纯音乐、歌曲翻唱分享
工作流和模型下载:https://pan.quark.cn/s/158e985f3599
前阵子 DeepSeek 那个 Harness 火起来,虾姐没急着在电脑上装,先干了一件更实在的事——把它用 Docker 挂到家里那台 NAS 上,跑了两个礼拜。
理由跟之前折腾红警服务器一模一样:它本身就是个浏览器界面,只要那台机器二十四小时开着,虾姐在手机上、客厅的平板上、公司电脑上,打开同一个地址就能接着同一个会话往下聊。不用每台设备都装 Node、装环境、重新配 Key。
第一个礼拜,虾姐往上装了十五个插件。第二个礼拜,删掉了九个。
不是插件不好。是虾姐发现了一件原文没提、但每个想装的人都该先知道的事:这十五个里,有的在帮虾姐省钱,有的在替虾姐花钱;有两个在抢同一件事干,导致它每一轮都在犹豫该用哪个;还有一个,差点让虾姐把家里的 3080 端口留在了公网上。
先把这东西是什么说清。DeepSeek Harness,缩写 DSH,DeepSeek 官方出的开源 agent 框架,MIT 许可,现在是开发者预览阶段,版本跑到 0.2.2-rc.1。
它的架构一句话——一切皆插件。这句不是广告词。它的插件市场是插件,右侧边栏是插件,连你看到的这个对话界面本身,都是插件拼出来的。所以理论上除了内核,你看到的一切都能换。
社区管它叫「大肥鱼」,因为那个图标。这名字在 B 站已经火了,你要是在别的文章里看到「养鱼」,说的都是同一件事。
规模也是真的大。有媒体统计过日活一百五十多万、一天烧掉九十多万亿 token、六成用户在自己写插件。这些数字虾姐没法核实,但有一个能核实:打开插件市场,顶上写着「全部(9.1k)」,旁边还有一行小字——已隐藏 617 个与当前版本不兼容的插件。

九千多个装不完,还有六百多个你当前版本压根装不了
所以「先逛市场、看到喜欢的就装」这个动作,本身就是错的。它给的是一份没有成本标注的清单。
为什么值得挂 NAS 上,虾姐只说三条。
第一,省掉的是「每台设备配一遍」。台式机、笔记本、平板,谁都不用装 Node,浏览器打开 http://NAS的IP:3080 就是完整界面。家里设备多的人能省下不少事。
第二,容器把它关起来。Node 版本、全局包、运行环境全在镜像里,宿主机干干净净。DSH 属于那种「会执行命令」的工具,关在容器里,至少它动不到你 NAS 的系统盘。
第三,会话在服务端。你在手机上说了一半的需求,回电脑上接着改,上下文还在。这个体验,跟每台机器各开一个新会话,差别很大。

浏览器里就是完整界面,右侧那一栏工具也是插件拼的
装法很简单。飞牛 Docker → 创建项目 → 来源选「创建 docker-compose.yml」,把下面这段贴进去。
services: dsh: image: node:22-slim container_name: dsh user: "1000:1000" ports: - "3080:3080" # 只在内网用 volumes: - /vol2/1000/docker/dsh/data:/data/dsh # 会话/插件/配置 - /vol2/1000/docker/dsh/workspace:/workspace environment: DSH_HOME: /data/dsh # 不设就白装 command: > sh -c "npm i -g @deepseek-ai/dsh@0.2.2-rc.1 && dsh web --host 0.0.0.0 --port 3080 --no-open" restart: unless-stopped
四个地方值得多说一句。
版本号必须写死。@0.2.2-rc.1 这段别省。省略了,每次重启它可能拉到新版本,而插件是跟着版本走的——上面那 617 个不兼容的,就是这么来的。
DSH_HOME 必须指到挂载卷。不设的话,插件和会话会写进容器临时路径,docker compose down 一下就全没了。虾姐第一次装就踩了这个,重装才发现插件列表是空的。
--host 0.0.0.0 不能省。容器内不监听全网卡,宿主机就访问不到,表现是「日志正常、浏览器打不开」。
workspace 只挂你愿意让它动的目录。别图省事挂整个 /vol2。它会读、会写、会执行命令,你挂多大,它的手就有多长。
第一次启动要拉 Node 镜像和 npm 包,三到五分钟正常。日志里出现监听地址才算好。然后浏览器打开,两件事必做:设置 → 模型,填 DeepSeek 的 API Key;再点「选择工作区」,把刚挂的目录加进去并且点选它——不点选,输入框一直是灰的,很多人卡在这一步以为坏了。
好,现在可以装插件了。虾姐的建议是分三档,第一档只有三个。
dsh-market,插件市场本体。安装一条命令,重启后从「设置 → 插件市场」进:
dsh plugin --profile web add dshmarket
它本身算不上能力。但没有它,你只能在 GitHub 里一个个翻仓库、复制安装命令、回终端粘、重启、发现版本不兼容。这个流程走两遍你就烦了。
dsh-context,上下文面板。它把当前会话拆开给你看:系统提示占多少、你说的话占多少、工具返回占多少、哪一块在膨胀。DSH 有个很典型的现象——同一个需求,开头说得清清楚楚,改到第五轮它开始忘。这个面板能告诉你,是文件读太多,还是某个工具每次都返回一大段结果。看完你能做决定:缩小读取范围,还是把这件事拆出去单独开一个会话。
cc-safety-net,命令护栏。这个虾姐认为比前两个都重要。它在命令执行之前检查:git reset --hard、强推、指向危险目录的 rm -rf、curl 拉脚本直接跑,全部拦下来;读 SSH 私钥、读 .env 这类操作也一并看住。包装命令、换参数、改写法,都躲不过去。

同一条命令,左边放行、右边拦下,中间那层就是它
为什么这一个必须装,得先想明白一件事:装一个插件,等于给它三把钥匙。

读文件、跑命令、花 token——三样都是你的
插件不在沙箱里跑,它和你自己敲命令的权限一模一样。DSH 官方在仓库里专门挂了一份安全声明,大意是这个项目处于开发者预览、没有经过安全审计、会执行模型生成的代码、会加载第三方插件、能访问网络和凭据。它自己把这叫实验性软件。
所以「这个插件要不要装」这个问题,翻译过来是——你愿不愿意让一份没读过的代码,用你的权限在 NAS 上跑。
第二档,按需装,别一次全上。
billion-context,上下文压缩,目前周下载排第一。它夹在 agent 和模型 API 之间,把已经用完的历史折叠成分层摘要,需要细节时再解开。它最在意的是「不破坏缓存前缀」——因为一旦历史被重写重排,缓存全废,反而更贵。
效果是可以量化的。虾姐这台机器上跑了一段,统计面板长这样:

五百多次请求、缓存命中 96%、压缩省下 6330 万 token
五百多次请求、输入 2880 万 token、缓存命中 96%、压缩省下的部分 6330 万。底下那条红线是上下文窗口上限,折线一直在天花板下面锯齿状爬升——每次快碰到上限就跌回来一截。这个形态说明它是真在工作,不是装个样子。
dsh-better-sidebar,右侧多一栏:文件树、编辑器、改动、任务。它还对外提供注册接口,别的插件可以往里挂自己的标签页。
dsh-knowledge,本地知识库。文档、目录、网页都能导进去,纯本地召回不联网。适合那种「项目文件里明明写清楚了限制,它张口就来一个可以」的场景。
第三档,这几类别装,虾姐替你踩过了。
功能重叠的,只留一个。装两个都能出 PPT 的,或者两个都能开浏览器的,结果不是双保险,是模型每轮都在纠结该调哪个。这比一个都不装更糟。
改模型行为边界的那一类,不展开。社区里对这类插件有个说法,虾姐这篇不推荐,也不写用法——风险得自己担。
README 里只有功能、没有成本说明的,不装。这条是虾姐删插件删最多的原因,下面细说。

装之前至少看一眼:谁写的、装了什么、从哪来
上面这张是 dsh-find-plugins 的详情页,能看到版本、它包含哪些组件、运行状态、代码来源。虾姐的习惯是问三个问题:谁写的、它调不调外部服务、它自己会不会额外烧 token。
第三个问题最容易被忽略,也是虾姐删插件删最多的原因。
社区里有过反馈,某些带搜索能力的插件,单次调用可能吃六万到二十五万 token,一次响应超过一百万 token 的情况也有。这不是官方平均值,是具体用户在自己会话里看到的数字。但道理很简单——插件在后台多调一次模型、多请求一次搜索,那些结果又作为工具返回塞进后续上下文,每一轮都在重发上一轮的搜索结果。
一个插件帮你省 token,另一个插件偷偷烧 token,这就是现在的生态。
虾姐的实际感受:同一段长会话,装了压缩插件之后缓存命中稳在 95% 以上,同样的输入量,费用差一个数量级。反过来,删掉的那个搜索类插件,装上的三天里账单明显比之前跑得快。
另外几个坑,要提前说。
一、3080 没有登录页。这条最重要。dsh web 不设账号、不设密码,唯一的凭据是启动时打印的那个带 token 的地址,而端口本身是不设防的。也就是说,只要你把 3080 映射到公网,任何能连上这个端口、又拿到那个地址的人,就能在你的机器上执行命令。
稳妥的做法只有两条:只在内网开,或者在外面套一层带认证的反向代理。社区有做密码门的插件,但记住一件事——它第一次启动时密码是空的,谁先打开谁就能设,别在公网上做第一次设置。
二、反向代理少一行配置,页面能开但永远不动。用 nginx 反代的话,这三样必须写:proxy_http_version 1.1 加 Upgrade 和 Connection 两个头(WebSocket 握手)、proxy_buffering off、proxy_read_timeout 3600s。少了它们,浏览器能打开界面,但发消息没有任何回音。
三、插件装错地方,重启就没了。前面说过,DSH_HOME 不设就白装。判断方法很简单:docker compose down 再 up,回来看看插件列表还在不在。
四、桌面端和 web 不互通。你在命令行往 web 这个 profile 装的插件,装在 Windows 桌面版上看不到,反过来也一样。两套独立环境,别互相找。
五、它还在开发者预览。README 用大写字母写着会有破坏性变更。意思是某天更新之后,你的插件可能集体失效。所以版本写死,别追新。
虾姐总结一下。
家里有台常年开机的 NAS,设备不止一台,想让一个「会干活的 agent」服务全家——DSH 值得装。它最舒服的地方不是插件多,是你只需要维护一份环境,剩下的交给浏览器。
只在一台笔记本上偶尔用用——装桌面版就行,别为了挂 NAS 绕这一圈。
指望它开箱即用、装上就能替你干正经活——现在还不行。它是开发者预览,插件质量参差不齐,一半时间你在调它,不是它在替你干活。
至于那九千多个插件,虾姐的建议是:先把门堵上,再装三个底子,剩下的用到一个装一个。插件市场是给会挑的人准备的,不是给会装的人准备的。
你现在 DSH 上装了几个?有没有那种装上就再也没打开过的?评论区说一个,虾姐看看是不是同一个。





