在阿里云 ECS 上跑 DSH Web 与 anime-find:出网、镜像与端口三件事
在 ECS 上装这个插件,命令只有一行,麻烦都在命令之外:能不能出网、安全组放不放行、装完浏览器看到的是不是新进程。
运行时先到 Node 22
README 要求 Node.js 22 或更高,且面向 DSH Web。先确认 node -v,这个 shell 要和启动 dsh web 的同一个——用 nvm 或 fnm 切过版本,PATH 不同,拿到的 Node 也不同。
node -v
npm -v
镜像自带版本低于 22,先升级再装。
安全组只放行 DSH Web 的端口
入方向按最小集写:22 只对运维网段开放,DSH Web 端口只对办公网段或内网开放,其余不加,别写成 0.0.0.0/0。
一条部署前提:DSH Web 不是设计给公网裸奔的。它是本机或内网里的工作台,直接映射到公网,插件能读写本地文件这件事就从理论风险变成实际暴露面。稳妥做法是只在内网使用,或放在隧道、反向代理之后。
站点对插件的扫描结论是 🔵 含敏感能力(读写与删除本地文件 + 写剪贴板 + 发起外部网络请求),尚无人工评估,站点也未做风险分级。安全组是网络层边界,不替代应用层鉴权。
出网要覆盖三个来源站与 Bangumi
启用来源后,插件会向 Mikan、AniBT、AnimeGarden 发搜索与详情请求;有 Bangumi subject ID 时还会经 Host 请求 Bangumi。封面由插件服务转发,同样要出网。
走 NAT 网关的实例,先确认 NAT 规则覆盖这些域名,DNS 能解析。出方向被收窄过就把 443 补回去。来源站可用性不由插件保证,通网不等于站点在服务。
安装只用 npm 包名
dsh plugin --profile web add @cocofhu/anime-find
四个坑里有三个在安装前后。
坑一 · 用 git 源安装,pnpm 拦住 prepare
现象。 安装中断,日志出现 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED。
原因。 用 github:cocofhu/anime-find、git+https://… 或旧包名安装走的是 git 源。仓库不含 lib/,要靠 prepare 生成,而 pnpm 默认拦截 git 依赖的该脚本。插件中心可能默认走 git 源。
解决。 改用 @cocofhu/anime-find 重装,旧包名已经迁移。
坑二 · 没重启也没硬刷新,页面停在 Loading plugins
现象。 退出码是 0,刷新后一直 Loading plugins,插件配置里也没有搜番。
原因。 前端读的是 dsh web 启动时的插件清单,进程没重启就不会加载新包;浏览器缓存也会继续用旧资源。
解决。 重启 dsh web,再强制刷新,两步都要做。
坑三 · 把 missing peer 当成安装失败
现象。 日志出现 missing peer @deepseek-ai/... 或 react 的警告,插件中心标成失败。
原因。 这些 peer 由 DSH Web 宿主提供,profile 不安装,属预期警告;中心可能把 pnpm 警告当成失败。
解决。 看退出码,0 就重启使用。中心仍报失败,去看 ~/.dsh/profiles/web/hub.log 的真实错误行,别照着警告补装 peer。
镜像与代理:mediaHosts 是白名单
站点地址可以换镜像,在插件设置里改。换完要同步两件事:出网白名单加新域名;确认镜像页面结构仍能被规则解析。
媒体请求只代理到已启用规则的域名和 mediaHosts 声明过的域名;私网、回环、链路本地地址始终拒绝。mediaHosts 是白名单,不是打开代理的开关。
坑四 · 媒体在站外 CDN,没声明就播不了
现象。 资源列表正常,切到流媒体选集后一直转圈,媒体请求被拒。
原因。 分片在站外 CDN,没写进 mediaHosts 的域不会被解析或放行。
解决。 把承载分片的 CDN 域名补进去,确认它属于该站点。别加无关域名,白名单越宽,代理面越大。
mediaHeaders 只作用于媒体请求,值留空表示不发送该头;键名含点会被当成域名,只对该域及其子域生效。同一站点的不同 CDN 要求可能相反:有的必须带 Referer,有的带了报错。
总结
顺序是「Node 22+ → 安全组只放行 Web 端口 → 出网覆盖三个来源站与 Bangumi → npm 包名安装 → 重启强刷 → 补 mediaHosts」。
适合与不适合
适合:自己管 ECS、能把 Web 端口收进内网或隧道后的团队;需要固定一台机器长期跑 DSH Web 的人;习惯把检索结果留在会话里的个人用户。
不适合:只能公网直连 Web 端口又不接受隧道或反代的场景;Node 停在 20 及以下且无法升级的环境;期待插件自带片源、或要求来源站长期稳定的人。
标签:dsh-plugin-anime-find、DeepSeek Harness、阿里云 ECS 部署
本文由 DeepSeek Harness Hub 自动整理,数据来源于插件详情页。