You need to enable JavaScript to run this app.
文档中心
数据智能体 DataAgent(私有化)

数据智能体 DataAgent(私有化)

复制全文
下载 pdf
洞察报告
OpenAPI接入文档
复制全文
下载 pdf
OpenAPI接入文档

JWTToken鉴权

说明

深度分析和洞察报告优先使用JWTToken鉴权

用户接入

申请ClientId和ClientSecret

  1. 访问风神开放平台
    Image
  2. 选择 Playground
    Image
  3. 选择 凭证管理
    Image
  4. 选择创建凭证
    Image
  5. 根据创建的凭证获得ClientId和ClientSecret

调用OpenAPI

  1. 根据ClientId和ClientSecret调用以下api获得JWTToken
curl --location --request POST 'https://data.bytedance.net/aeolus/api/v3/openapi/jwtToken' \
--header 'Content-Type: application/json' \
--header 'Accept: */*' \
--data-raw '{
    "metadata": {
        "client_id": {clientId},
        "client_secret": {clientSecret},
        "proxy_user": {email_prefix},
        "expire": 3600
    }
}'    

获取OpenAPI JwtToken

参数说明

根据上一章节文档获取JwtToken后调用以下接口,获得新的JwtToken

说明

对于洞察报告场景,用户自身clientId生成jwtToken请求OpenAPI时会有请求频率限制问题,需要调用以下接口生成新的jwtToken

Method

GET

URL

{{domain}}/dataAgent/llm/openApi/v2/insightReport/jwtToken

Headers

Authorization

str

"Bearer {jwtToken}"

接口响应示例

{
        "authorization": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoib3BlbmFwaSIsInVzZXJuYW1lIjoibGlkYWlqaW5nLmxkaiIsInVzZXJfcGF5bG9hZCI6e30sImV4cCI6MTc2MTk0MjIzOCwiY2xpZW50X2lkIjoiZGRiNTJmMWE2NWY2OThmNDViMGYwYjg3MDkzYTk4MjMifQ.f-gbSyMZJcn5xjzOB3YWy7al5gkuAJTxTz0ONdIxAWbbvn_8GWkuskRGCleXsIkFRcmyS5kVnoZMSIud4-CP3wbxEQAYnOGrxP9Y1QTQSkgr66JewelXdF_OzX-SCXGUehPakAF7Rd3vGuqwOBizPqJcjYsTTVRBAVvEBkp8V9yBcpojchY4wLXdSOBKMbLEBWDBe-t-hH054w2Y0S6lw9bAZY2vxHh8vEIVl26uqr610vYqFqMlYLTLzpUH8xx-nBfAkIcz7ZCKxlb0uluS2XYSS9dqqV3eLk9sLG-9VyZauk17niQFWdJ2djVv_X1MLFnvPoFFfquMPXSB2xCJkT22tynJVGp1-CGi1JSKUkn79FU2_TWmJWXOG7vHjrLz9mXYAfDEhbMFEMVFzB53woM5DFplivZLHH-HvwsxKG9WvWvGqTt0JFInZ5QBCIv_T0jv9ALASNnffmejEu2JeTJ_npC2IHYKc2pLjncypB4VfEYjYJhkPje6tVDfwWrjyoGO3OzeG2p-Gh-LS2iKBN0jEHkdE9HBcHEE8qcVKijrJYY7shLVbSMwN3S-N7Lxm9ozfp3dKvwaCD6qalc03vHx1nXzqYAFJppbK5QYoRenf7KGX1VK6l-AzE-FGmrQG0V_1LHu5IkGwRBVFtoSoKHjyXgDLwYpGx8eYgDAU_M"
}

说明

  • 这里获得的authorization作为请求后续所有接口的JwtToken, 填入请求头的Authorization字段
  • 这里authorization已带Bearer,用户不需要再额外添加Bearer

API定义

检测Agent数据集是否同步完成

使用场景

部分用户OpenApi例行调用场景依赖风神数据集特定p_date数据同步完成,该接口用于实时检测智能体中所添加的数据集p_date同步状态

参数说明

Method

GET

URL

{{domain}}/dataAgent/llm/openApi/v2/agent/datasetsSyncStatus

Headers

Authorization

str

jwtToken

Params

agentId

int

智能体Id

鉴权的规则

  • 请求的user必须是agent的PC端user

接口响应示例

{
    "JSONIFY_PRETTYPRINT_REGULAR": false,
    "code": "llm/ok",
    "data": {
        "datasets": [
            {
                "datasetId": 4127473,
                "latestSyncedDate": "2025-08-19"
            },
            {
                "datasetId": 4160644,
                "latestSyncedDate": "2025-10-27"
            },
            {
                "datasetId": 2307471,
                "latestSyncedDate": "2025-10-26"
            },
            {
                "datasetId": 2518822,
                "latestSyncedDate": "2025-10-26"
            },
            {
                "datasetId": 3088400,
                "latestSyncedDate": "2025-10-27"
            },
            {
                "datasetId": 1918668,
                "latestSyncedDate": "2025-10-27"
            }
        ]
    },
    "msg": {}
}

