Back to home@luozhengswjtu

dsh-cmd-pad

No description

Stars
1
Language
JavaScript
Created
Aug 23, 2026
Updated
Aug 23, 2026
GitHub repo

Introduction

dsh-cmd-pad

DSH Web UI 的测试命令行速查面板:把常用命令按自定义分组 + 项目归档,一键复制、一键运行(主形态)。数据是纯文本文件,可手改、可迁移,零构建、零运行时依赖。

✨ 功能特性

  • 分组 + 项目归档:命令归属自定义分组(如「性能采集」「部署」)与项目(工作区路径自动聚合);分组常驻/重命名/删除,命令增删改,分组名即主键、所见即所得;
  • 上次使用视图:复制/运行成功的命令自动进入「上次使用」动态视图(保留 100 条、显示 20 条),可切「项目 / 全部」范围——快速找回最近用过的命令;
  • 全局搜索/ 聚焦,命中高亮 + 计数,Esc 清空;
  • 一键复制:按钮或命令块点击,Toast 锚定提示;
  • 一键运行(主形态):每次新开专用终端直送执行;危险命令(danger: true)先确认、停在提示符不回车(双人工确认);
  • 主题跟随:全量 --dsw-alias-* 令牌,明暗/皮肤自动跟随宿主;
  • 数据可手改:命令库 = 人可手改的 commands.yml(写操作自动 .bak 备份)。

🏗 双形态(软依赖 better-sidebar)

没装 better-sidebar装了 better-sidebar
存在方式独立存在:右下角浮动图标 + 右侧抽屉注册为侧边栏 Tab「命令」(order 45,终端与浏览器之间)
功能浏览/搜索/复制/添加/编辑/删除/上次使用全部 + 一键运行
数据同一份 commands.yml / state.json,切换形态不丢同左

better-sidebar 是可选依赖(peerDependencies optional):只装 cmd-pad 也能完整使用除「运行」外的所有功能。

📦 安装

# 1. 获取插件(本仓库即发布物)
git clone https://github.com/luozhengswjtu/dsh-cmd-pad.git

# 2. 安装(<插件包目录> = 含 package.json 的 dsh-cmd-pad/ 目录)
dsh plugin --profile web add dsh-cmd-pad

# 3. 重启 dsh web + 浏览器硬刷新(Ctrl+Shift+R)
  • 要「运行」功能:另装 better-sidebar(与 cmd-pad 同样方式 dsh plugin --profile web add <目录>);
  • 验证:主形态 = 设置页「侧边卡片」出现「命令」卡片、+ 菜单出现「命令」;降级形态 = 页面右下角浮动图标。

🚀 使用

  • 打开:主形态 + 菜单选「命令」;降级形态点右下角浮动图标;
  • 常用操作:分组条筛选(全部 / 项目:当前工作区 / 上次使用 / 常驻 / 更多箭头)→ 点命令块或「复制」;/ 搜索;搜索框右侧「添加命令」;分组栏右侧「+」新建分组(自动常驻);右键菜单:卡片 = 复制/编辑/删除,分组 = 常驻/重命名/删除;
  • 运行(主形态):卡片「运行」→ 新开专用终端直送执行;危险命令先确认、停在提示符由你回车;
  • 数据位置%USERPROFILE%\.dsh\profiles\web\cmd-pad\commands.yml 可手改,重开面板生效;state.json 机器状态)。

🧪 开发与回归

  • 验收 harness 位于插件包 dsh-cmd-pad/test/(工作目录 dsh-cmd-pad/):node test/t0X-*.test.mjs,当前 153 项全过
  • 升级 better-sidebar 后必须回归:终端直写走的是 better-sidebar 内部 WS 协议(未文档化),升级后跑 test/t07-ws-probe.mjs + test/t07-run.test.mjs
  • 详细技术文档(数据层 API、主形态接入、视觉规范)见插件包内 dsh-cmd-pad/README.md

📄 许可

MIT