🧪 Skills

datapilot

面向所有问数与数据分析场景,基于 DataPilot 的 OpenAPI 执行从数据源接入到数据问答的完整流程。用于自然语言查数、SQL 查询校验、图表生成、报告导

v1.0.1
❤️ 0
⬇️ 124
👁 1
Share

Description


name: datapilot description: 面向所有问数与数据分析场景,基于 DataPilot 的 OpenAPI 执行从数据源接入到数据问答的完整流程。用于自然语言查数、SQL 查询校验、图表生成、报告导出下载、创建与管理数据分析 Agent、维护 Agent 知识库。 metadata: { "openclaw": { "requires": { "bins": ["node"], "env": ["DATAPILOT_API_URL", "DATAPILOT_API_KEY"] }, "primaryEnv": "DATAPILOT_API_KEY" } }

DataAgent OpenAPI Assistant

何时使用

当用户要求任何"问数 / 查数 / 数据分析 / 报表"相关能力时使用本技能,包括但不限于:

  • 基于数据源创建通用数据分析 Agent(面向任意业务域,不限行业)
  • 自然语言问数、SQL 校验、图表展示、报告导出与下载
  • 列出和检索当前全部 Agent(含描述)
  • 维护 Agent 知识库(参考 SQL、业务知识、分析模板)

能力总览

能力 CLI 命令 说明
创建 DataAgent 实例 create-instance 一步完成 agent 创建,接入数据源
自然语言问数 ask SSE 对话,返回 SQL / 表格 / 图表 / 报告下载链接
列出全部 Agent list-agents 跨 namespace 汇总所有 agent 信息
查看知识库 knowledge-list 列出指定 agent 的知识条目(可按类型过滤)
新增/更新知识 knowledge-upsert 新增或覆盖一条知识(reference_sql / business_knowledge / analysis_template)
查看知识条目 knowledge-get 获取单条知识详情
删除知识条目 knowledge-delete 删除一条知识

核心流程

用户需求
  │
  ├─ 首次使用 ──► create-instance(接入数据源,创建 Agent)
  │                    │
  │                    ▼
  │              返回 namespaceId + agentId
  │
  ├─ 问数分析 ──► ask(传入 agentId + 自然语言问题)
  │                    │
  │                    ▼
  │              SSE 流式返回:SQL / 表格 / 图表 / 报告下载链接
  │
  ├─ 查看 Agent ► list-agents(列出所有可用 Agent)
  │
  └─ 知识管理 ──► knowledge-list / knowledge-upsert / knowledge-get / knowledge-delete

配置与鉴权

  • API 基础前缀/api
  • 响应格式{ code, message, data }code === 0 视为成功
  • 鉴权:Header Authorization: Bearer <token>
  • 语言:Header X-Lang: zh

调用方式

所有能力通过 Node 脚本 dataagent_openapi_cli.mjs 调用。

node dataagent_openapi_cli.mjs <command> [options]

通用参数

参数 说明 默认值
--base-url API 服务地址 环境变量 DATAPILOT_API_URL
--token--apiKey 鉴权令牌 环境变量 DATAPILOT_API_KEY

命令详解

1. create-instance — 创建 DataAgent 实例

创建一个 agent 实例,提供问数,数据分析等能力。

参数:

参数 必填 说明
--name 实例名称(同时作为 namespace 和 agent 名)
--description 实例描述(推荐模板:[业务域] + [核心指标] + [时间粒度] + [场景]
--datasource-file 二选一 数据源 JSON 配置文件路径
--datasource-json 二选一 数据源 JSON 字符串
--sqlite-file 条件 SQLite 类型且无 uri 时,需提供 .db 文件路径上传

数据源配置格式:

类型 必填字段
sqlite { type: "sqlite", uri } — 或通过 --sqlite-file 上传后自动填充
mysql { type, host, port, username, password, database, schema? }
postgresql { type, host, port, username, password, database, schema? }
odps { type: "odps", access_id, access_key, project, endpoint, schema? }
oboracle { type: "oboracle", host, port, username, password, tenant, cluster?, database? }

示例:

node dataagent_openapi_cli.mjs create-instance \
  --name "sales_copilot" \
  --description "销售经营分析,覆盖GMV/转化率/复购,按日周月输出。" \
  --datasource-file ./datasource.json

返回:

{
  "namespaceId": "ns_xxx",
  "agentId": "agent_xxx",
  "name": "sales_copilot",
  "description": "销售经营分析...",
  "tablesCount": 12,
  "datasourceType": "mysql"
}

2. ask — 自然语言问数

通过 SSE 对话接口进行问数,返回流式事件和下载链接。

参数:

参数 必填 说明
--namespace-id 目标 namespace ID
--agent-id 目标 agent ID
--input 自然语言问题
--session-id 会话 ID(多轮对话时传入)
--role 角色标识

示例:

node dataagent_openapi_cli.mjs ask \
  --namespace-id ns_xxx \
  --agent-id agent_xxx \
  --input "按周分析最近90天GMV变化并生成周报"

返回:

{
  "sessionId": "sess_xxx",
  "content": "最终回复文本(Markdown 格式,含表格、图表、报告等)",
  "downloadUrls": ["http://localhost:3000/api/sub-agents/.../download/files/..."],
  "status": "completed"
}
字段 说明
content 最终回复文本(由所有 text block 拼接而成)
sql 执行过的 SQL 语句列表
downloadUrls 从回复中提取的可下载文件绝对 URL
status completed(成功)或 failed(出错)

3. list-agents — 列出全部 Agent

跨 namespace 汇总所有 agent 信息。

参数: 仅通用参数。

示例:

node dataagent_openapi_cli.mjs list-agents 

返回: 数组,每项包含 agentId / name / description / namespaceId / namespaceName / datasourceType / updatedAt


4. knowledge-list — 查看知识库

参数:

参数 必填 说明
--namespace-id 目标 namespace ID
--agent-id 目标 agent ID
--knowledge-type 按类型过滤:reference_sql / business_knowledge / analysis_template

示例:

node dataagent_openapi_cli.mjs knowledge-list \
  --namespace-id ns_xxx --agent-id agent_xxx

5. knowledge-upsert — 新增/更新知识

参数:

参数 必填 说明
--namespace-id 目标 namespace ID
--agent-id 目标 agent ID
--knowledge-type 类型:reference_sql / business_knowledge / analysis_template
--name 知识条目名称(推荐:业务域_主题_版本
--content 知识内容(SQL / 术语定义 / 模板文本)

示例:

node dataagent_openapi_cli.mjs knowledge-upsert \
  --namespace-id ns_xxx --agent-id agent_xxx \
  --knowledge-type reference_sql \
  --name weekly_gmv_v1 \
  --content "SELECT date_trunc('week', order_date) AS week, SUM(amount) AS gmv FROM orders GROUP BY 1"

6. knowledge-get — 查看知识条目

参数:

参数 必填 说明
--namespace-id 目标 namespace ID
--agent-id 目标 agent ID
--knowledge-type 知识类型
--name 知识条目名称

示例:

node dataagent_openapi_cli.mjs knowledge-get \
  --namespace-id ns_xxx --agent-id agent_xxx \
  --knowledge-type reference_sql --name weekly_gmv_v1

7. knowledge-delete — 删除知识条目

参数:knowledge-get

示例:

node dataagent_openapi_cli.mjs knowledge-delete \
  --namespace-id ns_xxx --agent-id agent_xxx \
  --knowledge-type reference_sql --name weekly_gmv_v1

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs