在阿里云 ECS 上给 DSH Web 装批注插件

简介: 本文详解在阿里云ECS上部署DSH Web批注插件(@changfenhuang/dsh-annotation)的完整流程,涵盖Node 20+要求、新旧包名迁移、注册唯一性、systemd托管、安全组与反代配置等云环境特有问题,附四大典型排障指南。(239字)

在阿里云 ECS 上给 DSH Web 装批注插件

把 DSH Web 跑在 ECS 上的人,迟早会想让它能「选中一段话再提问」。选中批注(dsh-annotation)做的就是这件事,但云主机没有桌面会话、端口默认全关,装法与排障跟本地不同。

版本信息:npm 包 @changfenhuang/dsh-annotation 1.4.11(2026 年 10 月 1 日发布),MIT 许可,Node 需 20 以上,运行时零依赖。仓库 omdsh-dev/dsh-annotation 141 星,本站信任档位「已验证」。

动手前核对三样

一是 node -v 不低于 20。

二是包名代际:v1.4.2 起从 @omdsh-dev/dsh-annotation 换成 @changfenhuang/dsh-annotation,网上大量教程还写着旧名,照旧名装会落到改名前的版本。

三是宿主版本:侧边栏文件批注要 DSH 0.1.6-alpha.1,低于它只能批注助手回复。

安装与自检

dsh plugin --profile web add @changfenhuang/dsh-annotation
dsh --profile web --dump-config | rg "id: dsh-annotation"

第二条输出必须正好一行。前端是否加载成功,在浏览器控制台再核一次:

window.__DSH_BOOT__.entries.find(({ id }) => id === '@changfenhuang/dsh-annotation')

返回值要带 url 字段;dsh 0.1.2 起不再暴露旧的裸 per-plugin URL。

四个坑

坑一 · 旧包名还留在配置里

现象:重启时终端提示 @omdsh-dev/dsh-annotation,dsh web 起不来。

原因:包名在 v1.4.2 改过,~/.dsh/profiles/web 下还留着旧依赖与旧条目。

解决:先 dsh plugin --profile web remove @omdsh-dev/dsh-annotation 再装新包;若仍报旧名,只删 cordis.patch.yml 里那条用旧名的 stale 条目,新包会自己提供 @changfenhuang/dsh-annotation 条目。

坑二 · 同一个 id 注册了两遍

现象:启动告警,或装了却看不见入口。

原因:既用 dsh plugin add 注册,又手动往 cordis.patch.yml 里 insert 了同一个 id。

解决:只留一条路。dump-config 里这个 id 必须正好 1 行,多出来的那条手动条目删掉。

坑三 · npm install 之后插件没出现

现象:node_modules 里能查到包,界面上没有批注功能。

原因:npm install 只往项目里加依赖,不会注册进 DSH 的 profile。

解决:改用 dsh plugin --profile web add @changfenhuang/dsh-annotation,并删掉项目里那条多余的直接依赖。

坑四 · 重启命令照抄报错

现象:systemctl --user restart dsh-web 提示找不到单元。

原因:单元名随安装方式不同,一键包、手写单元、容器前台进程三者名字都不一样。

解决:先 systemctl --user list-units | rg dsh 查真实单元名。容器这类无服务管理器的环境通常不用重启,client.js 每次请求不走缓存,硬刷新(Ctrl/Cmd+Shift+R)即可。

云上四项特殊配置

安全组:只对公网放反向代理的 80/443,DSH Web 监听端口不开。从外部 curl 该端口应当超时,而不是返回页面。

回环监听:服务绑 127.0.0.1,由同机 Nginx 反代并补 WebSocket 的 upgrade 头,即使安全组误开也不在公网裸奔。

常驻:用 systemctl --user 托管时要配 loginctl enable-linger <用户名>,否则登录会话结束进程会被回收,这条在本地基本碰不到。

目录权限:~/.dsh/profiles/web 及其下文件要归运行 DSH 的普通用户所有。用 root 装完再切回来,root 生成的 cordis.patch.yml 普通用户读不了,表现是改了配置却不生效。

总结

