@yejiming/dsh-data-agent 0.1.2 → 0.1.4
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 +102 -222
- package/README.md +102 -221
- package/conformance/dsh-ecosystem/inventory.json +1 -0
- package/dsh-plugin.json +1 -1
- package/lib/{catalog-CbxIDQBG.js → catalog-D0SV_6Jv.js} +1 -1
- package/lib/client.js +382 -171
- package/lib/client.js.map +1 -1
- 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/catalog-tools.d.ts +1 -1
- package/lib/types/client/DataAgentHeroControls.d.ts +24 -0
- package/lib/types/client/DataAgentWorkbench.d.ts +8 -2
- package/lib/types/client/analysis-view-model.d.ts +1 -1
- package/lib/types/client/index.d.ts +2 -2
- package/lib/types/client/workbench-open.d.ts +37 -0
- package/lib/types/client/workbench-placeholder.d.ts +6 -0
- package/lib/types/clients.d.ts +7 -0
- package/package.json +82 -53
package/README.en.md
CHANGED
|
@@ -1,291 +1,171 @@
|
|
|
1
|
-
# DSH Data Agent ·
|
|
1
|
+
# DSH Data Agent · Data Analysis & Business Insights via Conversation
|
|
2
2
|
|
|
3
3
|
[中文](README.md) | **English**
|
|
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
|
|
|
11
12
|
<a href="https://dshfind.com/en/plugins/omdsh-dev/dsh-data-agent?ref=badge"><img src="https://dshfind.com/api/badge/omdsh-dev/dsh-data-agent" alt="dshfind badge"></a>
|
|
12
13
|
|
|
14
|
+
<a href="https://dshfind.com/en/plugins/omdsh-dev/dsh-data-agent?ref=badge"><img src="https://dshfind.com/api/badge/omdsh-dev/dsh-data-agent?metric=downloads" alt="dshfind downloads"></a>
|
|
15
|
+
|
|
13
16
|
<img src="https://img.shields.io/github/stars/omdsh-dev/dsh-data-agent?style=flat-square" alt="Stars">
|
|
14
17
|
|
|
15
18
|
<img src="https://img.shields.io/npm/v/@yejiming%2Fdsh-data-agent?style=flat-square&label=npm" alt="npm">
|
|
16
19
|
|
|
17
20
|
<img src="https://img.shields.io/badge/license-MIT-blue?style=flat-square" alt="License">
|
|
18
21
|
</p>
|
|
22
|
+
|
|
19
23
|
<p align="center">
|
|
20
|
-
<
|
|
21
|
-
</
|
|
22
|
-
<p align="center">
|
|
23
|
-
<strong>Connect DeepSeek Harness to databases and turn conversations into data analysis and business insights</strong><br>
|
|
24
|
-
<em>Natural-language queries · Automatic SQL execution · Iterative analysis · Web UI · dsh-tui · Read-only protection</em>
|
|
24
|
+
<strong>Intelligent Data & Business Analysis Assistant for DeepSeek Harness</strong><br>
|
|
25
|
+
<em>Natural-Language Queries · Automatic SQL Execution · Smart Charts & Dashboards · AI Data Governance · Business Insights · Secure Local Read-Only</em>
|
|
25
26
|
</p>
|
|
26
27
|
|
|
27
28
|
<p align="center">
|
|
28
29
|
|
|
29
|
-
[
|
|
30
|
+
[Highlights](#product-highlights) · [Quick Start](#quick-start) · [Use Cases](#use-cases) · [Workbench & Reports](#workbench--reports) · [Supported Data Sources](#supported-data-sources) · [Security & Privacy](#security--privacy) · [FAQ](#faq) · [License](#license)
|
|
30
31
|
|
|
31
32
|
</p>
|
|
32
33
|
|
|
33
|
-
##
|
|
34
|
-
|
|
35
|
-
dsh-data-agent is a data analysis plugin for DeepSeek Harness (DSH). Connect a database and ask a business question; DSH inspects schemas, writes and runs SQL, continues the analysis from real results, and returns clear conclusions and business insights. The plugin supports both the Web UI and dsh-tui without modifying the DSH source code.
|
|
36
|
-
|
|
37
|
-

|
|
38
|
-
|
|
39
|
-
## Features
|
|
40
|
-
|
|
41
|
-

|
|
34
|
+
## Product Highlights
|
|
42
35
|
|
|
43
|
-
|
|
44
|
-
- **Discover business insights automatically**: Data Agent goes beyond returning query results. It helps compare trends, locate anomalies, identify valuable customers or products, and turn the data into explanations that support decisions.
|
|
45
|
-
- **AI-assisted data governance**: Scan a database with the AI model configured in the current DSH session. Using tables, fields, comments, and relations, it generates candidate business meanings for every table and field. Every AI-generated candidate requires human review, and users can also add business terms and metric definitions manually. During later queries and analysis, Data Agent automatically reads the relevant definitions through the built-in `catalog-search`, `catalog-get`, and `metric-get` tools, grounding SQL and conclusions in governed business context.
|
|
46
|
-
- **Cross-surface HTML reports (render-analysis)**: In an ordinary tool call, the agent can choose to produce a single chart or a Dashboard-style report (metric/line/bar/pie/scatter/table views). Every successful call saves an offline HTML file under `analysis-reports/` in the current workspace. Web also shows an inline preview and a “View analysis” Modal; dsh-tui returns the file path. Whether to chart remains the agent's decision — schema exploration, single scalars, and queries without visual value are never forced into charts.
|
|
47
|
-
- **Shares the core path across Web UI and dsh-tui**: For a visual workflow, we recommend [zhu1090093659/dsh-web-ui](https://github.com/zhu1090093659/dsh-web-ui), where you can connect databases, browse schemas, and inspect results in the browser. For a keyboard-first workflow, we recommend [ccch1mneyyy/dsh-TUI](https://github.com/ccch1mneyyy/dsh-TUI), where you can use the same Data Mode, connect through `/database`, and move directly into conversational analysis. Both interfaces share the database service and tool protocol; validate the exact version and deployment separately.
|
|
48
|
-
- **Connect common business databases**: Supports MySQL, PostgreSQL, SQLite, Oracle, Hive, Impala, ClickHouse, Apache Doris, and SQL Server across application databases, analytics systems, local data files, and data warehouses.
|
|
49
|
-
- **Let DSH complete the analysis loop**: DSH inspects table structures, writes SQL, runs the query, and adjusts its approach based on errors or returned data instead of stopping at an unverified SQL draft.
|
|
50
|
-
- **Stay focused with Data Mode**: The session uses DSH's native `str_replace_editor` for files and keeps `sql-query`, `sql-write`, `sql-cmd`, `render-analysis`, `catalog-search`, `catalog-get`, and `metric-get`; Web, Desktop, dsh-tui, and headless profiles use the same eight-tool protocol. Host or community tools such as `describe_image` and `ssh_*` do not leak into Data Mode.
|
|
51
|
-
- **Work safely with real data**: Use read-only mode and a read-only database account when appropriate. TUI passwords are masked and are never restored as part of a form draft. You decide whether the session may modify data.
|
|
36
|
+
Tired of filing data requests, wrestling with complex SQL queries, exporting CSVs back and forth into Excel, and trying to decipher cryptic column abbreviations across hundreds of tables?
|
|
52
37
|
|
|
53
|
-
|
|
38
|
+
**DSH Data Agent brings data analysis back to business decision-making:**
|
|
54
39
|
|
|
55
|
-
|
|
40
|
+
- 💬 **Zero-Barrier Conversational Analysis**: Ask business questions in plain language (e.g., *"Compare channel conversion rates over the last 30 days"*). AI automatically understands business intent, discovers relevant schemas, writes and executes SQL, iterates on results, and delivers clear conclusions.
|
|
41
|
+
- 📊 **Smart Charts & Interactive Dashboards**: Say goodbye to plain text and raw tables. Automatically generate line charts, bar charts, pie charts, scatter plots, or multi-view dashboards, and export standalone offline HTML reports for effortless sharing.
|
|
42
|
+
- 🧠 **Deep Business Insights**: Go beyond raw metrics. The agent pinpoints anomaly drivers, detects sales drops, identifies high-value customer cohorts, and translates cold numbers into actionable business recommendations.
|
|
43
|
+
- 🏷️ **AI-Powered Metric & Schema Governance**: Automatically scans databases to generate intuitive business explanations for tables and fields. Supports human review and custom metric definitions, ensuring every query relies on unified, accurate business definitions.
|
|
44
|
+
- 🔒 **Local Security & Read-Only Protection**: Built-in support for read-only database accounts and read-only mode. All queries run locally with strict credential protection—your production data stays safe and confidential.
|
|
45
|
+
- 🖥️ **Modern Web & High-Efficiency Terminal**: Use the intuitive Web UI to configure connections and explore charts visually, or switch to the keyboard-first terminal interface (dsh-tui) for rapid command-line workflows.
|
|
56
46
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
Choose “Data Mode” when creating a session, and DSH will use the data-analysis workflow for everything that follows.
|
|
62
|
-
|
|
63
|
-

|
|
64
|
-
|
|
65
|
-
### Data Catalog and Metric Governance
|
|
47
|
+
<p align="center">
|
|
48
|
+
<img src="assets/features.webp" alt="DSH Data Agent Features" width="100%">
|
|
49
|
+
</p>
|
|
66
50
|
|
|
67
|
-
|
|
51
|
+
## Quick Start
|
|
68
52
|
|
|
69
|
-
|
|
53
|
+
### 1. Prerequisites
|
|
70
54
|
|
|
71
|
-
|
|
55
|
+
- **DeepSeek Harness** (DSH runtime environment)
|
|
56
|
+
- Accessible database (local SQLite file or remote/cloud database)
|
|
72
57
|
|
|
73
|
-
|
|
58
|
+
### 2. Quick Install
|
|
74
59
|
|
|
75
|
-
|
|
60
|
+
Run the following command to install the plugin directly from npm:
|
|
76
61
|
|
|
77
|
-
```
|
|
62
|
+
```bash
|
|
63
|
+
# Install for Web UI (Recommended)
|
|
78
64
|
dsh plugin --profile web add @yejiming/dsh-data-agent
|
|
79
|
-
```
|
|
80
65
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
```sh
|
|
84
|
-
dsh plugin --profile web add github:omdsh-dev/dsh-data-agent
|
|
66
|
+
# Or install for Terminal UI (dsh-tui)
|
|
67
|
+
dsh plugin --profile dsh-tui add @yejiming/dsh-data-agent
|
|
85
68
|
```
|
|
86
69
|
|
|
87
|
-
|
|
70
|
+
### 3. Start Analyzing
|
|
88
71
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
```sh
|
|
72
|
+
#### Method 1: Web Interface (Recommended)
|
|
73
|
+
Start the Web console, create a new session, and select **"Data Mode"**:
|
|
74
|
+
```bash
|
|
94
75
|
dsh --profile web
|
|
95
76
|
```
|
|
77
|
+
1. On the New Session screen, click **Connection Settings** beside **Data Mode**; after the session opens, you can use the **Database icon** in the top-right of the composer. Fill in your connection details in the same workbench (supports connection testing);
|
|
78
|
+
2. Once connected, ask your business analysis question directly in the chat box;
|
|
79
|
+
3. Ask follow-up questions to drill down deeper based on preliminary conclusions.
|
|
96
80
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
2. Click the database button in the top-right of the composer and enter your connection details in the workbench Modal.
|
|
101
|
-
3. Once connected, ask an analysis question directly in the conversation.
|
|
102
|
-
4. Follow up on the first result and ask DSH to narrow the scope, compare dimensions, or summarize the conclusions.
|
|
103
|
-
|
|
104
|
-
A Web composition that does not load `@deepseek-harness-tui/dsh-tui` does not expose `/database` or `/catalog`; use the database workbench to connect, scan, cancel, and review Catalog content.
|
|
105
|
-
|
|
106
|
-
For example, ask: “Analyze order changes over the last 30 days, identify the regions and products with the largest revenue decline, and explain the main causes.” DSH will inspect the relevant tables, generate and run the queries, and complete the analysis from real results.
|
|
107
|
-
|
|
108
|
-
### Analysis reports and HTML artifacts
|
|
109
|
-
|
|
110
|
-
Data Mode provides the render-analysis tool on every surface. The agent first explores and verifies facts with sql-query, then decides for itself whether a visualization helps. When it does, one tool call produces one versioned analysis report:
|
|
111
|
-
|
|
112
|
-
- A report holds 1-6 read-only datasets and 1-8 views (metric, line, bar, pie, scatter, table); multiple views may reuse one dataset, and aggregation or Top N is written in the SQL itself;
|
|
113
|
-
- Simple questions produce a single main chart (inline preview in the result row); complex questions produce a compact summary plus a “View analysis” button;
|
|
114
|
-
- “View analysis” opens a large Modal with every view of that report: a compact metric band, a full-width main chart, a two-column secondary grid, and a detail table — responsive across light/dark themes and narrow screens;
|
|
115
|
-
- Regardless of the active UI, the complete Dashboard is written atomically to `analysis-reports/*.html` under the session workspace and appears in DSH's Produced row where supported. The filename defaults to the report title or a semantic `outputName` basename, without a long UUID. Data, styles, and SVG rendering code are inline, so the file opens without a network connection;
|
|
116
|
-
- The complete report snapshot is persisted with the session log: refreshing or replaying history never re-queries the database and creates no extra browser storage;
|
|
117
|
-
- Web still renders its preview from the same report meta; the Node HTML generator loads neither ECharts nor Web client code.
|
|
118
|
-
|
|
119
|
-
## Using Data Agent in dsh-tui
|
|
120
|
-
|
|
121
|
-
Install Data Agent into the dsh-tui profile. `render-analysis` does not require a particular dsh-TUI version or scene capability. Persistent Catalog status and full-screen result browsing activate automatically when dsh-tui exposes its public `status`/`scene` extension services:
|
|
122
|
-
|
|
123
|
-
```sh
|
|
124
|
-
dsh plugin --profile dsh-tui add @yejiming/dsh-data-agent
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
Start the terminal interface:
|
|
128
|
-
|
|
129
|
-
```sh
|
|
81
|
+
#### Method 2: Terminal Interface (dsh-tui)
|
|
82
|
+
Ideal for keyboard-first and terminal users:
|
|
83
|
+
```bash
|
|
130
84
|
dsh --profile dsh-tui
|
|
131
85
|
```
|
|
86
|
+
Enter `/preset data-agent` to switch to Data Mode, and `/database connect` to connect your database and start asking questions.
|
|
132
87
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
```text
|
|
136
|
-
/preset data-agent
|
|
137
|
-
/database connect
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
The connection form displays all relevant fields together. Use Tab or Shift+Tab to move between fields. Press Enter on database type, ClickHouse HTTPS, or read-only mode to show every option, use the arrow keys to select one, and press Enter again to confirm. For a network database, enter either a temporary password or a DSH credential reference, never both.
|
|
141
|
-
|
|
142
|
-
After connecting, return to the chat input and ask a business question. Other useful database commands include:
|
|
143
|
-
|
|
144
|
-
```text
|
|
145
|
-
/database status Show the current connection
|
|
146
|
-
/database test Test the current connection
|
|
147
|
-
/database disconnect Disconnect the current database
|
|
148
|
-
/catalog scan Choose a scope and start a Catalog scan
|
|
149
|
-
/catalog status [--run <run-id>] Show the latest result or a specific run
|
|
150
|
-
/catalog diff Compare the latest two successful snapshots
|
|
151
|
-
/catalog view Open read-only Catalog results grouped by table
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
You do not need to repeat `/catalog status` after a scan starts: the line above the prompt follows technical collection and AI-enrichment progress, then retains the final success/failure state. After completion, run `/catalog view`; use arrows or `j/k` to select and scroll, Tab or ←/→ to switch panes, `/` to search, `a` to switch between the business schema and all schemas, `r` to refresh, and Escape to return. The TUI remains read-only; confirm or delete AI candidates one at a time from Web's Data Governance tab.
|
|
155
|
-
|
|
156
|
-
After the agent generates a report, the tool card shows dataset, view, empty-data facts, and the absolute HTML path. TUI does not print a character Dashboard and does not register `/analysis`; open the HTML in a local browser to inspect all six view types and raw data. The file belongs to that tool call, and `/resume` does not re-query the database.
|
|
157
|
-
|
|
158
|
-
When you reopen the form in the same session, it first restores that session's latest database type, host, port, user, database, ClickHouse HTTPS, and read-only mode, and restores the credential-reference name from its connected profile. A new session with no configuration uses the most recently connected non-secret profile as editable defaults, but remains disconnected until you confirm the connection. A temporary password always remains masked and is never restored.
|
|
159
|
-
|
|
160
|
-
## How to Ask Better Analysis Questions
|
|
161
|
-
|
|
162
|
-
For more valuable results, include the business goal, time range, and dimensions you care about. For example:
|
|
163
|
-
|
|
164
|
-
```text
|
|
165
|
-
Analyze revenue and gross-margin changes by region in Q2 2026.
|
|
166
|
-
Find the regions with unusual performance, drill down into categories and key customers,
|
|
167
|
-
and recommend three concrete business actions.
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
You can also ask DSH to save the SQL or analysis so it can be reviewed and reused:
|
|
171
|
-
|
|
172
|
-
```text
|
|
173
|
-
Complete a member repeat-purchase analysis, save the final SQL to
|
|
174
|
-
analysis/repurchase.sql, and summarize the main findings in a format suitable for a weekly report.
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
## Before You Start
|
|
178
|
-
|
|
179
|
-
DSH must be able to reach the target database from your machine, and the corresponding database client must be installed:
|
|
180
|
-
|
|
181
|
-
- SQLite is usually included with macOS or Linux.
|
|
182
|
-
- MySQL requires the `mysql` client.
|
|
183
|
-
- PostgreSQL requires the `psql` client.
|
|
184
|
-
- Oracle, Hive, and Impala require their respective command-line clients.
|
|
185
|
-
- Apache Doris uses the MySQL protocol on port 9030 by default and requires a `mysql` client with `utf8mb4` support. The first release browses databases and tables in the current/internal catalog only.
|
|
186
|
-
- SQL Server uses port 1433 by default and requires Microsoft ODBC `sqlcmd` 18.x. The first release supports SQL Login only—not integrated/Windows/Entra authentication, DSNs, or named instances.
|
|
187
|
-
- ClickHouse does not require `clickhouse-client`. The plugin uses the bundled official `@clickhouse/client` 1.23.x HTTP adapter: HTTP defaults to 8123; selecting HTTPS defaults to 8443 and retains normal certificate verification. Validate the actual ClickHouse Server/Cloud combination with deployment smoke tests rather than inferring universal Cloud/TLS compatibility.
|
|
188
|
-
|
|
189
|
-
The plugin tries the active profile process PATH first. If that fails, it also checks client HOME environment variables and common Windows, macOS, and Linux installation locations, including Homebrew, MacPorts, Linuxbrew, Snap, Nix, WinGet Links, Scoop, Chocolatey, and versioned Program Files directories. The supplemental PATH used for discovery is also passed to the actual client process, so DSH Desktop launched from Finder normally needs no manual path override for Homebrew clients.
|
|
88
|
+
## Use Cases
|
|
190
89
|
|
|
191
|
-
|
|
90
|
+
| Scenario | Prompt Example |
|
|
91
|
+
| :--- | :--- |
|
|
92
|
+
| 📈 **Sales & Revenue Review** | *"Analyze revenue and MoM growth by channel over the last 30 days, identify the product categories with the steepest decline, and explain the key drivers."* |
|
|
93
|
+
| 👥 **User Segmentation & RFM** | *"Perform RFM segmentation on members based on purchase frequency and average order value over the past 6 months, and report retention rates for each tier."* |
|
|
94
|
+
| 🛒 **Funnel & Conversion Analysis** | *"Calculate monthly user conversion rates from registration, search, and add-to-cart to checkout, and highlight the stage with the highest drop-off rate."* |
|
|
95
|
+
| 📦 **Inventory & Supply Chain** | *"Inspect SKUs with inventory turnover exceeding 60 days, and forecast stockout or overstock risks based on recent sales velocity."* |
|
|
96
|
+
| 📑 **Executive Weekly Summary** | *"Summarize last week's core metrics (GMV, active users, average order value) and write a concise briefing suitable for the management group chat."* |
|
|
192
97
|
|
|
193
|
-
|
|
98
|
+
## Workbench & Reports
|
|
194
99
|
|
|
195
|
-
|
|
100
|
+
### 1. All-in-One Database Workbench
|
|
101
|
+
The Web UI features an integrated database workbench with four core modules: **Connection Config**, **Schema Browser**, **Data Governance**, and **SQL Runner**, making it easy to inspect data assets at any time.
|
|
196
102
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
- id: data-agent
|
|
201
|
-
config:
|
|
202
|
-
clients:
|
|
203
|
-
mysql:
|
|
204
|
-
searchPaths:
|
|
205
|
-
- /opt/company/mysql/bin
|
|
206
|
-
# command: /opt/company/mysql/bin/mysql
|
|
207
|
-
# args:
|
|
208
|
-
# - --protocol=tcp
|
|
209
|
-
# Doris can override the shared mysql client location:
|
|
210
|
-
# doris:
|
|
211
|
-
# searchPaths: [/opt/company/mysql/bin]
|
|
212
|
-
# SQL Server can override the Microsoft ODBC sqlcmd location:
|
|
213
|
-
# sqlserver:
|
|
214
|
-
# searchPaths: [/opt/mssql-tools18/bin]
|
|
215
|
-
```
|
|
216
|
-
|
|
217
|
-
On Windows, a search path can be written as `C:\Program Files\MySQL\MySQL Server 9.0\bin`. The plugin does not download database clients, run a login shell, or scan the whole disk. A client in an unusual directory that is not on PATH still requires `searchPaths` or `command`.
|
|
218
|
-
|
|
219
|
-
We recommend creating a read-only database account so Data Agent can explore and analyze data without modifying production records.
|
|
103
|
+
<p align="center">
|
|
104
|
+
<img src="assets/tables.webp" alt="Database Workbench" width="90%">
|
|
105
|
+
</p>
|
|
220
106
|
|
|
221
|
-
|
|
107
|
+
### 2. AI-Assisted Data Governance
|
|
108
|
+
Open the "Data Governance" tab in the workbench, and AI will scan table schemas to generate clear business descriptions. Review, refine, and add custom metrics so team members never have to guess column meanings again.
|
|
222
109
|
|
|
223
|
-
|
|
110
|
+
<p align="center">
|
|
111
|
+
<img src="assets/data-governance.webp" alt="AI Data Governance" width="90%">
|
|
112
|
+
</p>
|
|
224
113
|
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
- If authentication must be restored across processes, enter a DSH credential reference in the TUI form or pass it with `--password-ref`. The form restores the reference name, but never reads, displays, or persists its resolved password.
|
|
228
|
-
- MySQL/Doris and SQL Server passwords enter only `MYSQL_PWD` and `SQLCMDPASSWORD`, respectively. A ClickHouse password enters only the official HTTP client's authentication field—not the URL, argv, or persisted configuration.
|
|
229
|
-
- Catalog persistence contains only redacted source summaries, system metadata, versions, and human definitions. It never stores passwords, resolved credentials, client stdout/stderr, business query results, or sample rows.
|
|
230
|
-
- When read-only mode is disabled, Data Agent can run update or administrative statements at your request. Before connecting to a production database, review the account permissions and backup policy.
|
|
231
|
-
- Database connections are isolated by session, making it easier to keep different projects, customers, and analysis environments separate.
|
|
232
|
-
- The plugin and ecosystem adapter run inside the DSH process; neither is an OS, process, or realm sandbox. Ecosystem permissions support admission negotiation and do not replace database-account controls, network isolation, or runtime security policy.
|
|
114
|
+
### 3. Interactive Offline Analysis Reports
|
|
115
|
+
When an analysis benefits from visual presentation, the agent generates single charts or multi-metric dashboards and automatically saves standalone HTML reports under `analysis-reports/`. Includes interactive charts, KPI cards, and raw data tables—ready to open offline in any browser or share with colleagues.
|
|
233
116
|
|
|
234
|
-
|
|
117
|
+
<p align="center">
|
|
118
|
+
<img src="assets/charts.webp" alt="Analysis Report Charts" width="90%">
|
|
119
|
+
</p>
|
|
235
120
|
|
|
236
|
-
|
|
237
|
-
dsh plugin --profile web remove @yejiming/dsh-data-agent
|
|
238
|
-
dsh plugin --profile desktop remove @yejiming/dsh-data-agent
|
|
239
|
-
dsh plugin --profile dsh-tui remove @yejiming/dsh-data-agent
|
|
240
|
-
```
|
|
121
|
+
## Supported Data Sources
|
|
241
122
|
|
|
242
|
-
|
|
123
|
+
DSH Data Agent supports a wide variety of relational databases, analytical data warehouses, and local files:
|
|
243
124
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
125
|
+
- 🐬 **Relational Databases**: MySQL, PostgreSQL, SQLite, Oracle, Microsoft SQL Server
|
|
126
|
+
- ⚡ **Analytical Warehouses / OLAP**: ClickHouse, Apache Doris, Apache Hive, Apache Impala
|
|
127
|
+
- 📁 **Local & Lightweight Data**: SQLite data files (zero-config, out-of-the-box)
|
|
247
128
|
|
|
248
|
-
|
|
129
|
+
## Security & Privacy
|
|
249
130
|
|
|
250
|
-
|
|
131
|
+
- 🛡️ **Strict Read-Only Protection**: Use a read-only database account and enable "Read-Only Mode" to prevent accidental data modification or deletion.
|
|
132
|
+
- 🔑 **Credential Isolation**: Database passwords are used strictly in the current runtime session, never written to plain-text logs, and never sent to external servers.
|
|
133
|
+
- 💻 **100% Local Execution**: Query execution and report generation happen entirely on your local machine, keeping business data private and secure.
|
|
251
134
|
|
|
252
|
-
|
|
253
|
-
pnpm install
|
|
254
|
-
pnpm build
|
|
255
|
-
pnpm test
|
|
256
|
-
pnpm conformance
|
|
257
|
-
```
|
|
135
|
+
## FAQ
|
|
258
136
|
|
|
259
|
-
|
|
137
|
+
<details>
|
|
138
|
+
<summary><b>Q: I don't know SQL at all. Can I still use this for data analysis?</b></summary>
|
|
139
|
+
Absolutely! DSH Data Agent is designed specifically for business professionals, marketers, and analysts without technical coding backgrounds. Simply describe what you want in plain language; AI will find the relevant tables, generate and execute precise SQL queries, and synthesize the results into business charts and actionable findings.
|
|
140
|
+
</details>
|
|
260
141
|
|
|
261
|
-
|
|
142
|
+
<details>
|
|
143
|
+
<summary><b>Q: Is there any risk of accidentally deleting or altering production data?</b></summary>
|
|
144
|
+
No. We strongly recommend using a read-only database account and enabling "Read-Only Mode". In read-only mode, any modifying or destructive statements (such as UPDATE, DELETE, DROP) are strictly blocked before execution.
|
|
145
|
+
</details>
|
|
262
146
|
|
|
263
|
-
|
|
147
|
+
<details>
|
|
148
|
+
<summary><b>Q: Our database column names are cryptic abbreviations. Can the AI understand them?</b></summary>
|
|
149
|
+
Yes. You can use the built-in "Data Governance" feature to let AI automatically scan schemas, comments, and relationships to generate plain business descriptions. You can also manually add company-specific terms and formulas (e.g., "Net GMV = Order GMV - Refund Amount"), which AI will reference in all future analyses.
|
|
150
|
+
</details>
|
|
264
151
|
|
|
265
|
-
|
|
152
|
+
<details>
|
|
153
|
+
<summary><b>Q: How do I share analysis reports with colleagues who don't use DSH?</b></summary>
|
|
154
|
+
Every generated report is saved locally as an independent <code>.html</code> file in the <code>analysis-reports/</code> directory. All styles, interactivity, and datasets are self-contained. You can send this file via email, Slack, Teams, or WeChat, and anyone can open and interact with it in any browser without installing extra software.
|
|
155
|
+
</details>
|
|
266
156
|
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
| Manifest | `dsh-plugin.json`, `manifestVersion: 0.15`, package identity `@yejiming/dsh-data-agent@0.1.2` |
|
|
272
|
-
| Admission decision | The repository's eligible fixture is `compatible`; this is not an admission result from a real dsh-TUI Host |
|
|
273
|
-
| Evidence level | `Parsed`; fixture negotiation is recorded only as `fixture-only` and does not become `Negotiated` evidence |
|
|
274
|
-
| Exercised environment | Offline parser/projector/definition validation; disposable local mount/unmount with `@dsh-std/adapter-dsh@0.1.0-rc3` |
|
|
275
|
-
| Artifact | The release identity is package name and version; a tarball SHA-256 is written only to an external sidecar after a real `npm pack`, never into the source manifest |
|
|
276
|
-
| Unverified | Real Host Descriptor, real Web/Desktop/dsh-tui, real TTY, database, remote, attach/detach, multiple Presentation, `Observed`, and `Attested` evidence |
|
|
157
|
+
<details>
|
|
158
|
+
<summary><b>Q: Can I ask follow-up questions if I need deeper breakdowns or different chart formats?</b></summary>
|
|
159
|
+
Yes! Just like working with an in-house data analyst, you can continuously ask follow-ups in the same session (e.g., *"Break this down by region"*, *"Switch the bar chart to a pie chart"*, or *"Why did revenue drop in May?"*), and AI will iterate based on prior findings.
|
|
160
|
+
</details>
|
|
277
161
|
|
|
278
|
-
|
|
162
|
+
## License
|
|
279
163
|
|
|
280
|
-
|
|
164
|
+
This project is licensed under the [MIT License](LICENSE).
|
|
281
165
|
|
|
282
166
|
## Related Links
|
|
283
167
|
|
|
284
|
-
- [dshfind.com](https://dshfind.com):
|
|
285
|
-
- [dsh-web-ui](https://github.com/dsh-external/dsh-web-ui):
|
|
286
|
-
- [dsh-cc-tui](https://github.com/dsh-external/dsh-cc-tui):
|
|
287
|
-
- [platonai/Browser4](https://github.com/platonai/Browser4):
|
|
288
|
-
|
|
289
|
-
## License
|
|
290
|
-
|
|
291
|
-
MIT
|
|
168
|
+
- [dshfind.com](https://dshfind.com): DeepSeek Harness plugin and ecosystem discovery community
|
|
169
|
+
- [dsh-web-ui](https://github.com/dsh-external/dsh-web-ui): Extensible Web UI for DeepSeek Harness
|
|
170
|
+
- [dsh-cc-tui](https://github.com/dsh-external/dsh-cc-tui): Keyboard-first terminal interface for DeepSeek Harness
|
|
171
|
+
- [platonai/Browser4](https://github.com/platonai/Browser4): AI-native browser engine for autonomous agents and large-scale web automation
|