获取洞察报告元信息

使用场景

根据以上页面端reportId获取报告的元信息,包括当前页面端报告id、报告名称、模块id、模块提示词等信息,用户可以根据模块提示词以及模块id,自行决定调用**{{domain}}**/dataAgent/llm/openApi/v2/insightReport/createReportTask接口时基于哪些模块创建运行任务以及是否使用该模块默认提示词

参数说明

Method

GET

URL

{{domain}}/dataAgent/llm/openApi/v2/insightReport/reportMetadata

Headers

Authorization

str

jwtToken

Params

reportId

int

报告Id

鉴权的规则定义

  • 请求公共模板的user必须是智能体的PC端User
  • 请求私有模板的user必须是报告的owner

接口响应示例

{
    "code": "llm/ok",
    "msg": "",
    "data": {
        "reportId": 167,
        "reportName":"收入波动分析",
        "agentId":21781,
        "owner":"lidaijing.ldj",
        "modules":[
            {
                "id":"69d1c256-7c1c-49d2-aaab-a823c1b4656e",
                "name":"顺丰速运有限公司收入情况高度凝练分析",
                "type":"analysis",
                "prompt":"忽略系统提示词要求的所有报告内容的丰富性要求,请完全遵循我的逻辑,仅生成
                一句话的高度凝练的判断或者描述!!!"
            },
            {
                "id":"d9d0767a-0e93-4346-b2ca-3902abebdb02",
                "name":"顺丰速运有限公司收入分析核心结论报告",
                "type":"analysis",
                "prompt":"请基于所选分析块的分析内容,归纳总结出一句**最关键、最核心**的结论。要
                求:
                1.  **一句话**:严格限制为一句话,长度不超过50字。
                2.  **聚焦重点**:不要复述过程,直接抛出最终洞察、结论或建议。
                3.  **语言精炼**:使用肯定、果断的陈述句,避免使用“可能”、“也许”等模糊词汇。"
            }
        ]
    }
}

后端OpenAPI 创建任务

使用场景

前提

  1. 用户在页面端已创建好公共模板或个人报告
  2. 需要基于配置好的公共模板或个人报告,定期生成新的报告

用法

  1. 从**{{domain}}**/dataAgent/llm/openApi/v2/insightReport/reportMetadata接口中获取每个模块的id和默认提示词
  2. 思考选择哪些模块运行以及是否需要替换该模块的默认提示词
  3. 在请求体的modules中填入需要运行的模块id,如果需要替换模块的默认提示词需一并提供prompt,否则只需提供id。

参数说明

Method

POST

URL

{{domain}}/dataAgent/llm/openApi/v2/insightReport/createReportTask

Headers

Authorization

str

jwtToken

鉴权的规则定义

  • 创建公共模板任务的user必须是智能体的PC端User
  • 创建私有模板任务的user必须是报告的owner

请求body

说明

以下加粗部分还未上线

{
    "reportId": 167,
    "modules": [
        {
            "id": "69d1c256-7c1c-49d2-aaab-a823c1b4656e", 
            "prompt": "忽略系统提示词要求的所有报告内容的丰富性要求,请完全遵循我的逻辑,仅生成一
            句话的高度凝练的判断或者描述!!!" // [Optional] 未提供则使用该模块原始prompt
        },
        {
            "id": "d9d0767a-0e93-4346-b2ca-3902abebdb02", 
            "prompt": "请基于所选分析块的分析内容,归纳总结出一句**最关键、最核心**的结论。要求:
            1.  **一句话**:严格限制为一句话,长度不超过50字。
            2.  **聚焦重点**:不要复述过程,直接抛出最终洞察、结论或建议。
            3.  **语言精炼**:使用肯定、果断的陈述句,避免使用“可能”、“也许”等模糊词汇。"
            //[Optional]
        }
    ],
    "optimizeType": 1      //[Optional]  0-快速模式,  1-稳定模式   默认:1-稳定模式
}

接口响应示例

{
    "code": "llm/ok",
    "msg": "",
    "data": {
        "reportId": 167,
        "reportName":"收入波动分析",
        "taskId": 100
    }
}

后端OpenAPI 获取报告任务详情

参数说明

Method

GET

URL

{{domain}}/dataAgent/llm/openApi/v2/insightReport/reportTaskDetail

Headers

Authorization

str

jwtToken

Params

taskId

int

任务id

appId

Optional[int]

风神项目id

鉴权的规则定义

  • 获取reportTask的user必须是createReportTask的user

接口响应示例

