Install
openclaw skills install @thcjp/data-analyst-expert-freeopenclaw skills install @thcjp/data-analyst-expert-free数据分析专家免费版面向需要把数据分析任务"委派"给 AI Agent 完成的用户。Agent 接收自然语言描述的分析任务,在工作目录中读取上传的文件,执行数据分析代码,并以结构化方式输出结论。
免费版聚焦单文件、单任务的委派场景,适合 100MB 以内的数据文件与单次分析任务。
接收任务后,Agent 自动解析以下要素:
| 要素 | 说明 | 示例 |
|---|---|---|
| 分析对象 | 数据来自哪里 | sales.csv |
| 分析目标 | 想得到什么结论 | "找出销售额下滑的品类" |
| 分析方法 | 用什么方法 | 描述统计 / 相关分析 / 时序分解 |
| 输出形态 | 产出什么 | 图表 / 报告 / 结论卡片 |
输入: 用户提供1 任务理解框架所需的指令和必要参数。 处理: 解析1 任务理解框架的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回1 任务理解框架的响应数据,包含状态码、结果和日志。
./ 下open('data.csv', 'r') / pd.read_csv('sales.csv')upload_files 参数中列出所有相关文件输入: 用户提供2 文件操作规范所需的指令和必要参数。 处理: 解析2 文件操作规范的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回2 文件操作规范的响应数据,包含状态码、结果和日志。
pandas + numpy 完成数据计算matplotlib + seaborn,中文字体预置输入: 用户提供3 代码执行驱动所需的指令和必要参数。 处理: 解析3 代码执行驱动的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回3 代码执行驱动的响应数据,包含状态码、结果和日志。
三段式结构化结论,确保每次分析都有"可执行洞察":
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| input | string | 是 | 数据分析专家(免费版)处理的输入数据或指令 |
| options | object | 否 | 附加配置选项,如模式选择、格式偏好等 |
| callback_url | string | 否 | 异步处理完成后的回调通知URL |
# ...
**输入**: 用户提供4 结论结构化输出所需的指令和必要参数。
**处理**: 解析4 结论结构化输出的输入参数,完成核心逻辑,返回结构化响应。
**输出**: 返回4 结论结构化输出的响应数据,包含状态码、结果和日志。
**能力覆盖范围**:本skill的核心能力覆盖以下场景关键词:面向委派任务的数、据分析助手、支持文件操作、代码执行与结论结、构化输出的免费核、心能力、数据分析专家免费、版面向需要把数据、分析任务、完成的用户、提供任务理解、文件读写、构化输出的核心能、核心能力、自然语言任务理解、分析什么、等库完成实际计算、数据概览、关键发现、业务建议三段式结、模板变量替换、DATE、SESSION、GROUP、等运行时变量等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持。
- 执行此能力时使用`input_params`参数,支持创建/查询/导出操作
# ...
## 数据概览
- 数据量: X 行 × Y 列
- 时间范围: ...
- 数据质量: 缺失/重复/异常情况
# ...
## 关键发现
1. 发现1(附数据支撑)
2. 发现2(附数据支撑)
3. 发现3(附数据支撑)
# ...
## 业务建议
1. 短期建议(本周可执行)
2. 中期建议(本月可执行)
3. 长期建议(本季度可执行)
支持运行时模板变量自动替换:
| 变量 | 含义 | 替换时机 |
|---|---|---|
$DATE$ | 当前日期 | 任务执行时 |
$SESSION_GROUP_ID$ | 会话组标识 | 任务执行时 |
$USER$ | 当前用户 | 任务执行时 |
$WORKDIR$ | 工作目录 | 任务执行时 |
| 角色 | 典型场景 | 输入 | 输出 |
|---|---|---|---|
| 业务人员 | 销售数据周度复盘 | sales.csv + "找下滑品类" | 结论卡片 + 改进建议 |
| 运营专员 | 活动效果评估 | events.xlsx + "评估转化" | 对比图 + ROI 计算 |
| 个人开发者 | 日志数据分析 | logs.json + "找异常模式" | 异常清单 + 频次表 |
| 学生/研究者 | 调研问卷分析 | survey.csv + "做描述统计" | 描述表 + 分布图 |
以下场景数据分析专家(免费版)不适合处理:
需要数据分析、报表生成、统计洞察、数据可视化时使用。不适用于非本工具能力范围的需求。
预计上手时间:< 60 秒。
[上传 sales.csv]
# ...
请分析这份销售数据:
- 时间范围: 2024 年全量
- 关注问题: 哪些品类销售额同比下滑?
- 输出: 下滑品类清单 + 原因假设 + 改进建议
1. 解析任务:对象=sales.csv,目标=找下滑品类,方法=同比对比
2. 读取文件:pd.read_csv('sales.csv')
3. 数据清洗:类型转换、缺失处理
4. 计算同比:groupby 品类 + 同比百分比
5. 生成结论:三段式结构化输出
6. 输出建议:短期/中期/长期
[上传 sales.csv, products.csv, regions.csv]
# ...
请关联三份文件分析:
- sales.csv: 销售明细
- products.csv: 商品主数据(含品类)
- regions.csv: 区域主数据(含大区)
- 输出: 各大区各品类销售额交叉表 + 热力图
# 正确:直接用文件名访问
import pandas as pd
df = pd.read_csv('sales.csv')
# ...
# 错误:绝对路径或上级目录
# df = pd.read_csv('/uploads/sales.csv') # 禁止
# df = pd.read_csv('../data/sales.csv') # 禁止
[任务] {分析目标}
[数据] {文件名}
[方法] {建议方法,可选}
[输出] {期望形态,如:图表 + 表格 + 文字结论}
[约束] {时间范围、维度限制等}
# 多文件关联分析
sales = pd.read_csv('sales.csv')
products = pd.read_csv('products.csv')
regions = pd.read_csv('regions.csv')
# ...
df = sales.merge(products, on='product_id', how='left') \
.merge(regions, on='region_id', how='left')
# ...
pivot = df.pivot_table(
index='region_name',
columns='category',
values='amount',
aggfunc='sum',
fill_value=0
)
upload_files 列出全部文件A: 文件自动放置在 Agent 的工作目录 ./ 下,代码中直接用文件名访问即可,如 pd.read_csv('sales.csv')。
A: 推荐用于 100MB 以内的文件。更大文件建议使用专业版的流式读取与分块处理。
A: 在 upload_files 参数中列出所有文件,Agent 会自动识别关联字段并执行 join 操作。
A: 因为上传文件会被放置在工作目录,使用绝对路径或上级目录引用会导致路径错误,是新手最常见的坑。
A: 模板变量(如 $DATE$)在任务执行时由运行时自动替换为实际值,用户无需手动处理。
本免费体验版限制以下高级功能:
PostgreSQL)集成解锁全部功能请使用专业版:data-analyst-expert-pro
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由 Agent 内置 LLM 提供 |
| pandas | Python 库 | 必需 | pip install pandas |
| numpy | Python 库 | 必需 | pip install numpy |
| matplotlib | Python 库 | 可选 | pip install matplotlib(可视化) |
| openpyxl | Python 库 | 可选 | pip install openpyxl(Excel) |
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |
{
"success": true,
"data": {
"result": "数据分析专家(免费版)处理结果",
"execution_time": "0.5s",
"metadata": {
"version": "1.0",
"processor": "data analyst expert"
}
},
"execution_log": ["解析输入参数", "执行核心处理", "格式化输出结果"],
"error": null
}