面向所有问数与数据分析场景,基于 DataPilot 的 OpenAPI 执行从数据源接入到数据问答的完整流程。用于自然语言查数、SQL 查询校验、图表生成、报告导出下载、创建与管理数据分析 Agent、维护 Agent 知识库。
DataAgent OpenAPI Assistant是一项面向实际任务的技能,主要用于当用户要求任何"问数 / 查数 / 数据分析 / 报表"相关能力时使用本技能,包括但不限于:;基于数据源创建通用数据分析 Agent(面向任意业务域,不限行业);
它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
当用户要求任何"问数 / 查数 / 数据分析 / 报表"相关能力时使用本技能,包括但不限于:
| 能力 | 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{ code, message, data },code === 0 视为成功Authorization: Bearer X-Lang: zh所有能力通过 Node 脚本 dataagent_openapi_cli.mjs 调用。
node dataagent_openapi_cli.mjs[options]
| 参数 | 说明 | 默认值 |
|---|---|---|
--base-url |
API 服务地址 | 环境变量 DATAPILOT_API_URL |
--token 或 --apiKey |
鉴权令牌 | 环境变量 DATAPILOT_API_KEY |
创建一个 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"
}
通过 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(出错) |
跨 namespace 汇总所有 agent 信息。
参数: 仅通用参数。
示例:
node dataagent_openapi_cli.mjs list-agents
返回: 数组,每项包含 agentId / name / description / namespaceId / namespaceName / datasourceType / updatedAt。
参数:
| 参数 | 必填 | 说明 |
|---|---|---|
--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
参数:
| 参数 | 必填 | 说明 |
|---|---|---|
--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"
参数:
| 参数 | 必填 | 说明 |
|---|---|---|
--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
参数: 同 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
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章