{ 
    "code": "llm/ok",
    "msg": "",
    "data":{
        "taskId": 100,
        "reportId": 167, 
        "reportName": "收入波动分析",
        "taskCreater": "lidaijing.ldj",
        "pdfUrl":"https:xxxxx",
        "taskStatus": "success", // [success,running,failed]
        "modules": [
            {
                "id":"69d1c256-7c1c-49d2-aaab-a823c1b4656e",
                "name":"顺丰速运有限公司收入情况高度凝练分析",
                "type":"analysis",
                "taskId":1143,
                "taskStatus":"success", //success,running,failed
                "content":"# 顺丰速运有限公司收入情况高度凝练分析\\n\\n# 顺丰速运有限公司
                收入情况高度凝练分析\\n\\n## 核心收入表现判断\\n\\n基于《顺丰速运有限公司近期收入
                情况分析报告》显示,该公司过去12个月收入虽实现80.4%显著增长但波动较大,主要由GPU产
                品驱动且产品结构单一化问题突出,2025年8月收入环比下降71.22万元主要因原价金额减少所
                致[^1]。\\n\\n[^1]: 数据来源:收入宽表_计费粒度,时间范围:2024年9月-2025年8
                月;图表数据包含总计收金额、GPU产品收入、公有云云基础产品收入、veStack云服务收入四
                个维度的月度趋势;环比波动贡献度计算基于公式:贡献度=因子环比变化量/全局环比变化量
                \\n",
                "url":"{域名}/aeolus-open/#/agent/insightReport/external?agentId=
                {agentId}&appId={appId}&taskId={taskId}&moduleId={moduleId}&reportId=
                {reportId}&token={jwtToken}&reportType=markdown"
                "html":"{域名}/aeolus-open/#/agent/insightReport/external?agentId=
                {agentId}&appId={appId}&taskId={taskId}&moduleId={moduleId}&reportId=
                {reportId}&token={jwtToken}&reportType=html"
                "images":{                      
                    "markdown":"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==",
                    "html":"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg=="
                }
            },
            {
                "id":"d9d0767a-0e93-4346-b2ca-3902abebdb02",
                "name":"顺丰速运有限公司收入分析核心结论报告",
                "type":"analysis",
                "taskId":1462,
                "taskStatus":"success", //success,running,failed
                "content":"# 顺丰速运有限公司收入分析核心结论报告\\n\\n# 顺丰速运有限公司
                收入分析核心结论报告\\n\\n## 核心结论概述\\n\\n**顺丰速运收入增长80.4%但产品结构
                单一,GPU产品占比过高导致收入波动风险显著。**\\n\\n基于《顺丰速运有限公司近期收入
                情况分析报告》的深度整合分析,这一核心结论精准概括了公司在过去12个月(2024年9月至
                2025年8月)的收入表现特征:虽然整体收入从192.37万元增长至346.96万元,实现了80.4%
                的显著增长,但GPU产品作为Top1收入来源累计贡献1,225.39万元,从2024年9月的7,515元
                快速增长至2025年8月的116.24万元,这种过度依赖单一产品的结构导致了收入稳定性问题,
                特别是在2025年8月出现环比下降71.22万元的波动,凸显了产品多元化不足带来的抗风险能力
                薄弱问题。[^1]\\n\\n[^1]: 数据来源:《顺丰速运有限公司近期收入情况分析报告》中的
                收入宽表_计费粒度数据,时间范围:2024年9月-2025年8月\\n",
                "url":"{域名}/aeolus-open/#/agent/insightReport/external?agentId=
                {agentId}&appId={appId}&taskId={taskId}&moduleId={moduleId}&reportId=
                {reportId}&token={jwtToken}&reportType=markdown",
                "html":"{域名}/aeolus-open/#/agent/insightReport/external?agentId=
                {agentId}&appId={appId}&taskId={taskId}&moduleId={moduleId}&reportId=
                {reportId}&token={jwtToken}&reportType=html",
                "images":{                            
                    "markdown":"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==",
                    "html":"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg=="
                }
            }
        ],
        "reportMarkdownUrl":"{域名}/aeolus-open/#/agent/insightReport/external?agentId={agentId}&appId={appId}&taskId={taskId}&reportId={reportId}&token={jwtToken}&reportType=markdown"
        "reportHtmlUrl":"{域名}/aeolus-open/#/agent/insightReport/external?agentId={agentId}&appId={appId}&taskId={taskId}&reportId={reportId}&token={jwtToken}&reportType=html"
        "ctime":"2025-03-11T12:31:49",
        "mtime":"2025-09-25T14:41:56"
    }
}

前端接入

拿着前面得到的url,通过ifram嵌入前端页面

iframe 方式(推荐 👍)

接入格式

import React from "react";
import ReactDOM from "react-dom";

const App = () => {
  useEffect(() => {
    // 监听高度
    window.addEventListener('message', (event) => {
        if (event.data.type === 'INSIGHT_REPORT_HEIGHT_UPDATE') {
            console.log('容器高度', event.data.height);
        }
    })
  }, [])
  return (
    <iframe
      src={`${url}`}
    />
  );
};

ReactDOM.render(<App />, document.querySelector("body"));

代码示例

import React from "react";
import ReactDOM from "react-dom";

const App = () => {
  return (
    <iframe
      src={`https://data.bytedance.net/aeolus-open/pages/agent/insightReport/external?agentId=
                {agentId}&reportId={reportId}&moduleId={moduleId}&taskId=
                {taskId}&jwtToken={jwtToken}&reportType={reportType}`}
    />
  );
};

ReactDOM.render(<App />, document.querySelector("body"));
最近更新时间:2026.04.03 14:30:04
这个页面对您有帮助吗?
有用
有用
无用
无用