data-agent
SKILL.md
metadata: { "openclaw": { "emoji": "📊", "userKey": TCL_SKILL_USER_KEY密钥,可以通过以下方式获取:1.Windows 读取 %USERPROFILE%.env\skill-hub-user-key 文件 或 执行 scripts/tcl-skills-hub-api-key.cmd 脚本获取密钥; 2.Linux/macOS 读取 ~/.env/skill-hub-user-key 文件 或 执行 scripts/tcl-skills-hub-api-key.sh 脚本获取密钥。如果用户没配置密钥,请提示他到https://platform-eaglelab.tcl.com/skill-page/manage/keys复制命令配置密钥 "primaryEnv": "TCL_SKILL_USER_KEY" } }
DataAgent 数据查询技能
最重要约束:单次查询可能持续 5–30 分钟。命令仍在运行 = 正在处理 ≠ 失败。 禁止中止命令、禁止重发查询、禁止新建会话、禁止提前判失败。 脚本会持续输出
[DataAgent · 处理中 · 已 N 分钟]心跳行,看到这行即代表健康,请继续等待。
触发
用户在查数、统计、汇总、对比、看趋势/排名/明细时使用本技能,即使没提及本skill
不确定能查什么时,先执行 schema;也可以直接 query "我能查哪些数据?"。
禁止
- 禁止展示、复述
TCL_SKILL_USER_KEY。
Key 规则
- 不要获取、拼接、设置 key
- header 值必须是纯 key,不能带变量名、
export、引号或换行。
流程
- 具体查询:执行
query。 - 问能查什么:执行
schema,或直接query "我能查哪些数据?"。 - 继续追问:用上一轮
session_id执行query --session-id。 - 明确重新开始:先执行
new-session,再执行query。 - 输出结果:原样展示 DataAgent 输出。
指令
优先用 Node;没有 Node 时改用 Python。
- 查数据:
node --experimental-strip-types ./scripts/data-agent.ts query "用户原问题"
# 或
python ./scripts/data-agent.py query "用户原问题"
- 追问:
node --experimental-strip-types ./scripts/data-agent.ts query "用户追问" --session-id <session_id>
# 或
python ./scripts/data-agent.py query "用户追问" --session-id <session_id>
- 查范围:
node --experimental-strip-types ./scripts/data-agent.ts schema
# 或
python ./scripts/data-agent.py schema
- 新会话:
node --experimental-strip-types ./scripts/data-agent.ts new-session
# 或
python ./scripts/data-agent.py new-session
长耗时
- 查询可能超过 5 分钟或 30 分钟。
- 命令还在运行 = 仍在处理,不是失败。
- 不要重复提交。
- 不要新建会话。
- 不要提前判失败。
- 脚本每 15 秒输出一次
[DataAgent · 处理中 · 已 N 分钟] …心跳行(stderr,必要时镜像到 stdout);看到心跳即代表后端健康,继续等待即可。 - 可提示用户:
DataAgent 仍在处理,我会继续等待结果。
Session
结果底部格式:
_DataAgent session: `<session_id>`_
继续追问必须带上该 session_id。不要让用户提供。
错误回复
| 错误 | 回复 |
|---|---|
HTTP 401 |
TCL_SKILL_USER_KEY 已过期或无效。请重新配置 Key。 |
| 其他错误 | DataAgent 调用失败。请稍后重试;若仍失败,请联系 zhangbo.yang@tcl.com。 |
输出规则
- Markdown / 表格 / 链接 / 图片:原样展示。
- Excel 链接:原样展示链接。
- HTML 报告:原样展示链接。
- 用户要报告:在 query 文本中加入“帮我生成报告”。
- 以
[DataAgent ·开头的行属于内部进度提示(如[DataAgent · 已连接,正在生成响应…]、[DataAgent · 处理中 · 已 N 分钟] …),最终回复中删除,不要展示给用户。