@hyzyn/dsh-plugin-kit 0.1.23 → 0.1.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -137,13 +137,13 @@ dsh-plugin-kit 是给 DeepSeek Harness(DSH)Web GUI 用的通用插件集合
|
|
|
137
137
|
|
|
138
138
|
### Docker 容器面板(@hyzyn/dsh-docker)
|
|
139
139
|
|
|
140
|
-
- **做什么**:在 Web GUI
|
|
140
|
+
- **做什么**:在 Web GUI 侧边栏加一个「容器」入口,面板**作为会话右侧栏标签与对话同屏**(老宿主自动退回 dock / 模态),查看**本机或 SSH 主机**上的容器列表(状态 / 健康 / 端口 / compose 项目)、**Compose 项目视图(项目 → 服务 → 容器 + 项目级聚合日志)**、容器详情、日志尾部、资源占用(**实时跟随 + 迷你趋势图**)、**多目标总览**(一屏汇总全部目标的容器计数与异常容器)与镜像(列表 + 详情:层 / 构建历史);显式打开开关后可启停删容器、拉取 / 删除 / 清理镜像、执行一次性 `docker exec`。
|
|
141
141
|
- **怎么用**:安装后重启 `dsh web`,侧边栏点击「容器」→ 选择目标(本机 / SSH)→ 工具条三段切换「容器 / 镜像 / Compose」:容器卡片(镜像 / ID / 端口 / 创建 + 图标操作条)支持搜索与状态筛选,点卡片进整栏详情(概览 / 日志 / 统计,统计页有 **FOLLOW 实时跟随 + 迷你趋势图**),日志页有 LINES / TIMESTAMPS / AUTO REFRESH / **FOLLOW(实时跟随)** 工具条与过滤行;镜像页每行可看**详情(层 / 构建历史)**、删除,工具条有**拉取镜像(图标,SSE 逐层进度)**与「清理 dangling」;Compose 页按项目分组,点进项目看服务表或**项目级聚合日志**(客户端按 `[service]` 前缀混流)。设置 → 插件 →「Docker 容器面板」维护目标与开关,保存即热生效。
|
|
142
142
|
- **终端按钮**:装了 tty ≥ 0.15.0 时,卡片第一个图标是「终端」——点击在**面板底部弹出终端抽屉**(tty 的 `ttyTerminal.mount` 就地嵌入),看着日志直接进容器敲命令,面板不收起;tty 为 0.14.0 时退回「新开终端标签 + 收面板」,更旧或未装则退化为复制命令。
|
|
143
143
|
- **上下文入口**:装了 tty ≥ 0.13.0 时,SSH 标签的连接栏(SFTP 旁)会出现「容器」按钮——点击直接用当前会话那台主机打开面板(插件加载期间一直显示;目标在点击时按连接簿名 / `host:port` 解析,没配目标会提示怎么配)。
|
|
144
144
|
- **目标**:`kind=local` 走宿主所在机器的 docker CLI;`kind=ssh` 可直接**引用 tty 连接簿条目名**(数据级复用,tty 零改动;未装 tty 时用内联 host/username),经 ssh2 exec channel 在远端执行,主机指纹 TOFU 钉扎并以 tty 已有记录作种子。
|
|
145
145
|
- **跨目标与需关注**:总览页一屏汇总全部目标(计数卡 + 跨目标异常表,单目标失败不影响其余);「需关注」口径覆盖不健康 / 反复重启 / **被 OOM 杀** / 非零退出 / 僵死,agent 侧 `docker_attention` 与 `docker_ps target:'*'` 同样支持跨目标聚合。
|
|
146
|
-
- **支持**:容器列表(`all` 含已停止)、`docker inspect` 详情、日志(tail / 时间戳 / since)、**实时日志流**(FOLLOW 开关走 SSE `docker logs --follow`,本地与 SSH 目标都支持,自动滚动 / 过滤着色与快照共用,容器退出自动切回快照)、`docker stats` **快照 + 实时流**(SSE,60 点 sparkline 看 CPU / 内存趋势;这条流不会自然结束,前端主动断)、**Compose 项目视图**(按 `composeProject` / `composeService` 分组,项目级聚合日志在客户端按 `[service]` 前缀混流)、**容器事件活动流**(SSE `docker events` → 列表头部「活动」条 + 500ms 防抖刷新容器列表)、**网络与卷**(列表 + 详情:子网 / 网关 / 接入容器、挂载点 / 选项 / 标签;删除与 prune 需 `allowMutations`)、**多目标总览**(不选目标一屏看全部主机:计数卡 + 异常容器置顶表;并行取数、单目标失败只影响自己那一格;只读、无跨目标操作)、以及**容器列表多选的临时聚合日志**(勾 2~8
|
|
146
|
+
- **支持**:容器列表(`all` 含已停止)、`docker inspect` 详情、日志(tail / 时间戳 / since)、**实时日志流**(FOLLOW 开关走 SSE `docker logs --follow`,本地与 SSH 目标都支持,自动滚动 / 过滤着色与快照共用,容器退出自动切回快照)、`docker stats` **快照 + 实时流**(SSE,60 点 sparkline 看 CPU / 内存趋势;这条流不会自然结束,前端主动断)、**Compose 项目视图**(按 `composeProject` / `composeService` 分组,项目级聚合日志在客户端按 `[service]` 前缀混流)、**容器事件活动流**(SSE `docker events` → 列表头部「活动」条 + 500ms 防抖刷新容器列表)、**网络与卷**(列表 + 详情:子网 / 网关 / 接入容器、挂载点 / 选项 / 标签;删除与 prune 需 `allowMutations`)、**多目标总览**(不选目标一屏看全部主机:计数卡 + 异常容器置顶表;并行取数、单目标失败只影响自己那一格;只读、无跨目标操作)、以及**容器列表多选的临时聚合日志**(勾 2~8 个容器即开混流;**SSH 目标上限 6**——一条连接要同时装下实时流与「刷新列表」这类短命令)、镜像列表 + **镜像详情**(`docker image inspect` 的层 / 大小 + `docker history` 构建历史)、**`docker pull` 进度流**(SSE 逐层)、镜像删除 / dangling 清理(需 `allowMutations`)、一次性 exec(返回退出码与 stdout/stderr);`dockerBin` 可填 `podman`;输出超限自动截断。四条 SSE 长流(日志 / 统计 / 事件 / 拉取)共用同一份 `openSseStream` 基建(心跳 / 活跃流登记 / 断开清理)。
|
|
147
147
|
- **安全模型(重点)**:docker socket ≈ 目标主机 root 权限,因此**默认只读**——`allowMutations` 未开启时启停删被拒(HTTP 403,工具不注册),`allowExec` 未开启时 exec 被拒;容器名 / ID 过白名单校验,命令一律 argv 构造 + 单引号转义;密码 / 口令建议 `env:VAR` 引用且永不回传浏览器。
|
|
148
148
|
- **存哪里**:settings 命名空间 `docker`(`~/.dsh/settings.yaml`)。
|
|
149
149
|
- **注意**:没有交互式 TTY(exec 是一次性命令,交互排障请到终端面板跑 `docker exec -it`),流式能力只在浏览器面板里(agent 的 `docker_logs` / `docker_stats` / `docker_image_pull` 保持快照语义),没有 `docker build` / `save` / `load` / `push`,Compose 是只读视图(不提供 `compose up/down`),多目标总览是**只读**汇总(没有跨目标操作,启停删仍需逐目标);`docker rm` 与 `docker image rm` 都不带 `-f`,运行中容器 / 被引用的镜像会报错并给出提示。详细见 `packages/docker/README.md`。
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hyzyn/dsh-plugin-kit",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.24",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "通用 DSH 插件库(pnpm monorepo):模板插件、插件开发工具包、一键聚合安装包。根包同时是全家桶 bundle(dsh.bundle.patch),DSH 与插件市场可直接识别安装。",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -39,14 +39,14 @@
|
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"@hyzyn/dsh-codegraph": "0.3.0",
|
|
42
|
-
"@hyzyn/dsh-docker": "0.
|
|
42
|
+
"@hyzyn/dsh-docker": "0.6.0",
|
|
43
43
|
"@hyzyn/dsh-env": "0.2.4",
|
|
44
44
|
"@hyzyn/dsh-mcp": "0.1.11",
|
|
45
45
|
"@hyzyn/dsh-profile": "0.1.9",
|
|
46
46
|
"@hyzyn/dsh-prompt": "0.1.10",
|
|
47
47
|
"@hyzyn/dsh-rss": "0.3.2",
|
|
48
48
|
"@hyzyn/dsh-search": "0.3.2",
|
|
49
|
-
"@hyzyn/dsh-tty": "0.
|
|
49
|
+
"@hyzyn/dsh-tty": "0.18.0"
|
|
50
50
|
},
|
|
51
51
|
"scripts": {
|
|
52
52
|
"build": "pnpm -r build",
|