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

SQLite 工作台 406464/dsh-db

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

在面板里管理 SQLite 库并让 Agent 直接查改数据

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · market
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 4 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

读写/删除本地文件发起外部网络请求
查看扫描证据(共 17 处,展示前 16 条)
  • 写入本地文件
    src/index.js:80
    mkdirSync(cfg.root, { recursive: true, mode: 0o700 })
  • 发起网络请求
    client.js:183
    return fetch(API + '/' + method, {
  • 读取本地文件
    src/sqlite.js:164
    if (!existsSync(path)) {
  • 写入本地文件
    src/sqlite.js:166
    mkdirSync(dirname(path), { recursive: true, mode: 0o700 })
  • 读取本地文件
    src/connections.js:35
    this.mtime = statSync(this.file).mtimeMs
  • 读取本地文件
    src/connections.js:40
    if (!existsSync(this.file)) return
  • 读取本地文件
    src/connections.js:41
    const parsed = JSON.parse(readFileSync(this.file, 'utf8'))
  • 读取本地文件
    src/connections.js:55
    const mtime = statSync(this.file).mtimeMs
  • 写入本地文件
    src/connections.js:63
    mkdirSync(dirname(this.file), { recursive: true, mode: 0o700 })
  • 写入本地文件
    src/connections.js:65
    writeFileSync(tmp, `${JSON.stringify({ version: 1, connections: this.records }, null, 2)}\n`, 'utf8')
  • 写入本地文件
    src/connections.js:66
    renameSync(tmp, this.file)
  • 读取本地文件
    src/connections.js:68
    this.mtime = statSync(this.file).mtimeMs
  • 读取本地文件
    src/connections.js:78
    exists: existsSync(r.path),
  • 写入本地文件
    src/api.js:108
    mkdirSync(dirname(target), { recursive: true, mode: 0o700 })
  • 写入本地文件
    src/api.js:109
    writeFileSync(target, result.text, 'utf8')
  • 写入本地文件
    src/backend.js:133
    mkdirSync(this.root, { recursive: true, mode: 0o700 })
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DSH 数据库工作台:SQLite 面板 + Agent 工具 + storage hub 的 sqlite 后端(零依赖,用 Node 内置 node:sqlite)

README

由 DeepSeek 最新模型翻译生成
dsh-db 数据库工作台:连接 playground.db、表树、SQL 编辑器、导出 DeepSeek Harness 的数据库工作台插件:SQLite 连接管理 + SQL 编辑器 + 数据网格操控面板 + Agent 工具,并为 DSH 的 storage hub 补上官方尚未随包的 sqlite 后端。 基于 Node 内置的 node:sqlite(DatabaseSync)——零原生依赖、零编译、不跟 Electron ABI 较劲。 它给你三样东西 | 面 | 内容 | | 操控面板 | 左侧栏一个「数据库」图标 → 整页工作台:连接管理、表树、SQL 编辑器、可分页/排序/过滤的数据网格、单元格编辑、CSV/JSON 导出 | | Agent 工具 | 一个 db 工具(action 参数),让会话里的 Agent 直接查你的库、看 schema、跑写操作 | | storage 后端 | 在 ctx.storage 上注册名为 sqlite 的后端,其它插件可用 ctx.storageDomain 把域路由到 SQLite(官方 dsh-storage-json 的 README 已经引用了这个后端,但当前 build 没随包) | 面板按钮和 Agent 工具调的是同一份 Host 方法,不存在两套逻辑。
展开完整文档(README 剩余 1 节)
dsh-db

数据库工作台:连接 playground.db、表树、SQL 编辑器、导出

DeepSeek Harness 的数据库工作台插件:SQLite 连接管理 + SQL 编辑器 + 数据网格操控面板 + Agent 工具,并为 DSH 的 storage hub 补上官方尚未随包的 sqlite 后端。

基于 Node 内置的 node:sqlite(DatabaseSync)——零原生依赖、零编译、不跟 Electron ABI 较劲。

它给你三样东西

| 面 | 内容 |
| 操控面板 | 左侧栏一个「数据库」图标 → 整页工作台:连接管理、表树、SQL 编辑器、可分页/排序/过滤的数据网格、单元格编辑、CSV/JSON 导出 |
| Agent 工具 | 一个 db 工具(action 参数),让会话里的 Agent 直接查你的库、看 schema、跑写操作 |
| storage 后端 | 在 ctx.storage 上注册名为 sqlite 的后端,其它插件可用 ctx.storageDomain 把域路由到 SQLite(官方 dsh-storage-json 的 README 已经引用了这个后端,但当前 build 没随包) |

面板按钮和 Agent 工具调的是同一份 Host 方法,不存在两套逻辑。

安装

git clone https://github.com/406464/dsh-db.git
cd dsh-db && npm install && npm test # 自检,不依赖 DSH

在 DSH 里安装(任选其一):

Windows —— 从 npm & "D:\deepseek harness\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop add @406464/dsh-db

macOS 桌面端
DSH_CLI="/Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh"
"$DSH_CLI" plugin --profile desktop add @406464/dsh-db

还没发 npm 之前,直接从 GitHub 装:

"$DSH_CLI" plugin --profile desktop add github:406464/dsh-db

也可以从本地目录装:插件页 → 从本地目录安装,指向 clone 出来的 dsh-db 目录;或直接对 Agent 说「把 G:\path\to\dsh-db 装成插件」。

装完重启一次 DSH:宿主侧模块只在启动时加载一次。若侧栏没出现「数据库」,去插件页确认该 bundle 已启用。

配置

在 profile 的 cordis.patch.yml 里改这一行(用户层配置在升级后保留):

- name: 'dsh-db'
config:
root: ~/.dsh/plugin-data/dsh-db # 默认:从 profile 挂载点反推,反推不到就落 ~/.dsh defaultLimit: 200 # 面板/查询默认行数 maxLimit: 5000 # 单次可请求的上限 maxRows: 1000 # 硬行数闸 maxBytes: 262144 # 硬字节闸(超出即 truncated) agentDefaultLimit: 50 # Agent 侧默认 limit(省 context) allowWrite: false # 写 / DDL / 网格编辑总开关 allowAttach: false # ATTACH / DETACH(可跨文件读写,默认禁) allowAddConnection: false # 是否允许 Agent 登记新连接(面板不受此限) registerStorageBackend: true # 关掉就不注册 sqlite 后端
allowDirs: [] # 额外允许登记/导出的目录(绝对路径)

把某个域路由到 SQLite:

- name: '@deepseek-ai/dsh-storage'
- name: 'dsh-db'
- name: '@deepseek-ai/dsh-storage-domain'
config:
backend: json
routes:
mydomain: sqlite

安全默认

- 只访问已登记的连接:路径必须落在允许根(插件数据目录 + 各工作区 + allowDirs)内,未登记的文件打不开。
- 写操作两道闸:allowWrite 总开关 + 每次调用显式 confirm: true。
- 语句白名单起步:未识别的起始关键字直接拒;ATTACH/DETACH 默认拒;load_extension 永久拒。
- 结果有上限:行数与字节双闸,超出返回 truncated: true 而不是把整个表灌进 context。
- HTTP 面仅回环:/dsh-db/api/* 只接受本机请求,且只认 POST。

错误统一带稳定 code:write-disabled / confirm-required / forbidden-sql / path-out-of-scope / multi-statement / not-found / sql-error。

和同类插件的区别

npm 上已有 dsh-db-studio(SQLite / PostgreSQL / MySQL,带对话内数据库标签、/db 指令、查询历史)。两者定位不同,按需要选:

| | dsh-db(本项目) | dsh-db-studio |
| 数据库范围 | 只有 SQLite | SQLite + PG + MySQL |
| 依赖 | 零依赖(Node 内置 node:sqlite) | pg + mysql2 |
| storage hub 的 sqlite 后端 | 有(其它插件可把域路由到 SQLite) | 无 |
| 对话内绑定 / 查询历史 / /db 指令 | 无 | 有 |
| 写操作默认 | 关(allowWrite: false + 每次 confirm) | 开(allowWrite: true) |

要连公司里的 PG/MySQL、要在对话里挂着库随时问,选它。要一个不装任何原生/第三方依赖、并且能给整个 profile 补上 SQLite 存储后端的本地库工具,选这个。

发布与贡献

npm 发布、CI、代码结构和一次性配置(NPM_TOKEN 那些)写在 CONTRIBUTING.md。使用者不需要碰。

已知边界(诚实说明)

- node:sqlite 的 DatabaseSync 是同步的,跑在 Host 主线程。一条扫全表的大查询会卡住整个 Harness——node:sqlite 没有语句取消接口。当前用行数/字节闸 + 建议写 LIMIT 兜底;把重查询挪进 worker 线程在路线图上。
- query 只接受单语句(要一次跑多条用 exec)。
- 面板与 Agent 并发写连接表时,两侧通过文件 mtime 自动同步;但宿主代码改动需要重启才生效。

开发

npm run check # 全部文件语法检查
npm test # 27 组断言:语句分类、安全闸、schema、网格、写操作、导出、storage 契约
node test/seed-demo.mjs # 造一个 playground.db,面板和工具立刻有东西可看

许可

MIT
预览分享卡片长什么样 ↓406464/dsh-db
分享 · DeepSeek Harness Hub
406464/dsh-db

在面板里管理 SQLite 库并让 Agent 直接查改数据

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部