🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

数据面板 ddxl123/dsh-long-data

DeepSeek Harness
ddxl12312 天前有提交已提供中文文档扫描:含敏感能力

用白话查看和管理 Docker、Redis 与 PostgreSQL

29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add ddxl123/dsh-long-data
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · vision
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 12 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 12 处,展示前 12 条)
  • 写入本地文件
    src/index.js:71
    mkdirSync(directory, { recursive: true })
  • 写入剪贴板
    client/index.js:3078
    const result = clipboard.writeText(String(text))
  • 发起网络请求
    src/route.js:45
    async fetch(request) {
  • 读取本地文件
    src/settings.js:343
    const raw = readFileSync(this.path, 'utf8')
  • 写入本地文件
    src/settings.js:437
    mkdirSync(dirname(this.path), { recursive: true, mode: 0o700 })
  • 写入本地文件
    src/settings.js:439
    writeFileSync(temp, body, { encoding: 'utf8', mode: 0o600 })
  • 写入本地文件
    src/settings.js:441
    chmodSync(temp, 0o600)
  • 写入本地文件
    src/settings.js:445
    renameSync(temp, this.path)
  • 读取本地文件
    src/docker.js:1051
    if (existsSync(candidate)) return candidate
  • 读取本地文件
    src/dockerfiles.js:230
    rootInfo = await stat(root)
  • 读取本地文件
    src/dockerfiles.js:251
    entries = await readdir(directory, { withFileTypes: true })
  • 读取本地文件
    src/dockerfiles.js:294
    info = await stat(fullPath)
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DeepSeek Harness 插件:面向新手的 Docker 数据面板(容器、镜像、卷、网络、关系、Dockerfile 识别),外加 Redis 和 PostgreSQL——用大白话讲清整体情况,自动发现容器化服务,零依赖。

README

由 DeepSeek 最新模型翻译生成
dsh-long-data 数据面板 一个 DeepSeek Harness 插件:把 Docker、Redis、PostgreSQL 放进同一个面板,并且 为完全不懂这些技术的人设计 —— 打开就是白话的概览页:哪些东西在跑、是否正常、有什么需要留意;所有术语都能在帮助词典里查到白话解释;原始技术细节收在可选的专家模式里。 在友好的表面之下,它依然能浏览容器 / 镜像 / 数据卷 / 网络及其日志、扫描并编辑 Redis 键、对 PostgreSQL 执行 SQL,全程不用离开 Harness。 Redis 与 PostgreSQL 默认运行在 Docker 容器中:插件自动发现对应容器,使用容器发布的主机端口以及容器环境变量里已有的凭据,本机无需安装 redis-cli / psql。同一服务有多个运行中容器时,插件会把它们全部列出并提供切换器,绝不会静默只取“第一个”。 新增独立的关联页面:标明容器运行哪个镜像、挂载了哪些数据卷、接入了哪些网络,并提供关联图与反向查询。 这个插件是纯页面插件:只注册侧边栏入口和面板页,不注册任何模型工具、提示词片段或上下文注入,因此不占用模型上下文。浏览器通过已认证的 /api 通道访问 Host 半端。
展开完整文档(README 剩余 1 节)
dsh-long-data 数据面板

一个 DeepSeek Harness 插件:把 Docker、Redis、PostgreSQL 放进同一个面板,并且 为完全不懂这些技术的人设计 —— 打开就是白话的概览页:哪些东西在跑、是否正常、有什么需要留意;所有术语都能在帮助词典里查到白话解释;原始技术细节收在可选的专家模式里。
在友好的表面之下,它依然能浏览容器 / 镜像 / 数据卷 / 网络及其日志、扫描并编辑 Redis 键、对 PostgreSQL 执行 SQL,全程不用离开 Harness。

Redis 与 PostgreSQL 默认运行在 Docker 容器中:插件自动发现对应容器,使用容器发布的主机端口以及容器环境变量里已有的凭据,本机无需安装 redis-cli / psql。同一服务有多个运行中容器时,插件会把它们全部列出并提供切换器,绝不会静默只取“第一个”。

新增独立的关联页面:标明容器运行哪个镜像、挂载了哪些数据卷、接入了哪些网络,并提供关联图与反向查询。

这个插件是纯页面插件:只注册侧边栏入口和面板页,不注册任何模型工具、提示词片段或上下文注入,因此不占用模型上下文。浏览器通过已认证的 /api 通道访问 Host 半端。

功能

- 概览 —— 默认落地页,零基础可读:一句话整体健康状况;三张服务卡(Docker =「容器管家」、Redis =「高速缓存」、PostgreSQL =「数据库」),各自带白话说明、友好状态、关键数字和一个引导操作;「需要你注意」列表用白话说明问题并带跳转按钮;「快速开始」三步检查清单(含可复制的 docker 命令)。
- 新手 / 专家模式 —— 默认新手模式:容器显示用途(网站服务 / 数据库 / 缓存 / …),状态写作「运行正常 / 已停止」,删除/停止等确认框会说明会造成什么影响,原始 ID、环境变量等收进「技术细节(高级)」,SQL 编辑器收进「高级(SQL)」;专家模式恢复完整技术界面。
选择会记在浏览器里。
- 帮助词典(?) —— 基础概念(Docker / 容器 / 镜像 / 数据卷 / 网络 / 端口)、Redis (键 / TTL)、PostgreSQL(数据库 / 表 / 列 / SQL)的白话解释,以及「停止容器会怎样」「删除数据卷会怎样」「多个服务在跑选哪个」「面板连不上怎么办」等常见问题。
- Dockerfile 识别 —— Docker 页的「构建文件」子页签会在你的项目目录里(Harness 已知的所有工作区 + 设置里额外添加的目录)找出 Dockerfile,并用白话解释每个文件:它从哪个基础镜像开始(这个镜像本身是干什么的)、开放了哪些端口、是不是多阶段构建、程序怎么启动、环境变量 / 数据卷 / 健康检查,查看器里逐条注明「这行在做什么」;一键复制对应的 docker build 命令或文件路径。文件名不叫 Dockerfile、但内容以 FROM 开头的文件(如 Containerfile)也能识别。页面只读,且只能打开扫描结果里的文件。
- 关联 —— 独立页面:资源概览(容器/运行中/镜像/数据卷/网络/悬空镜像/未使用卷)、镜像 → 容器 → 数据卷的关联图(容器下方带网络徽标)、容器关联表(镜像标签、卷标签与 bind 路径、网络标签、端口),以及按镜像 / 数据卷 / 网络的反向查询。点容器可跳到 Docker 对应行,点资源可跳到对应子页签并过滤。
- Docker —— 四个子页签 + 磁盘占用概览:
- 容器:状态、镜像、端口、运行情况、实时 CPU/内存列、状态过滤;启动 / 停止 / 重启 / 暂停 / 恢复;日志抽屉(可选行数、可刷新);详情展示环境变量(凭据类键值打码)、挂载与网络。
- 镜像:repository:tag、短 ID、大小、创建时间、详情、删除。
- 数据卷:名称、驱动、作用域、挂载点、详情、删除。
- 网络:名称、驱动、作用域、internal 标记、详情(子网、已连接容器)、删除。
- 磁盘占用:镜像 / 容器 / 数据卷 / 构建缓存的数量、大小与可回收空间。
- 所有破坏性操作都要二次确认:停止、重启、暂停、删除(以及镜像 / 数据卷 / 网络的删除)都会弹出焦点锁定的确认框;启动与恢复保持一键。容器列表在页签打开时每 5 秒自动刷新。
- Redis —— 连接来自 Redis 容器(自动选择或按名称固定):使用容器发布的主机端口,设置里未填写的凭据取自容器环境变量 REDISCLI_AUTH / REDIS_PASSWORD。页签展示连接概览(版本、运行时长、客户端数、内存、键数、QPS、命中率);基于 SCAN 游标的键浏览(支持 pattern 与类型过滤);按类型展示值(string / list / set / zset / hash / stream)与 TTL、内存占用;「写入数据」向导(选类型 → 填字段 → 保存);重命名键、设置过期、持久化;hash 字段 / list 推入 / set 增删编辑器;删除键需二次确认。类型用白话命名(文本 / 列表 / 集合 / 哈希 / 有序集合 / 流),TTL 显示为「永不过期 / 还有 N 分钟」。
服务器区还展示键总数与客户端连接表。
- PostgreSQL —— 同样通过容器发现(POSTGRES_USER、POSTGRES_PASSWORD、 POSTGRES_DB 取自容器环境变量):服务端版本与当前角色;数据库列表与当前库的表 / 视图列表(含大小/预估行数);表的列与类型、索引/约束与表大小;以「浏览数据」为主的流程(数据库 → 表 → 数据,分页 + CSV 下载);活动会话面板;SQL 编辑器(带「查看前 10 行 / 统计行数 / 查看有哪些列」模板按钮),结果表格展示列名、数据行(NULL 有独立样式)、耗时与是否因行数上限被截断,支持 CSV 下载与查询历史;SQL 错误会显示 PostgreSQL 的 SQLSTATE。

连接设置面板的齿轮页编辑,保存在 Host 半端。每个服务有一个连接方式:Docker 容器 (默认 —— 选择容器,或由插件自动选择第一个运行中的容器)或 手动地址(主机/端口)。

安装

本包是一个 bundle:cordis.patch.yml 会插入一条 host-plane 行。用插件管理器安装包含此 package.json 的目录,或在终端执行:

git clone https://github.com/ddxl123/dsh-long-data.git
dsh plugin --profile <profile> add ./dsh-long-data

也可以让插件管理器直接安装包含此 package.json 的目录。

安装后侧边栏会出现 数据面板 入口(与待办清单等面板插件并列)。通过 HMR 激活时不需要重启;如果替换已安装的同一个包,需要重启 Harness 让 Host 半端加载新的模块。

依赖与环境

- Harness 自带 Node 运行时;插件只使用 Node 内置模块,没有第三方依赖,也没有需要编译的原生模块。
- Docker 页签需要 Host 进程能执行 docker 命令。当 GUI 应用的 PATH 里没有 docker 时,插件还会依次探测 /usr/local/bin/docker、/opt/homebrew/bin/docker、 /Applications/Docker.app/Contents/Resources/bin/docker、~/.docker/bin/docker;也可以在设置里填绝对路径。
- Redis / PostgreSQL 运行在 Docker 容器中。容器需要把端口发布到主机(-p 56379:6379、-p 55432:5432 等),插件从 Host 进程连这个发布端口,本机无需安装 redis-cli/psql。没有发布端口的容器会给出可操作的错误提示。
- 凭据:设置里密码/角色/数据库留空时,插件使用容器环境变量里已有的值(REDISCLI_AUTH / REDIS_PASSWORD、REDIS_USERNAME;POSTGRES_PASSWORD、 POSTGRES_USER、POSTGRES_DB)。设置里填了就以设置为准;手动地址模式完全使用设置。
- 多实例:所有运行中的 Redis/PostgreSQL 容器都会被识别。只有一个运行且未固定容器时自动使用;两个及以上时面板会明确提示选择,在页签的实例条(或设置里的容器下拉)固定要用的容器。redis.container / postgres.container 用于持久固定默认容器。
- TLS:Redis 支持纯 TLS 连接;PostgreSQL 支持 disable、prefer(先试 TLS,服务端拒绝则回退明文)、require(服务端拒绝 TLS 即失败)。

配置

插件行位于 profile 的 cordis.patch.yml 层(bundle 自带默认值)。所有字段都可省略;面板中保存过的连接优先生效。

| 键 | 默认值 | 含义 |
| settingsFile | settings.json | 保存在插件状态目录中的连接文档名。 |
| docker.binary | docker | Docker CLI 名称或绝对路径。 |
| docker.timeoutMs | 20000 | 单条 docker 命令的超时,超时后终止子进程。 |
| redis.mode | docker | docker(发现 Redis 容器)或 manual。 |
| redis.container | 空 | 固定的容器名;留空自动选择第一个运行中的 Redis 容器。 |
| redis.host / redis.port | 127.0.0.1 / 6379 | 手动地址模式的主机/端口。 |
| redis.username / redis.password | 空 | ACL 用户名与密码(覆盖容器环境变量凭据)。 |
| redis.db | 0 | 连接后选择的库序号。 |
| redis.tls | false | 是否用 TLS 包裹连接。 |
| redis.timeoutMs | 5000 | 连接 / 命令超时。 |
| postgres.mode | docker | docker(发现 PostgreSQL 容器)或 manual。 |
| postgres.container | 空 | 固定的容器名;留空自动选择第一个运行中的 PostgreSQL 容器。 |
| postgres.host / postgres.port | 127.0.0.1 / 5432 | 手动地址模式的主机/端口。 |
| postgres.user / postgres.password | 空 | 登录角色;留空用容器的 POSTGRES_USER(再回退到 postgres)。 |
| postgres.database | 空 | 数据库;留空用容器的 POSTGRES_DB(再回退到 postgres)。 |
| postgres.ssl | prefer | disable \| prefer \| require。 |
| postgres.timeoutMs | 8000 | 连接 / 查询超时。 |
| logTailDefault | 200 | 每次请求默认的 Docker 日志行数。 |
| maxQueryRows | 500 | 单条 SQL 结果的行数上限。 |
| maxKeyScan | 5000 | 单次 SCAN hint 的上限。 |
| dockerfiles.roots | [] | 额外扫描 Dockerfile 的绝对目录(工作区目录会自动扫描)。 |
| dockerfiles.maxDepth | 6 | 每个扫描根目录向下查找的层数。 |

状态目录跟随 Harness home,因此每个 profile 各自保存连接: <harness home>/dsh-long-data/settings.json。文件原子写入,权限 0600(可能含密码)。

安全说明

- 密码不会传到浏览器:/api/dsh-long-data 只返回打码后的设置视图(用 hasPassword 代替密码本身),发现的容器也只暴露 hasPassword / credentialsSource。保存时密码留空表示保留原密码;设置表单通过 clearPassword 支持显式清除。
- Docker 模式的凭据只在 Host 端读取所选容器的环境变量并用于当次连接;除非你在表单里主动填写,否则不会写入 settings.json。能执行 docker inspect 的本机用户都可以看到这些环境变量。
- Docker 容器环境变量中键名像凭据的(PASSWORD、SECRET、TOKEN、API_KEY、 AUTH 等)在返回面板前会被替换成 ***。
- 连接设置不是安全边界:Harness 进程能读取该文档,并用你给的凭据访问数据库。请把面板当作本机运维工具使用。
- 看起来像命令行参数的容器 id 会在启动任何 docker 进程前被拒绝;容器生命周期动作仅限固定列表。
- Redis 只走显式命令(PING/INFO/SCAN/TYPE/GET/SET/DEL),面板不提供任意命令执行。
PostgreSQL 的 SQL 编辑器按设计接受任意 SQL(包括写操作),请在愿意修改的库上使用。

开发

cd dsh-long-data
node --check src/index.js && node --check client/index.js
node --test test/

Host 半端按协议拆分,便于单独测试:

| 文件 | 作用 |
| src/index.js | Cordis 入口:配置、设置存储、路由注册。 |
| src/config.js | 行配置校验、默认值、状态目录。 |
| src/settings.js | 连接文档持久化、打码、校验。 |
| src/docker.js | 基于 child_process 的 Docker CLI 服务(argv 数组,不走 shell)。 |
| src/redis.js | 无依赖、基于 node:net 的 RESP2 客户端。 |
| src/postgres.js | 无依赖的 PostgreSQL 线协议客户端(SCRAM-SHA-256)。 |
| src/targets.js | 发现 Redis/PostgreSQL 容器,解析每个实例的发布端口与容器环境变量凭据。 |
| src/relations.js | 把容器与镜像、数据卷、网络关联起来,供关联页面使用。 |
| src/roles.js | 推断容器是用来做什么的(网站 / 数据库 / 缓存 / …),让界面能用白话解释。 |
| src/dockerfiles.js | 有界扫描 + 无依赖解析 Dockerfile(阶段、基础镜像、端口、启动命令、逐条指令信息)。 |
| src/ops.js | 每个能力的唯一实现。 |
| src/route.js | /api/dsh-long-data Fetch 路由。 |
| client/index.js | 浏览器面板:window.__ModuleLoader__ 工厂,仅使用 React。 |

集成测试会使用它找到的真实服务,找不到时自动跳过:

- Docker:本机 daemon;测试只读,不会删除 / 停止 / prune 任何已有的容器、镜像、数据卷或网络。
- Docker 模式的 Redis/PostgreSQL 发现逻辑会跑在当前存在的 Redis/PostgreSQL 容器上;没有运行中的容器时跳过。
- 手动地址模式的协议往返测试默认连 127.0.0.1:6379(无密码)和 127.0.0.1:5432 (用户/库均为 postgres,无密码);可用环境变量 DSH_LONG_DATA_REDIS_HOST/PORT/PASSWORD 与 DSH_LONG_DATA_PG_HOST/PORT/USER/PASSWORD/DATABASE 指向别处。不可达时跳过。

许可证

MIT
预览分享卡片长什么样 ↓ddxl123/dsh-long-data
分享 · DeepSeek Harness Hub
ddxl123/dsh-long-data

用白话查看和管理 Docker、Redis 与 PostgreSQL

这是你的仓库?认领条目

回到顶部