插件目录 / Developer / dsh-reloader
dsh-reloader
已验证 · 实测可装 lin-cheng-lab
功能简介
DSH 一键重启:装完插件说一句 reload 就自动重启生效,不用手动 Ctrl+C 🔄
可用 — 实测通过,早期项目
DSH 一键重启:装完插件说一句 reload 就自动重启生效,不用手动 Ctrl+C 🔄 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
🔄 dsh-reloader
DSH 一键重启工具 —— 安装/更新插件后说一句"帮我 reload",自动重启 web 界面,新插件立即生效,不用再手动 Ctrl+C。
为什么需要它
DSH 的 profile bundle 插件(如 dsh plugin --profile web add ...)装好后,需要重启 web 进程才生效。手动重启很麻烦:
Ctrl+C → 重新输入 dsh web → 等启动 → 刷新浏览器
本插件把这一步变成一条命令:调用 dsh_reload 工具,6 秒后进程自动重启,页面刷新即恢复。
安装
# 从 GitHub 安装
dsh plugin --profile web add "github:lin-cheng-lab/dsh-reloader"
# 或从本地源码安装
dsh plugin --profile web add "file:/path/to/dsh-reloader"
重启 profile 后生效(reload 工具的第一次使用需要一次手动重启,之后就全自动了)。
使用
安装/更新插件后,向 DSH 说一句:
帮我 reload 一下
工具会自动完成:
- 等待 6 秒(让当前回复先送达页面)
- 用
lsof按 3080 端口定位当前 dsh web 进程,ps校验命令行含dsh后kill(双保险防误杀) - 等待端口释放(最多 15 秒)
nohup重新启动dsh web,日志写入~/.dsh/web.log
然后刷新页面即可——聊天记录都在(会话已持久化)。
工作原理
- 通过
ctx.shell启动一个后台 detach 进程执行重启(工具立即返回,不阻塞) - 进程定位用端口(
lsof -iTCP:3080)+ 命令行校验(ps | grep dsh),
不依赖pgrep -f(在受限执行环境中可能不可见) - 只影响监听 3080 的 dsh web 进程,不碰其他程序
安全边界
- 只 kill 监听 3080 且命令行含
dsh的进程 - 重启失败有日志(
~/.dsh/web.log)可排查 - 若工具报错,仍可手动重启:终端
Ctrl+C→dsh web
开发
npm install --legacy-peer-deps # 安装 typescript(跳过未发布的 @deepseek-ai peer)
npm run build # tsc → lib/
类型解析依赖本机 DSH 安装中的 @deepseek-ai/cordis 与 @deepseek-ai/dsh-tools。
许可
MIT
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-reloader」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:lin-cheng-lab/dsh-reloader Headless(CLI)profile:
dsh plugin --profile headless add github:lin-cheng-lab/dsh-reloader 实测报告
验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。
使用场景
扩展 agent 的编码能力面——给它一个新工具、工作流或集成,让它接手以前做不了的开发任务。
适合谁
想让 dsh 在真实代码库上像队友一样干活的开发者——能改、能跑、能验证,而不只是回答问题。
二次开发建议
工具/命令面就是缝:暴露更多 SDK 能力、加更聪明的上下文接线,或收紧改代码与验证之间的循环。