DeepSeek Harness 插件

dsh-tool-sqlite

DSH SQLite data tool: list databases, list tables, and run read-only SQL queries over local .db/.sqlite files, zero-dependency (node:sqlite)(英文原文)

跳到安装方式

来源信息

GitHub 仓库
WODE25500/dsh-tool-sqlite
最近更新
2026年8月19日
分类
工具与能力
GitHub stars
1
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/WODE25500/dsh-tool-sqlite
插件名:dsh-tool-sqlite
作者:WODE25500

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

dsh-tool-sqlite

DeepSeek Harness 的 SQLite 数据工具插件 —— 列出工作区内的数据库文件、查看表结构、执行只读 SQL 查询。零依赖(直接使用 Node 内置 node:sqlite),不引入任何第三方数据库库。

> 定位:生态工具全家桶(dsh-tool-csv / dsh-tool-json / dsh-tool-markdown …)处理的是"文本形态"的数据;本插件补齐"文件形态"的数据库数据——Agent 会话里出现 .db / .sqlite 文件(导出快照、爬虫结果、本地应用数据)时,不需要再起 bash 调 sqlite3 命令行,一次函数调用即可拿到结构化结果。

注册工具

工具功能
sqlite_list扫描工作区(2 层内,跳过 node_modules 与隐藏目录)找出所有 .db/.sqlite/.sqlite3/.db3 文件
sqlite_tables列出某库内所有表与视图
sqlite_schema查看某表的列结构(类型 / NOT NULL / 默认值 / 主键)
sqlite_summary单表列统计摘要(总行数 + 每列类型/distinct/min/max/avg)——省 token:不用 SELECT * 全表即可了解数据分布
sqlite_query执行只读 SQL,返回 { columns, rows } JSON

> 省 token 工作流:面对一张大表时,先 sqlite_summary 看分布 → 再 sqlite_schema 看类型 → 最后用 sqlite_query 精准取数。三步替代"SELECT * 全表拉进上下文"。

安全模型

  • 只读硬约束:数据库始终以 readOnly: true 打开,INSERT/UPDATE/DELETE/CREATE/DROP/ATTACH 等写语句直接被 SQLite 拒绝(attempt to write a readonly database);
  • 语句白名单:仅放行 SELECT / WITH / PRAGMA / EXPLAIN / VALUES 开头的单条语句;只走 prepare(单语句),不走多语句 exec
  • 路径边界:所有 db 参数解析后必须位于工作区内,../ 与绝对路径越界直接报错;
  • 输出预算:结果默认 100 行、硬上限 500 行,超限明确标注截断,防输出膨胀;
  • 超时兜底:查询 5000ms、其余 3000ms。

安装

# cordis.yml / dsh.profile 引用
plugins:
  - id: tool-sqlite
    name: 'dsh-tool-sqlite'

或本地路径方式:

plugins:
  ./src/index.ts: {}

启动后控制台出现 [tool-sqlite] 相关日志即加载成功。

使用示例

sqlite_list → data/app.db
sqlite_tables db: data/app.db → users, orders
sqlite_schema db: data/app.db table: users → id INTEGER PK(1) / name TEXT NOT NULL …
sqlite_query db: data/app.db sql: "SELECT name, age FROM users WHERE age >= ?" params: [30]

开发

npm install
npm run check   # typecheck + test + build
  • Node 要求:^22.19.0 || >=24.0.0node:sqlite 需要 Node 22.5+)。
  • 核心逻辑在 src/sqlite-core.ts(纯函数、可单测),插件入口在 src/index.ts

许可

MIT