坑一到坑四看着分散,实际都指向注册链路是否唯一这一件事;云上装它的难点集中在包名代际、注册路径与进程托管三处,装完用 dump-config 与浏览器控制台各核一次即可定性;想对照同类插件的中文清单与安装形态,见 DeepSeek Harness Hub 插件清单。

适合与不适合

适合:DSH Web 已跑在 ECS、用 Nginx 反代的团队;多人共用一台实例、只有管理员能改配置的环境;从旧包名时代延续下来的存量部署;宿主在 0.1.6-alpha.1 以上、想连工作区文件一起批注的场景。
不适合:仍在 dsh 0.1.2 之前又不便升级的实例,前端加载路径与现在不同;容器托管但完全不能改启动参数的部署;想要服务端能力(归档、同步、审计)的团队,它是浏览器侧实现,不提供这些。

标签:选中批注、DeepSeek Harness、部署教程

本文由 DeepSeek Harness Hub 自动整理,数据来源于插件详情页。

目录
相关文章
|
云安全 安全 网络安全
|
4天前
|
JavaScript 安全 前端开发
Nodejs Brotli decoder 代码执行漏洞 (CVE-2026-111497)10629
Node.js发布安全更新修复Brotli解码器高危RCE漏洞(CVE-2026-111497),建议受影响版本用户立即升级。
1865 1
|
10天前
|
人工智能 API 开发工具
DeepSeek Harness 神插件:白嫖 13 家大厂模型
`dsh-our-free-model` 是 DeepSeek Harness 神级插件:零配置、零API Key、零账号,聚合13家大厂免费模型(含DeepSeek V4.1 Flash、Kimi K3等),支持本地网关、用量看板与自动降级,真正实现“白嫖即用”。
1738 37
|
4天前
|
安全 应用服务中间件 Go
PHP2Shell 漏洞拆解:WordPress 与 nginx 为何中招
PHP2Shell 双 RCE 已遭在野利用:WordPress、Drupal 全在射程内,nginx 其实另有洞。拆成因与修复顺序
PHP2Shell 漏洞拆解:WordPress 与 nginx 为何中招
|
7天前
|
Web App开发 人工智能 前端开发
2026 年 AI 浏览器怎么选?Ego Lite、Tabbit、Chrome DevTools MCP 深度对比,开发者到底该用哪个?
2026年AI浏览器选型指南:Ego Lite专注多Agent协同(Mac优先),Tabbit国产首选,原生支持Windows与Codex控制;Chrome DevTools MCP非浏览器而是开发者利器,深度集成Console/Network/Performance调试能力,让AI真正“看懂并验证”前端代码。
1046 2
|
12天前
|
安全 Linux 芯片
【万字长文】Ollama下载、安装、配置、使用保姆级教程(2026最新图解)
Ollama 是一款免费开源的本地大模型运行工具,支持 DeepSeek、Qwen 等主流模型,一条命令即可下载运行。2026 最新版 v0.35.1 官方安装包(1.47GB)已提供国内直连下载,纯本地、离线可用、无广告、无隐私泄露风险。
1095 2
|
11天前
|
JSON 程序员 数据格式
最新版Notepad++下载、安装、配置保姆级教程(附官网安装包)
Notepad++ 是一款免费开源、轻量快速的 Windows 文本编辑器,支持多标签、语法高亮、代码折叠与宏录制,体积小、启动快、资源占用低,兼容 x64/x32/ARM 架构,是程序员和文字工作者的高效利器。
1349 0
|
15天前
|
存储 人工智能 安全
千问办公官网入口网页版登录:qwenwork.cn 注册送2000积分、登录送100积分
阿里云千问办公(QwenWork)是AI智能工作平台,支持一句话生成PPT、表格、网页、视频及数据分析。个人免费版送2000积分+每日登录赠100分,含1GB存储、5个发布页;企业版198元/席/月起。阿里千问办公QwenWork官网:https://t.aliyun.com/U/0VCTGt 阿里AI工作平台,一句话完成数据分析、PPT 生成、视频剪辑、网页搭建等复杂任务
|
10天前
|
人工智能 开发者
Qoder CN 大使计划正式开启|无限创造,等你一起
全年免费积分、优先内测、活动支持与更多共创机会,邀请用 Qoder 把想法变成现实的你。
673 6