跳转至

dsh-data-agent

类型 智能体 分类 研究
星数 ⭐22 状态 ✅ 活跃
能力 research, coding 更新时间 2026-08-14

📖 项目简介

English | 中文 用AI写过SQL的同学都有这种体验,AI现在写代码能力已经很强了,但SQL逻辑老写不对。原因是AI并没有与数据库操作形成Agent Loop,它只能根据静态指令生成SQL,却无法感知执行结果、无法根据报错或返回数据动态调优。 这个插件就是来填这个坑的。它复用DeepSeek Harness强大的Agent主循环能力,让AI连上数据库并获得实时反馈,同时删掉所有跟数据无关的上下文和工具,让AI专注于SQL生成和业务数据分析。 我利用DeepSeek Harness的Agent预设功能,定义了专用的Data Agent预设。仅保留read、edit、write三个DSH自带的 tools,并自定义sqlcmd tool替代bash tool。 懂行的朋友一眼就能看出,这是借鉴了Pi Agent的设计,只使用最基本的工具。 用起来也很简单:在对话界面配好数据库连接,授权AI访问权限,然后就可以向AI提问,让AI帮你查询、更新、分析。

✨ 核心特性

  • 数据库连接管理:按会话连接 MySQL / PostgreSQL / SQLite / Oracle / Hive / Impala(SQLite 走文件路径,Oracle 填服务名/SID,Hive/Impala 填默认库),连接状态驻留服务端内存,布局切换不丢;密码仅
  • 数据库工作台(内嵌于会话输入框上方):连接配置卡(连接成功后折叠为摘要行,可展开查看);库表浏览(点击「库表」按钮弹出 Modal:单击库展开表列表(可滚动),点击表查看结构);SQL 命令框(编辑并运行 SQL,非 agent 通道,结果等宽展示)。连接配置持久化到浏览
  • sqlcmd 工具:在数据库客户端(mysql / psql / sqlite3 / sqlplus / beeline / impala-shell)执行 SQL/命令;无 shell 层(argv 数组化 + SQL 走 stdin),超时自动终止进程树,输出有界截断
  • 数据Agent 预设:新建会话可选「数据Agent」——工具面恰好是 sqlcmd/read/write/edit 四个,项目其他工具(bash、grep、skill、todo、goal、web、subagent 等)全部缺席即禁用;非数据Agent 会话
  • 标准 agent loop:data-agent 会话就是普通 DSH 会话,走标准 turn/step、流式输出、工具调度与持久化,零宿主改动。

📦 安装

# 从 npm 安装(首次使用会初始化该 profile)
dsh plugin --profile web add @yejiming/dsh-data-agent

🚀 快速开始

# 从 GitHub 源码安装(仓库已提交构建产物 lib/,安装时无需构建)
dsh plugin --profile web add github:omdsh-dev/dsh-data-agent

🔗 链接