Skip to content

dsh-useful-tools

Verified

dsh-useful-tools · v0.2.0 · MIT

DSH 有用小工具箱:命令读文件自动算已读(mark_read)+ 编辑后标记免重读(mark_edit)+ 快捷命令(quick_command)+ 插件同步(sync_plugin)+ 后端模拟(minihost)+ 前端预览(preview)+ UI 静态骨架检查(ui_check)+ 插件验证(verify_plugin)+ 测试环境(test_env)+ GitHub 代理安装(github_mirror)+ 工具清单(useful_tools)

Install

dsh plugin add dsh-useful-tools

Confirm the layer applied with dsh --profile default --dump-config — see the install guide.

Source

Tags

Readme

dsh-useful-tools

DSH 插件开发与日常使用的小工具集:读/写观测、插件体检、前后端模拟、环境修复。

功能

功能 做什么 入口
读命令集合 集合内命令读过的文件自动算已读 mark_read
写后自动续期 写改后自动补发观测,连续编辑免重读 mark_edit
快捷命令 定义并执行常用命令,定义持久保存 quick_command
插件同步 同步代码到 profile 并对齐权限 sync_plugin
插件体检 静态检查装载链路,逐段列出静默失败 verify_plugin
前端模拟 生成并托管插件预览页 preview
后端模拟 本地跑插件服务端代码 minihost
隔离实例 起独立 DSH,随便装随便崩 test_env
UI 骨架 静态解析 client.js,产出控件清单 ui_check
GitHub 代理 装 GitHub 插件时走代理 github_mirror
CIFS 写入修复 修挂载盘上写文件报权限错误 patch_cifs_write
工具清单 列出全部工具与排障索引 useful_tools

环境要求

宿主版本 运行时 平台
DSH 0.2.x Node 20 / 22 / 24 Linux、macOS、Windows

用法

读 / 写门禁

mark_read  { commands: "cat,grep,head,sed,tail,awk" }    // commands 必填;不给则用预置清单
mark_read  { commands: "sed", undo: true }                // undo 可空;true = 从集合移除
mark_edit  {}                                             // 无参:查当前状态与自证计数
mark_edit  { enabled: false }                             // enabled 可空;false = 关闭自动续期
mark_edit  { paths: "a.js,b.js" }                         // paths 可空;补标没走 write/edit 的改动
mark_edit  { settleMs: 1200 }                             // settleMs 可空;缺省 1100,上限 2000

mark_read 的 commands 可传命令串、清单文件路径,或省略用预置清单。 mark_edit 的 paths 支持逗号/分号/换行分隔或 @清单文件;省略则不补标,只做状态查询。

插件开发

sync_plugin   { write: true, register: true }              // write 必填才真写;register 可空
sync_plugin   { write: true, hmr: true }                    // hmr 可空;true=启用热重载(缺省 dryRun 只报计划)
verify_plugin { plugin: "<插件根>" }                        // plugin 可空;省略则巡检所有已装插件
minihost      { action: "start", plugin: "<插件根>" }        // action 可空,缺省 start
preview       { action: "gen", plugin: "<插件根>" }          // spec 可空,省略则自动挂载
preview       { action: "serve", file: "<预览页>" }          // backend 可空,省略则接最近一次 minihost
test_env      { action: "start", plugin: "<插件根>" }        // plugin 可空,省略则起裸环境
ui_check      { plugin: "<插件根>" }                         // write 可空,缺省 true

minihost 的 services 可空,用于注入宿主服务;env 可空,用于覆盖子进程环境变量。 test_env 的 kind 可空(test / clean),root 可空(环境根位置)。

环境修复与杂项

github_mirror     { action: "apply" }                                   // mirror 可省:按候选清单取第一个可用的
github_mirror     { action: "apply", mirror: "https://<代理>/" }         // 显式指定代理(dryRun 缺省 true)
github_mirror     { action: "apply", dryRun: false }                    // 探测通过后真写入
github_mirror     { action: "clear", dryRun: false }                    // 恢复直连
github_mirror     { action: "probe" }                                   // 只探测,不写配置
patch_cifs_write  { action: "check" }                                   // action 可空,缺省 check
patch_cifs_write  { action: "apply", dryRun: false }                     // dryRun 缺省 true
quick_command     { name: "logs", command: "tail -n 50 app.log" }        // name 必填
quick_command     { action: "list" }                                    // action 可空,缺省 run
useful_tools      { action: "help" }                                     // action 可空;tool 可空

github_mirror 的 mirror 可省——省略时按候选清单顺序自动取第一个可用的;仅当清单为空或全部停用才必须传。 hosts 可空(缺省 github.com);rotate 可空(缺省 true,探测失败换下一个候选)。 探测不通的地址不会被写进候选清单,只在返回的 rejected 里告知。 patch_cifs_write 的 apply / revert 需显式传 dryRun: false 才落盘。 quick_command 的 cwd 可空,省略则沿用宿主进程工作目录。

配置

<DSH_HOME>/useful-tools/config.json:

键 含义
observeHook 读命令集合钩子总开关,默认开
observeTools 读命令集合,填什么生效什么
editHook 写后自动续期开关,默认开
editSettleMs 写后复核延迟毫秒,缺省 1100
testEnvRoot 隔离实例的环境根

文档索引