🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

kichare/dsh-local-dba

DeepSeek Harnessspec-screened扫描:中风险在 GitHub 查看 ↗
⚠ 装前注意

面向 DeepSeek Harness 的本地数据库管理DBA插件。以 Cordis 插件 bundle 形式提供一组…

基本兼容但装前注意:未发布到 npm registry,仅可从源码安装 · 最近上游提交 2026/9/11 · 已提供中文文档

一个用于 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) 的本地数据库管理(DBA)插件。它以 Cordis 插件包的形式发布,注册了一组面向模型的 `db_*` 工具,让智能体能够针对 **MySQL / MariaDB** 和 **PostgreSQL** 执行查询、检查 schema、运行 DDL/DML、备份/恢复以及分析慢查询。

综合分
28.8
GitHub 分
28.8
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add kichare/dsh-local-dba
未发布到 npm registry,仅可从源码安装,改用 GitHub 源安装
信任档位:已验证本站已于 0 天前真实安装成功
是什么
dsh 原生插件 · platform
装得上吗
本站已真实安装成功(非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 15 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

🟢实装验证通过· 2026/9/25
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/22(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-local-dba(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

未发布到 npm registry,仅可从源码安装

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/24 11:39:12

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-tools
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
dsh-local-dba

面向 DeepSeek Harness 的本地数据库管理(DBA)插件。以 Cordis 插件 bundle 形式提供一组 db_ 模型工具,让 agent 在会话里直接查询、检查结构、执行 DDL/DML、备份/恢复并分析慢查询,支持 MySQL / MariaDB 与 PostgreSQL。

仓库地址:

特性

- 8 个 db_ 工具 —— 查询、结构、健康、备份、恢复、慢查询一站覆盖。
- 在 Harness 页面里配置 —— 插件自带设置卡片,增删连接、切换默认连接都在页面完成,保存即生效,无需改文件。
- 支持主流 SQL 数据库 —— MySQL / MariaDB 与 PostgreSQL。
- 安全可控、默认只读 —— 写操作与备份/恢复开关默认关闭;密码可走环境变量(passwordEnv);db_query 强制只读。
- 零构建 —— 纯 JavaScript(ESM),安装即用。

工具

表示必填参数。

| 工具 | 作用 | 参数 |
|---|---|---|
| db_connections | 列出已配置的连接(不含密码) | — |
| db_query | 只读 SQL(SELECT / SHOW / DESCRIBE / EXPLAIN / WITH) | sql\、connection、limit |
| db_execute | 写 SQL(DDL / DML) | sql\、connection |
| db_schema | 结构检查:表 / 列 / 索引 / 外键 | connection、action、table、schema |
| db_health | 版本、当前库、各库大小 | connection |
| db_backup | 用 mysqldump / pg_dump 做逻辑备份 | connection、database、output |
| db_restore | 用 mysql / psql 从 .sql 恢复 | connection、file\、database |
| db_slow_queries | 活动连接 / 进程列表 / 慢查询 | connection、limit |

db_schema 的 action 取 tables(默认)、columns、indexes、foreign_keys;后三者需要 table。

环境要求

- DeepSeek Harness(dsh),含 Web 界面。
- Node.js 24 与 pnpm(dsh plugin 安装插件时使用)。
- 运行时驱动 mysql2、pg —— 由本插件自动安装。
- 备份 / 恢复额外需要本机客户端:mysqldump / mysql、pg_dump / psql。缺失时 db_backup / db_restore 会给出明确报错;查询类工具不依赖这些 CLI。

安装

用 dsh plugin 安装

git clone https://github.com/kichare/dsh-local-dba.git
dsh plugin --profile web add ./dsh-local-dba

装完重启该 profile 才会加载:

以 web profile 为例
lsof -ti tcp:3080 | xargs kill   # 停掉旧进程(端口按实际改)
dsh web

该命令由 dsh plugin 转发给 pnpm。若提示 pnpm not found,先 corepack enable pnpm 或 npm i -g pnpm,并确保 pnpm 在 PATH 中。

配置

只需在 Harness 页面里配置:

设置 → 插件 → 插件配置 → 「本地 DBA 连接」(卡片)

在卡片里增删数据库连接、选择默认连接,保存后立即生效(热加载),不需要改任何文件、也不需要重启。

目前支持的 SQL 类型:MySQL / MariaDB 与 PostgreSQL。

使用示例

不用记工具名,直接用大白话说需求即可:

巡检
看看数据库健康状态
查一下有哪些库、各占多大

结构
列出 mydb 的所有表
users 表有哪些字段和索引

查询
查 mydb.orders 里最近 20 条
统计每个用户的订单数,倒序取前 10

变更(会真的改库)
给 users 的 email 字段加唯一索引
把 orders 里 status='tmp' 的改成 'pending'

备份 / 恢复
备份 mydb 到 backups 目录
从 backups/mydb-2026-xx-xx.sql 恢复 mydb

排查
看看现在有哪些慢查询

配了多个连接时,点名即可:“用 local-pg 查一下…”。

安全说明

- 优先用 passwordEnv:把密码放在环境变量里,而不是写进配置。db_backup / db_restore 通过 MYSQL_PWD / PGPASSWORD 把密码交给客户端进程,不出现在命令行参数里。
- 写权限开关(重要,默认关闭):卡片里的「全局选项」有两个开关 —— 允许写操作 allowWrite、允许备份 / 恢复 allowBackupRestore,默认都是关闭的(只读优先,装完即可安全查询)。
- 一旦开启 allowWrite,agent 就能执行 CREATE / ALTER / DROP / INSERT / UPDATE / DELETE 等语句,会真实且不可逆地修改数据;误操作造成的损失由使用者自行承担。
- 一旦开启 allowBackupRestore,db_restore 会向目标库写入并覆盖同名对象(可能清空生产数据);db_backup 会把整库导出落盘到备份目录,注意磁盘占用与数据外泄。
- 只有在确有必要时才开启,且建议只在隔离的本地 / 测试 profile 中开启;生产 / 重要数据库保持默认关闭。
- db_query 强制只读:只放行 SELECT / SHOW / DESCRIBE / EXPLAIN / WITH 开头的语句,写语句会被拒绝并提示改用 db_execute。
- 大表查询请显式 LIMIT:maxRows 只是返回后的截断兜底,不会限制 SQL 实际扫描量。

常见问题

| 现象 | 原因 / 处理 |
|---|---|
| pnpm not found | 装 pnpm(corepack enable pnpm 或 npm i -g pnpm)并放进 PATH |
| ECONNREFUSED / 连不上 | 主机或端口不对;确认数据库在监听、端口正确(非默认端口尤其注意) |
| no database selected | 在卡片的该连接里设置「默认库」,或在 SQL 里写 库名.表名 |
| db_schema 列不出表 | 同上:该连接没设默认库 |
| 报「未找到名为 "x" 的连接」 | 调用的 connection 与卡片里的连接别名不一致 |
| db_execute 报「写操作已被禁用」 | 写权限默认关闭;在卡片「全局选项」里勾选「允许写操作」并保存 |
| db_backup / db_restore 报「备份/恢复已被禁用」 | 同上,勾选「允许备份 / 恢复」并保存 |
| 页面里没有 dba 卡片 | 插件未加载或未重启;先在 插件列表 确认 dsh-local-dba 已启用 / 运行中 |
| 备份报 command not found | 本机缺 mysqldump / pg_dump,装上再试 |
| only_full_group_by 之类的 SQL 报错 | 数据库返回的原始报错,按提示修正 SQL |

目录结构

dsh-local-dba/
├── package.json        # 双端声明:dsh.bundle.patch → cordis.patch.yml;dsh.client → lib/client.js
├── cordis.patch.yml    # 注册本插件的那一行
├── lib/
│   ├── index.js        # Host 端入口:8 个 db_* 工具 + 设置命名空间
│   ├── db.js           # 数据库与本地 CLI 的辅助实现
│   ├── client.js       # 浏览器端:设置卡片
│   └── index.d.ts      # 类型声明
├── README.md
├── README.zh.md
└── LICENSE

开发说明

- 不需要构建:lib/*.js 就是运行时代码(ESM)。
- @deepseek-ai/cordis 与 @deepseek-ai/dsh-tools 是 peerDependencies(复用宿主单一工具注册表);@deepseek-ai/schemastery、mysql2、pg 是普通依赖。
- 改动 Host 端(lib/index.js / lib/db.js)或浏览器端(lib/client.js)后需要重启 profile;页面里的配置改动是热加载的。

交流反馈

- 邮箱 / Email:5235278@qq.com
- Issues:

使用问题、Bug、功能建议都欢迎联系。

License

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群