Install
openclaw skills install sql-database-toolkitAll-in-one SQL data analysis toolkit supporting database/file connection, SQL query, visualization, AI insights, and report/dashboard generation with templates.
openclaw skills install sql-database-toolkit全链路 SQL 数据分析工具包:数据连接 → SQL 查询 → 数据可视化 → AI 洞察 → 报告生成
SQL Database Toolkit 是 sql-master、sql-dataviz、sql-report-generator 三大 Skill 的统一整合版本,提供端到端的 SQL 数据分析能力。
核心能力:
当用户提及以下关键词时触发:
pip install -r requirements.txt
核心依赖:
from unified_pipeline import analyze_file
# 文件 → SQL → 图表 → 洞察 → 报告
result = analyze_file(
"sales.csv",
sql="SELECT region, SUM(sales) as total FROM data GROUP BY region",
charts=[{"type":"bar","x":"region","y":"total","title":"区域销售"}],
output="report.html"
)
print(result.log())
from database_connector import DatabaseConnector
# 连接 MySQL
conn = DatabaseConnector(
dialect="mysql+pymysql",
host="localhost", port=3306,
username="root", password="xxx",
database="sales_db"
)
result = conn.execute("SELECT * FROM orders WHERE amount > 1000")
print(result.df)
from interactive_charts import InteractiveChartFactory
factory = InteractiveChartFactory(theme="powerbi")
html = factory.create_line({
"categories": ["1月","2月","3月"],
"series": [{"name":"销售额","data":[100,120,150]}]
})
factory.save_html(html, "chart.html")
from ai_insights import quick_insights
report = quick_insights(df, date_col="date", value_cols=["sales","profit"])
for insight in report.insights:
print(f"{insight.title}: {insight.description}")
| 模块 | 功能 |
|---|---|
database_connector.py | 数据库连接(支持 6+ 种数据库) |
file_connector.py | 本地文件加载(CSV/Excel/JSON/Parquet 等) |
pipeline.py | SQL Pipeline 编排器 |
| 模块 | 功能 |
|---|---|
charts.py | 静态图表工厂(24+ 种图表,PNG base64) |
interactive_charts.py | 交互式图表工厂(12 种图表,HTML)+ DashboardBuilder |
| 模块 | 功能 |
|---|---|
ai_insights.py | AI 自动洞察生成器 |
dashboard_templates.py | 行业看板模板库(90+ 模板) |
report_generator.py | 报告生成器(表格/矩阵/切片器) |
| 模块 | 功能 |
|---|---|
unified_pipeline.py | 端到端统一 Pipeline(推荐) |
__init__.py | 统一导出所有核心类 |
from unified_pipeline import UnifiedPipeline
# 创建 Pipeline
p = UnifiedPipeline("销售分析").set_theme("powerbi")
# 加载数据
p.from_file("sales.csv")
# SQL 查询
p.query("SELECT region, SUM(amount) as total FROM data GROUP BY region")
# 生成交互式图表
p.interactive_chart("bar", x_col="region", y_col="total", title="区域销售")
p.interactive_chart("pie", x_col="region", y_col="total", title="区域占比")
# AI 洞察
p.insights(value_cols=["total"])
# 生成完整报告
p.report(title="销售分析报告", output="report.html")
# 打印日志
print(p.log())
from database_connector import DatabaseConnector
from interactive_charts import InteractiveChartFactory
# 查询数据
conn = DatabaseConnector(dialect="sqlite", database="sales.db")
df = conn.execute("SELECT month, sales FROM monthly_sales").df
# 生成图表
factory = InteractiveChartFactory()
html = factory.create_line({
"categories": df["month"].tolist(),
"series": [{"name": "销售额", "data": df["sales"].tolist()}]
}, title="月度销售趋势")
factory.save_html(html, "trend.html")
from interactive_charts import DashboardBuilder, InteractiveChartFactory
builder = DashboardBuilder(title="销售看板", theme="powerbi")
# KPI 卡片
builder.add_kpi_cards([
{"title": "GMV", "value": "¥1,234万", "change": "+18%"},
{"title": "订单量", "value": "45,678", "change": "+12%"},
])
# 添加图表
factory = InteractiveChartFactory()
line_html = factory.create_line({...})
builder.add_chart(line_html, title="趋势", cols=2)
# 生成
builder.build("dashboard.html")
from dashboard_templates import get_template
# 获取电商概览模板
template = get_template("ecommerce_overview")
# 根据模板配置生成图表
# template.charts 包含所有图表规格
from charts import Theme
# 支持的主题:POWERBI, ALIBABA, TENCENT, BYTEDANCE, NEUTRAL
factory = ChartFactory()
factory.set_theme("powerbi")
静态图表(charts.py):
交互式图表(interactive_charts.py):
requirements.txt - Python 依赖references/ - 参考文档(SQL 优化、图表选择、模板使用等)templates/ - 行业报告模板(90+ 个)v2.0.0 - 合并版(基于 sql-master + sql-dataviz + sql-report-generator)