@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.en.md
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
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
|
|
|
@@ -16,276 +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>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>
|
|
22
|
+
<strong>Intelligent Data & Business Analysis Assistant for DeepSeek Harness</strong><br>
|
|
23
|
+
<em>Natural-Language Queries · Automatic SQL Execution · Smart Charts & Dashboards · AI Data Governance · Business Insights · Secure Local Read-Only</em>
|
|
25
24
|
</p>
|
|
26
25
|
|
|
27
26
|
<p align="center">
|
|
28
27
|
|
|
29
|
-
[
|
|
28
|
+
[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
29
|
|
|
31
30
|
</p>
|
|
32
31
|
|
|
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
|
-

|
|
42
|
-
|
|
43
|
-
- **Analyze data through conversation**: Describe your goal in natural language. DSH understands the question, breaks it into analysis steps, queries real data, and organizes the conclusions. You can keep asking follow-up questions to explore the same context in greater depth.
|
|
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.
|
|
32
|
+
## Product Highlights
|
|
52
33
|
|
|
53
|
-
|
|
34
|
+
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?
|
|
54
35
|
|
|
55
|
-
|
|
36
|
+
**DSH Data Agent brings data analysis back to business decision-making:**
|
|
56
37
|
|
|
57
|
-
|
|
38
|
+
- 💬 **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.
|
|
39
|
+
- 📊 **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.
|
|
40
|
+
- 🧠 **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.
|
|
41
|
+
- 🏷️ **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.
|
|
42
|
+
- 🔒 **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.
|
|
43
|
+
- 🖥️ **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.
|
|
58
44
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-

|
|
64
|
-
|
|
65
|
-
### Data Catalog and Metric Governance
|
|
45
|
+
<p align="center">
|
|
46
|
+
<img src="assets/features.webp" alt="DSH Data Agent Features" width="100%">
|
|
47
|
+
</p>
|
|
66
48
|
|
|
67
|
-
|
|
49
|
+
## Quick Start
|
|
68
50
|
|
|
69
|
-
|
|
51
|
+
### 1. Prerequisites
|
|
70
52
|
|
|
71
|
-
|
|
53
|
+
- **DeepSeek Harness** (DSH runtime environment)
|
|
54
|
+
- Accessible database (local SQLite file or remote/cloud database)
|
|
72
55
|
|
|
73
|
-
|
|
56
|
+
### 2. Quick Install
|
|
74
57
|
|
|
75
|
-
|
|
58
|
+
Run the following command to install the plugin directly from npm:
|
|
76
59
|
|
|
77
|
-
```
|
|
60
|
+
```bash
|
|
61
|
+
# Install for Web UI (Recommended)
|
|
78
62
|
dsh plugin --profile web add @yejiming/dsh-data-agent
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
### Method 2: GitHub
|
|
82
63
|
|
|
83
|
-
|
|
84
|
-
dsh plugin --profile
|
|
64
|
+
# Or install for Terminal UI (dsh-tui)
|
|
65
|
+
dsh plugin --profile dsh-tui add @yejiming/dsh-data-agent
|
|
85
66
|
```
|
|
86
67
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
## Using Data Agent in the Web UI
|
|
68
|
+
### 3. Start Analyzing
|
|
90
69
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
```
|
|
70
|
+
#### Method 1: Web Interface (Recommended)
|
|
71
|
+
Start the Web console, create a new session, and select **"Data Mode"**:
|
|
72
|
+
```bash
|
|
94
73
|
dsh --profile web
|
|
95
74
|
```
|
|
75
|
+
1. Click the **Database icon** in the top-right of the composer, then fill in your connection details (supports connection testing);
|
|
76
|
+
2. Once connected, ask your business analysis question directly in the chat box;
|
|
77
|
+
3. Ask follow-up questions to drill down deeper based on preliminary conclusions.
|
|
96
78
|
|
|
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
|
|
79
|
+
#### Method 2: Terminal Interface (dsh-tui)
|
|
80
|
+
Ideal for keyboard-first and terminal users:
|
|
81
|
+
```bash
|
|
130
82
|
dsh --profile dsh-tui
|
|
131
83
|
```
|
|
84
|
+
Enter `/preset data-agent` to switch to Data Mode, and `/database connect` to connect your database and start asking questions.
|
|
132
85
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
```text
|
|
136
|
-
/preset data-agent
|
|
137
|
-
/database connect
|
|
138
|
-
```
|
|
86
|
+
## Use Cases
|
|
139
87
|
|
|
140
|
-
|
|
88
|
+
| Scenario | Prompt Example |
|
|
89
|
+
| :--- | :--- |
|
|
90
|
+
| 📈 **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."* |
|
|
91
|
+
| 👥 **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."* |
|
|
92
|
+
| 🛒 **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."* |
|
|
93
|
+
| 📦 **Inventory & Supply Chain** | *"Inspect SKUs with inventory turnover exceeding 60 days, and forecast stockout or overstock risks based on recent sales velocity."* |
|
|
94
|
+
| 📑 **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."* |
|
|
141
95
|
|
|
142
|
-
|
|
96
|
+
## Workbench & Reports
|
|
143
97
|
|
|
144
|
-
|
|
145
|
-
|
|
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
|
-
```
|
|
98
|
+
### 1. All-in-One Database Workbench
|
|
99
|
+
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.
|
|
153
100
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
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.
|
|
190
|
-
|
|
191
|
-
MySQL and Doris invocations include `--default-character-set=utf8mb4` by default, preventing Windows code pages from corrupting Chinese database, table, column, or query-result text before it reaches DSH. You do not need to repeat this argument in the profile.
|
|
192
|
-
|
|
193
|
-
Schema and table names used for metadata browsing may contain Unicode letters, combining marks, numbers, `_`, and `$`; column names returned by the database are displayed unchanged. For example, a SQLite table named `中文表名` with a `姓名` column can be browsed directly in the workbench. To keep the metadata SQL boundary explicit, whitespace, controls, quotes, backticks, backslashes, semicolons, dots, hyphens, and other punctuation in schema or table inputs are still rejected before a database client starts.
|
|
194
|
-
|
|
195
|
-
SQL Server reads use T-SQL `TOP` or an existing `OFFSET ... FETCH` clause and never append `LIMIT`. To prevent `sqlcmd` scripting from crossing the SQL boundary, `GO`, `!!`, colon commands, and `$(...)` substitutions are rejected before the client starts. The plugin does not add `-C` or another trust-server-certificate option by default.
|
|
196
|
-
|
|
197
|
-
If a client lives in a company toolchain or another custom directory, add search directories to the current profile's `data-agent` config. Use an absolute command path when you need to pin one exact version, or use `args` for other CLI arguments. The current profile PATH always wins, and `searchPaths` is checked before platform defaults:
|
|
198
|
-
|
|
199
|
-
```yaml
|
|
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.
|
|
101
|
+
<p align="center">
|
|
102
|
+
<img src="assets/tables.webp" alt="Database Workbench" width="90%">
|
|
103
|
+
</p>
|
|
220
104
|
|
|
221
|
-
|
|
105
|
+
### 2. AI-Assisted Data Governance
|
|
106
|
+
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
107
|
|
|
223
|
-
|
|
108
|
+
<p align="center">
|
|
109
|
+
<img src="assets/data-governance.webp" alt="AI Data Governance" width="90%">
|
|
110
|
+
</p>
|
|
224
111
|
|
|
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.
|
|
112
|
+
### 3. Interactive Offline Analysis Reports
|
|
113
|
+
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
114
|
|
|
234
|
-
|
|
115
|
+
<p align="center">
|
|
116
|
+
<img src="assets/charts.webp" alt="Analysis Report Charts" width="90%">
|
|
117
|
+
</p>
|
|
235
118
|
|
|
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
|
-
```
|
|
119
|
+
## Supported Data Sources
|
|
241
120
|
|
|
242
|
-
|
|
121
|
+
DSH Data Agent supports a wide variety of relational databases, analytical data warehouses, and local files:
|
|
243
122
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
123
|
+
- 🐬 **Relational Databases**: MySQL, PostgreSQL, SQLite, Oracle, Microsoft SQL Server
|
|
124
|
+
- ⚡ **Analytical Warehouses / OLAP**: ClickHouse, Apache Doris, Apache Hive, Apache Impala
|
|
125
|
+
- 📁 **Local & Lightweight Data**: SQLite data files (zero-config, out-of-the-box)
|
|
247
126
|
|
|
248
|
-
|
|
127
|
+
## Security & Privacy
|
|
249
128
|
|
|
250
|
-
|
|
129
|
+
- 🛡️ **Strict Read-Only Protection**: Use a read-only database account and enable "Read-Only Mode" to prevent accidental data modification or deletion.
|
|
130
|
+
- 🔑 **Credential Isolation**: Database passwords are used strictly in the current runtime session, never written to plain-text logs, and never sent to external servers.
|
|
131
|
+
- 💻 **100% Local Execution**: Query execution and report generation happen entirely on your local machine, keeping business data private and secure.
|
|
251
132
|
|
|
252
|
-
|
|
253
|
-
pnpm install
|
|
254
|
-
pnpm build
|
|
255
|
-
pnpm test
|
|
256
|
-
pnpm conformance
|
|
257
|
-
```
|
|
133
|
+
## FAQ
|
|
258
134
|
|
|
259
|
-
|
|
135
|
+
<details>
|
|
136
|
+
<summary><b>Q: I don't know SQL at all. Can I still use this for data analysis?</b></summary>
|
|
137
|
+
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.
|
|
138
|
+
</details>
|
|
260
139
|
|
|
261
|
-
|
|
140
|
+
<details>
|
|
141
|
+
<summary><b>Q: Is there any risk of accidentally deleting or altering production data?</b></summary>
|
|
142
|
+
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.
|
|
143
|
+
</details>
|
|
262
144
|
|
|
263
|
-
|
|
145
|
+
<details>
|
|
146
|
+
<summary><b>Q: Our database column names are cryptic abbreviations. Can the AI understand them?</b></summary>
|
|
147
|
+
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.
|
|
148
|
+
</details>
|
|
264
149
|
|
|
265
|
-
|
|
150
|
+
<details>
|
|
151
|
+
<summary><b>Q: How do I share analysis reports with colleagues who don't use DSH?</b></summary>
|
|
152
|
+
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.
|
|
153
|
+
</details>
|
|
266
154
|
|
|
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 |
|
|
155
|
+
<details>
|
|
156
|
+
<summary><b>Q: Can I ask follow-up questions if I need deeper breakdowns or different chart formats?</b></summary>
|
|
157
|
+
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.
|
|
158
|
+
</details>
|
|
277
159
|
|
|
278
|
-
|
|
160
|
+
## License
|
|
279
161
|
|
|
280
|
-
|
|
162
|
+
This project is licensed under the [MIT License](LICENSE).
|
|
281
163
|
|
|
282
164
|
## Related Links
|
|
283
165
|
|
|
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
|
|
166
|
+
- [dshfind.com](https://dshfind.com): DeepSeek Harness plugin and ecosystem discovery community
|
|
167
|
+
- [dsh-web-ui](https://github.com/dsh-external/dsh-web-ui): Extensible Web UI for DeepSeek Harness
|
|
168
|
+
- [dsh-cc-tui](https://github.com/dsh-external/dsh-cc-tui): Keyboard-first terminal interface for DeepSeek Harness
|
|
169
|
+
- [platonai/Browser4](https://github.com/platonai/Browser4): AI-native browser engine for autonomous agents and large-scale web automation
|