@yejiming/dsh-data-agent 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +100 -222
- package/README.md +100 -221
- package/dsh-plugin.json +1 -1
- package/lib/{catalog-CbxIDQBG.js → catalog-D0SV_6Jv.js} +1 -1
- package/lib/client.js +150 -150
- package/lib/{command-scZcZG11.js → command-CzqwgIFj.js} +1 -1
- package/lib/command.js +1 -1
- package/lib/{connections-dGPjgsGg.js → connections-eb9xwiLF.js} +25 -5
- package/lib/index.js +4 -4
- package/lib/routes.js +2 -2
- package/lib/{tool-Du1EadNP.js → tool-B7CC1EPd.js} +1 -1
- package/lib/tool.js +1 -1
- package/lib/types/clients.d.ts +7 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
# DSH Data Agent ·
|
|
1
|
+
# DSH Data Agent · 用对话分析数据与商业洞察
|
|
2
2
|
|
|
3
3
|
**中文** | [English](README.en.md)
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
6
|
-
<img src="assets/
|
|
6
|
+
<img src="assets/banner.webp" alt="DSH Data Agent Banner" width="100%">
|
|
7
7
|
</p>
|
|
8
|
+
|
|
8
9
|
<p align="center">
|
|
9
10
|
<img src="https://img.shields.io/github/v/release/omdsh-dev/dsh-data-agent?style=flat-square" alt="Version">
|
|
10
11
|
|
|
@@ -16,275 +17,153 @@
|
|
|
16
17
|
|
|
17
18
|
<img src="https://img.shields.io/badge/license-MIT-blue?style=flat-square" alt="License">
|
|
18
19
|
</p>
|
|
20
|
+
|
|
19
21
|
<p align="center">
|
|
20
|
-
<
|
|
21
|
-
|
|
22
|
-
<p align="center">
|
|
23
|
-
<strong>让DeepSeek Harness连接数据库,用对话完成数据分析与商业洞察</strong><br>
|
|
24
|
-
<em>自然语言查询 · 自动执行SQL · 连续分析 · Web UI · dsh-tui · 只读保护</em>
|
|
22
|
+
<strong>专为数据分析与商业分析人打造的 DeepSeek 智能数据分析助手</strong><br>
|
|
23
|
+
<em>自然语言提问 · 自动编写执行 SQL · 智能图表与报告 · AI 辅助业务治理 · 深度商业洞察 · 本地安全只读</em>
|
|
25
24
|
</p>
|
|
26
25
|
|
|
27
26
|
<p align="center">
|
|
28
27
|
|
|
29
|
-
[
|
|
28
|
+
[产品亮点](#产品亮点) · [快速上手](#快速上手) · [使用场景](#使用场景) · [工作台与报告](#工作台与报告产物) · [支持数据源](#支持数据源) · [安全与隐私](#安全与隐私) · [常见问题](#常见问题) · [开源协议](#开源协议)
|
|
30
29
|
|
|
31
30
|
</p>
|
|
32
31
|
|
|
33
|
-
##
|
|
34
|
-
|
|
35
|
-
dsh-data-agent是DeepSeek Harness(DSH)的数据分析插件。连接数据库后,直接提出业务问题,DSH会自动查看库表、编写并执行SQL、根据真实结果继续分析,最终给出清晰的数据结论和商业洞察。插件同时支持Web UI与dsh-tui,无需修改DSH源码。
|
|
36
|
-
|
|
37
|
-

|
|
38
|
-
|
|
39
|
-
## 主要功能
|
|
40
|
-
|
|
41
|
-

|
|
42
|
-
|
|
43
|
-
- **通过对话完成数据分析**:直接用自然语言描述目标,DSH会理解问题、拆解分析步骤、查询真实数据并整理结论。你可以继续追问,分析会沿着当前上下文逐步深入。
|
|
44
|
-
- **自动寻找商业洞察**:不仅返回查询结果,还能帮助比较趋势、定位异常、识别高价值客户或商品,并把数据转化为便于业务决策的说明。
|
|
45
|
-
- **AI驱动的数据治理**:使用当前DSH会话配置的AI模型扫描数据库,根据库表、字段、注释和关系,为每张表及每个字段生成业务含义候选。所有AI候选都需要人工确认,用户也可以人工补充业务术语和指标定义。后续查询分析时,数据Agent会通过内置的`catalog-search`、`catalog-get`和`metric-get`工具自动读取相关业务定义,让SQL和分析结论基于经过治理的业务口径。
|
|
46
|
-
- **跨界面HTML分析报告(render-analysis)**:Agent可在普通工具调用里自主生成单图或Dashboard式综合分析报告(metric/line/bar/pie/scatter/table视图)。每次成功调用都会在当前工作目录的`analysis-reports/`中保存一份离线可打开的HTML;Web同时提供内联预览与“查看分析”Modal,dsh-tui直接返回文件路径。是否画图由Agent按问题判断,schema探查、单标量等查询不会被强制生成图表。
|
|
47
|
-
- **共享Web UI与dsh-tui核心路径**:喜欢可视化操作时,可以在Web界面连接数据库、浏览库表和查看结果,推荐使用[zhu1090093659/dsh-web-ui](https://github.com/zhu1090093659/dsh-web-ui);习惯键盘工作流时,可以在终端中使用同一“数据模式”,通过`/database`完成连接,然后直接开始对话分析,推荐使用[ccch1mneyyy/dsh-TUI](https://github.com/ccch1mneyyy/dsh-TUI)。两种界面共享数据Agent的数据库服务和工具协议;具体版本与部署仍应分别验证。
|
|
48
|
-
- **连接常见业务数据库**:支持MySQL、PostgreSQL、SQLite、Oracle、Hive、Impala、ClickHouse、Apache Doris和SQL Server,可用于业务系统、分析库、本地数据文件及数仓场景。
|
|
49
|
-
- **DSH自动完成分析闭环**:DSH会根据当前问题查看表结构、编写SQL、执行查询,并结合报错或返回结果继续调整,而不是只生成一段未经验证的SQL。
|
|
50
|
-
- **专注数据任务的数据模式**:会话使用DSH原生`str_replace_editor`处理文件,并保留`sql-query`、`sql-write`、`sql-cmd`、`render-analysis`、`catalog-search`、`catalog-get`与`metric-get`;Web、Desktop、dsh-tui和headless profile使用同一套八工具协议。`describe_image`、`ssh_*`等宿主或社区插件工具不会进入数据模式。
|
|
51
|
-
- **安全地使用真实数据**:支持只读模式和数据库只读账号;TUI密码会被隐藏,且不会作为表单草稿恢复。是否允许修改数据由你决定。
|
|
32
|
+
## 产品亮点
|
|
52
33
|
|
|
53
|
-
|
|
34
|
+
每次做数据分析,都要反复提需求写 SQL、手动导出 Excel 拼接加工、在多个图表工具里调格式?面对繁杂的库表和晦涩的英文缩写字段,业务含义无从查起?
|
|
54
35
|
|
|
55
|
-
|
|
36
|
+
**DSH Data Agent 让数据分析回归业务决策本身:**
|
|
56
37
|
|
|
57
|
-
|
|
38
|
+
- 💬 **零门槛对话即分析**:告别繁琐的 SQL 语法,直接用大白话提问(如“对比最近 30 天各渠道转化率”)。AI 会自动理解业务意图、探查库表结构、编写并执行查询、连续推演并输出清晰结论。
|
|
39
|
+
- 📊 **自动生成高品质图表与看板**:告别枯燥的纯文本与黑白表格。根据分析结论自动绘制折线图、柱状图、饼图、散点图或多维数据看板(Dashboard),并一键导出离线 HTML 报告方便分享汇报。
|
|
40
|
+
- 🧠 **深度挖掘商业洞察**:不止是罗列查询数字,还能自动比较波动趋势、定位异常原因、识别高价值客群与畅销品类,把冷冰冰的数据转化为可直接落地的业务建议。
|
|
41
|
+
- 🏷️ **AI 驱动的业务口径治理**:智能扫描数据库,自动为库表和字段标注通俗易懂的业务含义,支持人工审核与指标定义,确保每一次分析都基于统一、准确的业务口径。
|
|
42
|
+
- 🔒 **本地安全与只读保护**:原生支持只读账号与只读模式,查询分析全程在本地安全受控运行,凭据严格保密,保障企业生产数据安全无忧。
|
|
43
|
+
- 🖥️ **现代 Web 与高效终端双体验**:既可在直观的可视化 Web 界面中点击配置与浏览图表,也可在极客高效的命令行终端(dsh-tui)中一键唤起。
|
|
58
44
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-

|
|
64
|
-
|
|
65
|
-
### 数据治理
|
|
45
|
+
<p align="center">
|
|
46
|
+
<img src="assets/features.webp" alt="DSH Data Agent 核心特性" width="100%">
|
|
47
|
+
</p>
|
|
66
48
|
|
|
67
|
-
|
|
49
|
+
## 快速上手
|
|
68
50
|
|
|
69
|
-
|
|
51
|
+
### 1. 运行环境准备
|
|
70
52
|
|
|
71
|
-
|
|
53
|
+
- **DeepSeek Harness**(DSH 运行时环境)
|
|
54
|
+
- 本机可访问目标数据库(支持本地 SQLite 文件或局域网/云端数据库)
|
|
72
55
|
|
|
73
|
-
|
|
56
|
+
### 2. 快速安装
|
|
74
57
|
|
|
75
|
-
|
|
58
|
+
在终端执行以下命令直接从 npm 安装插件:
|
|
76
59
|
|
|
77
|
-
```
|
|
60
|
+
```bash
|
|
61
|
+
# 安装到 Web 界面(推荐)
|
|
78
62
|
dsh plugin --profile web add @yejiming/dsh-data-agent
|
|
79
|
-
```
|
|
80
63
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
```sh
|
|
84
|
-
dsh plugin --profile web add github:omdsh-dev/dsh-data-agent
|
|
64
|
+
# 或安装到终端命令行(dsh-tui)
|
|
65
|
+
dsh plugin --profile dsh-tui add @yejiming/dsh-data-agent
|
|
85
66
|
```
|
|
86
67
|
|
|
87
|
-
|
|
68
|
+
### 3. 开始分析
|
|
88
69
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
```sh
|
|
70
|
+
#### 方式一:Web 界面(推荐)
|
|
71
|
+
启动 Web 控制台后,新建会话并选择 **「数据模式」**:
|
|
72
|
+
```bash
|
|
94
73
|
dsh --profile web
|
|
95
74
|
```
|
|
75
|
+
1. 点击输入框右上角的 **数据库图标**,在弹出的工作台中填写连接信息(支持测试连接);
|
|
76
|
+
2. 连接成功后,直接在对话框中用自然语言提出你的业务分析问题;
|
|
77
|
+
3. 根据初步结论继续追问,AI 会沿着上下文层层下钻深挖。
|
|
96
78
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
2. 点击输入框右上角的数据库按钮,在工作台Modal中填写连接信息。
|
|
101
|
-
3. 连接成功后,直接在对话框中提出分析问题。
|
|
102
|
-
4. 根据第一轮结果继续追问,让DSH缩小范围、比较维度或总结结论。
|
|
103
|
-
|
|
104
|
-
未加载`@deepseek-harness-tui/dsh-tui`的Web命令目录不会展示`/database`或`/catalog`;连接、扫描、取消和目录审核均从数据库工作台完成。
|
|
105
|
-
|
|
106
|
-
例如,输入“分析最近30天订单变化,找出销售额下降最明显的地区和商品,并解释主要原因”,DSH会自行查看相关表、生成并执行查询,再根据真实结果完成分析。
|
|
107
|
-
|
|
108
|
-
### 分析报告与HTML文件
|
|
109
|
-
|
|
110
|
-
数据模式提供render-analysis工具:Agent会先用sql-query探查并核对事实,再自行判断可视化是否有帮助。判断需要画图时,一次工具调用会生成一份版本化分析报告:
|
|
111
|
-
|
|
112
|
-
- 报告包含 1-6 个只读数据集与 1-8 个视图(metric、line、bar、pie、scatter、table),同一数据集可被多个视图复用,聚合与 Top N 都写在 SQL 中;
|
|
113
|
-
- 简单问题生成单个主图(结果行内联预览),复杂问题生成紧凑摘要 + 「查看分析」按钮;
|
|
114
|
-
- 「查看分析」在大型 Modal 中展示本次报告的全部视图:紧凑指标带、全宽主图、双列辅助图与明细表,浅色/深色主题与窄屏单列自适应;
|
|
115
|
-
- 无论当前使用哪种UI,完整Dashboard都会原子保存到会话工作目录的`analysis-reports/*.html`,并在支持的DSH界面进入“产物”栏;文件名默认使用报告标题,也可用语义化`outputName`指定basename,不追加长UUID;文件内联数据、样式和SVG渲染代码,断网时也能直接打开;
|
|
116
|
-
- 完整报告快照随会话日志持久化:刷新或历史回放不重新查询数据库,也不产生新的浏览器存储;
|
|
117
|
-
- Web仍从同一份报告meta渲染预览;Node侧HTML生成器不加载ECharts或Web client代码。
|
|
118
|
-
|
|
119
|
-
## 在dsh-tui中使用
|
|
120
|
-
|
|
121
|
-
把Data Agent安装到dsh-tui profile即可;`render-analysis`不要求特定dsh-TUI版本或scene能力。Catalog持续状态和全屏结果浏览会在dsh-tui提供公开`status`/`scene`扩展服务时自动启用:
|
|
122
|
-
|
|
123
|
-
```sh
|
|
124
|
-
dsh plugin --profile dsh-tui add @yejiming/dsh-data-agent
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
启动终端界面:
|
|
128
|
-
|
|
129
|
-
```sh
|
|
79
|
+
#### 方式二:终端命令行(dsh-tui)
|
|
80
|
+
适合键盘流与极客用户,在终端中快速连接并展开分析:
|
|
81
|
+
```bash
|
|
130
82
|
dsh --profile dsh-tui
|
|
131
83
|
```
|
|
84
|
+
在会话中输入 `/preset data-agent` 切换模式,输入 `/database connect` 连接数据库,即可开始提问。
|
|
132
85
|
|
|
133
|
-
|
|
86
|
+
## 使用场景
|
|
134
87
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
88
|
+
| 场景分类 | 提示词示例 |
|
|
89
|
+
| :--- | :--- |
|
|
90
|
+
| 📈 **销售与营收复盘** | *"分析最近 30 天各渠道销售额与环比变化,找出下滑最明显的商品品类,并分析主要原因"* |
|
|
91
|
+
| 👥 **用户画像与客群分层** | *"根据近半年的购买频次和客单价对会员进行 RFM 分层,统计各层级用户的留存率与复购周期"* |
|
|
92
|
+
| 🛒 **运营转化与漏斗分析** | *"统计本月新用户从注册、搜索、加购到下单的各环节转化率,找出流失率最高的步骤"* |
|
|
93
|
+
| 📦 **库存与供应链监控** | *"排查周转天数超过 60 天的高库存 SKU,结合近期销售速度预测断货或积压风险"* |
|
|
94
|
+
| 📑 **周报 / 月报自动生成** | *"汇总上周核心业务指标(GMV、活跃用户数、客单价),生成一段适合汇报的管理层周报小结"* |
|
|
139
95
|
|
|
140
|
-
|
|
96
|
+
## 工作台与报告产物
|
|
141
97
|
|
|
142
|
-
|
|
98
|
+
### 1. 多功能数据库工作台
|
|
99
|
+
Web 界面内置一站式数据库工作台,包含 **连接配置**、**库表浏览**、**数据治理** 与 **SQL 执行** 四大功能模块,方便在对话之余随时查验数据资产。
|
|
143
100
|
|
|
144
|
-
|
|
145
|
-
/
|
|
146
|
-
|
|
147
|
-
/database disconnect 断开当前连接
|
|
148
|
-
/catalog scan 交互选择并启动Catalog扫描
|
|
149
|
-
/catalog status [--run <run-id>] 查看最近结果或指定run
|
|
150
|
-
/catalog diff 比较最近两个成功snapshot
|
|
151
|
-
/catalog view 打开按表组织的只读Catalog结果
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
扫描开始后无需反复执行`/catalog status`:输入框上方会持续显示技术采集和AI业务含义进度,并保留最终成功/失败状态。完成后执行`/catalog view`,使用↑↓或`j/k`选择表、Tab或←→切换左右区域、`/`搜索、`a`切换业务Schema/全部Schema、`r`刷新、Esc返回。TUI只提供读取;AI候选的确认与删除仍在Web“数据治理”页逐项完成。
|
|
155
|
-
|
|
156
|
-
Agent生成分析报告后,工具卡会显示数据集、视图、空数据摘要与HTML绝对路径。TUI不会输出字符Dashboard,也没有`/analysis`命令;直接在本机浏览器中打开该HTML即可查看六类视图和原始数据。文件来自本次工具调用,`/resume`不会重新查询数据库。
|
|
157
|
-
|
|
158
|
-
同一会话再次打开连接表单时,会优先恢复该会话最近填写的数据库类型、地址、端口、用户、数据库、ClickHouse HTTPS和只读模式,并从已连接profile恢复凭据引用。新会话没有自己的配置时,会用最近一次成功连接的非敏感profile作为表单默认值,但仍是未连接状态,必须确认连接后才能查询。临时密码始终隐藏且不会恢复。
|
|
159
|
-
|
|
160
|
-
## 推荐的提问方式
|
|
161
|
-
|
|
162
|
-
为了获得更有价值的分析,可以在问题中补充业务目标、时间范围和关注维度。例如:
|
|
163
|
-
|
|
164
|
-
```text
|
|
165
|
-
分析2026年第二季度各地区的销售额和毛利率变化,找出表现异常的地区,
|
|
166
|
-
继续拆解到品类和核心客户,并给出三条可执行的业务建议。
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
你也可以让DSH保存分析过程或SQL,方便复查和复用:
|
|
170
|
-
|
|
171
|
-
```text
|
|
172
|
-
完成会员复购分析,把最终SQL保存到analysis/repurchase.sql,
|
|
173
|
-
并用一段适合周报的文字总结主要发现。
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
## 使用前准备
|
|
177
|
-
|
|
178
|
-
DSH运行查询时需要本机能够访问目标数据库,并安装相应的数据库客户端:
|
|
179
|
-
|
|
180
|
-
- SQLite通常已随macOS或Linux提供。
|
|
181
|
-
- MySQL需要`mysql`客户端。
|
|
182
|
-
- PostgreSQL需要`psql`客户端。
|
|
183
|
-
- Oracle、Hive和Impala需要各自的命令行客户端。
|
|
184
|
-
- Apache Doris通过MySQL协议连接,默认端口9030,需要支持`utf8mb4`的`mysql`客户端;首版只浏览当前/internal catalog中的数据库和表。
|
|
185
|
-
- SQL Server默认端口1433,需要Microsoft ODBC `sqlcmd` 18.x;首版只支持SQL Login,不支持集成/Windows/Entra认证、DSN或命名实例。
|
|
186
|
-
- ClickHouse不需要`clickhouse-client`。插件使用随包安装的官方`@clickhouse/client` 1.23.x HTTP适配器:HTTP默认8123;勾选HTTPS后默认8443并正常验证服务器证书。实际ClickHouse Server/Cloud组合仍应通过部署侧冒烟验证,不能据此推断所有Cloud/TLS配置都兼容。
|
|
187
|
-
|
|
188
|
-
插件会先使用当前profile进程的PATH;找不到时,会继续检查客户端HOME环境变量以及Windows、macOS、Linux的常见安装位置,包括Homebrew、MacPorts、Linuxbrew、Snap、Nix、WinGet Links、Scoop、Chocolatey和Program Files下的版本目录。自动发现使用的补充PATH也会传给实际客户端进程,因此从Finder启动的DSH Desktop通常无需再为Homebrew客户端手工配置路径。
|
|
189
|
-
|
|
190
|
-
插件调用MySQL或Doris客户端时会内置`--default-character-set=utf8mb4`,确保Windows代码页不会使库名、表名、字段名或查询结果中的中文在进入DSH前乱码,无需在profile中重复配置该参数。
|
|
191
|
-
|
|
192
|
-
库表元数据浏览支持由Unicode字母、组合标记、数字以及`_`、`$`组成的schema和表名,数据库返回的字段名会原样展示。例如SQLite中的`中文表名`及其`姓名`字段可以直接在工作台中浏览。为保持元数据SQL边界明确,schema和表名中的空白、控制字符、引号、反引号、反斜杠、分号、点号、连字符及其他标点仍会在启动数据库客户端前被拒绝。
|
|
193
|
-
|
|
194
|
-
SQL Server查询使用T-SQL `TOP`或已有的`OFFSET ... FETCH`限行,绝不会追加`LIMIT`。为避免`sqlcmd`自身脚本能力绕过SQL边界,输入中的`GO`、`!!`、冒号命令和`$(...)`变量替换会在启动客户端前被拒绝。插件不会默认添加`-C`或其他“信任服务器证书”选项。
|
|
195
|
-
|
|
196
|
-
如果客户端安装在公司工具链或其他自定义目录,可在当前profile的`data-agent`配置中补充搜索目录;需要锁定具体版本时则直接填写绝对命令路径,也可通过`args`添加其他CLI参数。当前profile的PATH始终优先,`searchPaths`在系统常见目录之前:
|
|
197
|
-
|
|
198
|
-
```yaml
|
|
199
|
-
- id: data-agent
|
|
200
|
-
config:
|
|
201
|
-
clients:
|
|
202
|
-
mysql:
|
|
203
|
-
searchPaths:
|
|
204
|
-
- /opt/company/mysql/bin
|
|
205
|
-
# command: /opt/company/mysql/bin/mysql
|
|
206
|
-
# args:
|
|
207
|
-
# - --protocol=tcp
|
|
208
|
-
# Doris也可覆盖mysql客户端位置:
|
|
209
|
-
# doris:
|
|
210
|
-
# searchPaths: [/opt/company/mysql/bin]
|
|
211
|
-
# SQL Server可覆盖Microsoft ODBC sqlcmd位置:
|
|
212
|
-
# sqlserver:
|
|
213
|
-
# searchPaths: [/opt/mssql-tools18/bin]
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
Windows路径可以写成`C:\Program Files\MySQL\MySQL Server 9.0\bin`。插件不会下载数据库客户端、执行登录shell或扫描整块磁盘;位于非常规目录且未进入PATH时,仍需使用`searchPaths`或`command`。
|
|
217
|
-
|
|
218
|
-
建议先准备一个只读数据库账号,让数据Agent在不修改业务数据的前提下完成探索和分析。
|
|
101
|
+
<p align="center">
|
|
102
|
+
<img src="assets/tables.webp" alt="数据库工作台" width="90%">
|
|
103
|
+
</p>
|
|
219
104
|
|
|
220
|
-
|
|
105
|
+
### 2. AI 辅助数据治理
|
|
106
|
+
在工作台中打开“数据治理”,AI 会自动扫描库表结构并生成直观的中文业务释义,支持逐项确认、删除与补充业务指标,告别“字段对齐全靠问同事”的尴尬。
|
|
221
107
|
|
|
222
|
-
|
|
108
|
+
<p align="center">
|
|
109
|
+
<img src="assets/data-governance.webp" alt="AI 数据治理" width="90%">
|
|
110
|
+
</p>
|
|
223
111
|
|
|
224
|
-
|
|
225
|
-
-
|
|
226
|
-
- 需要跨进程恢复认证时,可以在TUI表单填写DSH credential reference,或通过`--password-ref`传入;表单会恢复引用名,但不会读取、显示或持久化解析后的密码。
|
|
227
|
-
- MySQL/Doris和SQL Server密码分别只传入`MYSQL_PWD`和`SQLCMDPASSWORD`;ClickHouse密码只进入官方HTTP客户端的认证字段,不进入URL、argv或持久化配置。
|
|
228
|
-
- Catalog仅持久化脱敏source摘要、系统元数据、版本与人工口径;不保存密码、credential解析值、客户端stdout/stderr、业务查询结果或样例行。
|
|
229
|
-
- 未开启只读模式时,数据Agent可以按你的要求执行更新或管理语句。连接生产数据库前,请先确认账号权限和数据备份策略。
|
|
230
|
-
- 不同会话的数据库连接相互隔离,便于分别处理不同项目、客户或分析环境。
|
|
231
|
-
- 插件及其生态适配器都运行在DSH进程内,不是OS、进程或realm沙箱;生态permission只能用于准入协商,不能替代数据库账号权限、网络隔离或运行环境安全策略。
|
|
112
|
+
### 3. 交互式离线分析报告
|
|
113
|
+
当分析需要可视化呈现时,Agent 会自动生成单图或多维 Dashboard,并自动在工作目录的 `analysis-reports/` 目录下保存独立的离线 HTML 报告。包含丰富的指标卡、动态图表与明细数据表,无需网络即可随时双击打开或发送给同事。
|
|
232
114
|
|
|
233
|
-
|
|
115
|
+
<p align="center">
|
|
116
|
+
<img src="assets/charts.webp" alt="分析报告图表" width="90%">
|
|
117
|
+
</p>
|
|
234
118
|
|
|
235
|
-
|
|
236
|
-
dsh plugin --profile web remove @yejiming/dsh-data-agent
|
|
237
|
-
dsh plugin --profile desktop remove @yejiming/dsh-data-agent
|
|
238
|
-
dsh plugin --profile dsh-tui remove @yejiming/dsh-data-agent
|
|
239
|
-
```
|
|
119
|
+
## 支持数据源
|
|
240
120
|
|
|
241
|
-
|
|
121
|
+
DSH Data Agent 广泛支持各类主流业务数据库、分析型数仓及本地文件:
|
|
242
122
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
123
|
+
- 🐬 **关系型数据库**:MySQL, PostgreSQL, SQLite, Oracle, Microsoft SQL Server
|
|
124
|
+
- ⚡ **分析型数仓 / OLAP**:ClickHouse, Apache Doris, Apache Hive, Apache Impala
|
|
125
|
+
- 📁 **本地与轻量数据**:SQLite 数据文件(即开即用,无需额外服务)
|
|
246
126
|
|
|
247
|
-
|
|
127
|
+
## 安全与隐私
|
|
248
128
|
|
|
249
|
-
|
|
129
|
+
- 🛡️ **严格只读保护**:推荐使用只读数据库账号,并在连接时开启“只读模式”,确保不会意外修改或删除业务数据。
|
|
130
|
+
- 🔑 **凭据安全隔离**:连接密码仅在当前会话运行时使用,不记录在明文历史中,绝不上报远程服务器。
|
|
131
|
+
- 💻 **纯本地执行**:数据查询与分析报告生成均在本地安全受控运行,全面守护企业商业机密。
|
|
250
132
|
|
|
251
|
-
|
|
252
|
-
pnpm install
|
|
253
|
-
pnpm build
|
|
254
|
-
pnpm test
|
|
255
|
-
pnpm conformance
|
|
256
|
-
```
|
|
133
|
+
## 常见问题
|
|
257
134
|
|
|
258
|
-
|
|
135
|
+
<details>
|
|
136
|
+
<summary><b>Q: 我完全不会写 SQL,能用它做好数据分析吗?</b></summary>
|
|
137
|
+
完全可以!DSH Data Agent 专门面向非技术背景的业务人员与分析师设计。你只需用平时的业务语言描述需求,AI 会自动理解意图、查找对应的数据表、编写并执行准确的 SQL 查询,并将结果整理成通俗易懂的商业图表与结论。
|
|
138
|
+
</details>
|
|
259
139
|
|
|
260
|
-
|
|
140
|
+
<details>
|
|
141
|
+
<summary><b>Q: 连接生产数据库会不会有误删或误改数据的风险?</b></summary>
|
|
142
|
+
不会。我们建议连接时配置数据库只读账号并勾选“只读模式”。在只读保护下,任何写入、修改、删除(如 UPDATE, DELETE, DROP)等高危指令都会被严格拦截,保障生产数据绝对安全。
|
|
143
|
+
</details>
|
|
261
144
|
|
|
262
|
-
|
|
145
|
+
<details>
|
|
146
|
+
<summary><b>Q: 公司的数据库表名和字段都是缩写拼音/英文,AI 能看懂吗?</b></summary>
|
|
147
|
+
可以。你可以使用内置的“数据治理”功能,让 AI 结合表注释和字段上下文一键扫描生成业务释义,你也可以手动录入公司特有的术语和计算公式(如“净成交额 = 订单金额 - 退款金额”),AI 会在后续分析中自动采用这些经过确认的业务口径。
|
|
148
|
+
</details>
|
|
263
149
|
|
|
264
|
-
|
|
150
|
+
<details>
|
|
151
|
+
<summary><b>Q: 生成的分析报告如何分享给不使用 DSH 的同事或领导?</b></summary>
|
|
152
|
+
每次生成的图表报告都会在本地保存为独立的 <code>.html</code> 文件(位于 <code>analysis-reports/</code> 目录)。该文件内置了所有图表样式与交互数据,无需安装任何软件或连接网络,直接通过微信、邮件或钉钉发送给同事,用任意浏览器双击即可全屏查看与交互。
|
|
153
|
+
</details>
|
|
265
154
|
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
| Manifest | `dsh-plugin.json`,`manifestVersion: 0.15`,包身份 `@yejiming/dsh-data-agent@0.1.2` |
|
|
271
|
-
| 准入结果 | 仓库内 eligible fixture 为 `compatible`;这不是实际 dsh-TUI Host 的准入结论 |
|
|
272
|
-
| 证据等级 | `Parsed`;fixture negotiation 只记录为 `fixture-only`,不提升为 `Negotiated` |
|
|
273
|
-
| 已执行环境 | 离线 parser/projector/definition 校验;`@dsh-std/adapter-dsh@0.1.0-rc3` 一次性本地 fixture 挂载/卸载 |
|
|
274
|
-
| Artifact | 发布物身份为包名和版本;tarball SHA-256 只在真实 `npm pack` 后写入工作树外 sidecar,不嵌入 source manifest |
|
|
275
|
-
| 未验证 | 真实 Host Descriptor、真实 Web/Desktop/dsh-tui、真实 TTY、数据库、remote、attach/detach、多 Presentation、`Observed`、`Attested` |
|
|
155
|
+
<details>
|
|
156
|
+
<summary><b>Q: 如果对分析出来的图表或结论有疑问,可以继续追问吗?</b></summary>
|
|
157
|
+
当然可以!就像和真实的专业分析师沟通一样,你可以在当前对话中继续追问(例如“再帮我按省份拆解一下”、“把柱状图换成饼图”、“为什么华东区 5 月份环比下降了”),AI 会基于上一步的结果继续深入分析。
|
|
158
|
+
</details>
|
|
276
159
|
|
|
277
|
-
|
|
160
|
+
## 开源协议
|
|
278
161
|
|
|
279
|
-
|
|
162
|
+
本项目基于 [MIT License](LICENSE) 开源。
|
|
280
163
|
|
|
281
164
|
## 友情链接
|
|
282
165
|
|
|
283
|
-
- [dshfind.com](https://dshfind.com)
|
|
284
|
-
- [dsh-web-ui](https://github.com/dsh-external/dsh-web-ui):DeepSeek Harness
|
|
285
|
-
- [dsh-cc-tui](https://github.com/dsh-external/dsh-cc-tui)
|
|
286
|
-
- [platonai/Browser4](https://github.com/platonai/Browser4)
|
|
287
|
-
|
|
288
|
-
## 许可
|
|
289
|
-
|
|
290
|
-
MIT
|
|
166
|
+
- [dshfind.com](https://dshfind.com):DeepSeek Harness 插件与生态发现社区
|
|
167
|
+
- [dsh-web-ui](https://github.com/dsh-external/dsh-web-ui):DeepSeek Harness 可扩展 Web UI
|
|
168
|
+
- [dsh-cc-tui](https://github.com/dsh-external/dsh-cc-tui):DeepSeek Harness 终端全屏交互界面
|
|
169
|
+
- [platonai/Browser4](https://github.com/platonai/Browser4):面向智能体的大规模 Web 自动化浏览器引擎
|
package/dsh-plugin.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { b as DATABASE_TYPES, r as redactSecretText } from "./connections-
|
|
1
|
+
import { b as DATABASE_TYPES, r as redactSecretText } from "./connections-eb9xwiLF.js";
|
|
2
2
|
import { a as catalogSemanticRevisionId, c as normalizeCatalogIdentifier, i as catalogSemanticId, l as normalizeCatalogText, n as catalogAssetId, o as catalogSourceId, r as catalogRevisionId, s as catalogTechnicalFingerprint, t as canonicalCatalogIdentity, u as stableJson } from "./catalog-identity-CVftmvQL.js";
|
|
3
3
|
import { createHash } from "node:crypto";
|
|
4
4
|
import { basename } from "node:path";
|