| name | openecon-data-skill |
| description | OpenEcon 经济数据查询工具 — 自然语言查询全球宏观经济数据,覆盖 FRED、World Bank、IMF、Eurostat、BIS、OECD、UN Comtrade、Statistics Canada、ExchangeRate-API、CoinGecko 等 10 个数据源,33 万+ 指标。当用户问「美国 GDP 增速」「中国 CPI 近 5 年」「日本失业率」「全球贸易数据」时使用。触发词:GDP、CPI、PPI、失业率、通胀、经济数据、宏观经济、macro、economic data、FRED、World Bank、IMF。
|
OpenEcon Data Skill
通过 data-provider 网关访问 OpenEcon Data 的经济数据 API。所有调用走 python3 scripts/_cli_wrapper.py(内部转发到 scripts/openecon-cli),agent 不需要知道 HTTP 细节。
为什么用 Python wrapper? coze claw 仅在 Python 执行上下文注入托管密钥(DATA_PROVIDER_API_KEY),直接运行 Go 二进制读不到。wrapper 桥接 env 注入。
何时使用
- 用户查询宏观经济指标(GDP、CPI、PPI、失业率、利率、贸易额等)
- 用户需要某个国家/地区的经济时间序列数据
- 用户想比较不同国家的经济指标
- 用户查询汇率或加密货币价格(通过 ExchangeRate-API / CoinGecko)
- 用户的查询涉及 FRED、World Bank、IMF、Eurostat、OECD 等国际经济数据库
何时不使用
- 需要实时行情/秒级推送 — OpenEcon 为批量数据查询,非实时流
- 需要企业级微观数据(公司财报、股价) — 仅覆盖宏观经济指标
- 需要中国特有数据(A 股、国内政策文件) — 数据源以国际机构为主
快速开始
python3 ./scripts/_cli_wrapper.py list
python3 ./scripts/_cli_wrapper.py schema query
python3 ./scripts/_cli_wrapper.py call query --param "query=US GDP growth last 10 years"
python3 ./scripts/_cli_wrapper.py call query --param "query=中国 CPI 近 5 年变化趋势"
python3 ./scripts/_cli_wrapper.py call query --param "query=show me the trend" --param "conversation_id=conv_xxx"
python3 ./scripts/_cli_wrapper.py call health
本地联调时也可以直接运行 ./scripts/openecon-cli list,但 coze claw 部署必须走 python3 scripts/_cli_wrapper.py。
环境变量
| 变量 | 必填 | 默认 | 说明 |
|---|
DATA_PROVIDER_API_KEY | ✅ | — | data-provider 颁发的 dp_xxx key |
COZE_DATA_GATEWAY_URL | ❌ | https://data.coze.cn | 网关域名 |
COZE_DATA_PROVIDER | ❌ | openecon | 网关 provider 名(联调改 openecon-test) |
COZE_DATA_TIMEOUT_SEC | ❌ | 120 | 单次调用超时(LLM 解析较慢,默认 2 分钟) |
COZE_DATA_X_USE_PPE | ❌ | — | 联调泳道开关,设 1 启用 |
COZE_DATA_X_TT_ENV | ❌ | — | 联调泳道名 |
凭证不接受命令行参数。
Operations
典型查询流程
查询美国 GDP
python3 ./scripts/_cli_wrapper.py call query --param "query=US GDP growth last 10 years"
返回结构化数据,包含数据源(如 FRED)、指标名称、频率、单位、时间序列等。
多国比较
python3 ./scripts/_cli_wrapper.py call query --param "query=Compare unemployment rates of US, Japan, Germany from 2020 to 2025"
追问(多轮对话)
output=$(python3 ./scripts/_cli_wrapper.py call query --param "query=China CPI last 5 years")
conv_id=$(echo "$output" | jq -r '.conversationId')
python3 ./scripts/_cli_wrapper.py call query --param "query=now show me PPI for comparison" --param "conversation_id=$conv_id"
查询支持的数据源范围
OpenEcon 覆盖 10 个数据源:
| 数据源 | 覆盖范围 |
|---|
| FRED | 美联储经济数据(美国为主,87K+ 指标) |
| World Bank | 全球发展指标(200+ 国家) |
| IMF | 国际货币基金组织(全球宏观/财政/贸易) |
| Eurostat | 欧盟统计局(欧洲经济/社会/环境) |
| BIS | 国际清算银行(金融市场/银行统计) |
| OECD | 经合组织(38 成员国经济指标) |
| UN Comtrade | 联合国贸易统计(国际贸易流向) |
| Statistics Canada | 加拿大统计局 |
| ExchangeRate-API | 汇率数据 |
| CoinGecko | 加密货币价格 |
Exit Code
| code | 含义 |
|---|
| 0 | 成功 |
| 1 | 客户端用法错误(未知子命令 / 缺参 / 格式错) |
| 2 | 鉴权失败(env 缺失或上游 401/403) |
| 3 | 上游业务错误(4xx)— 如查询无法理解(400) |
| 4 | 上游服务错误(5xx) |
| 5 | 网络 / 超时 / 协议错 |
错误处理范式
output=$(python3 ./scripts/_cli_wrapper.py call query --param "query=US GDP" 2>err.log)
case $? in
0) echo "$output" | jq . ;;
2) echo "鉴权失败,检查 DATA_PROVIDER_API_KEY"; cat err.log ;;
3) echo "上游业务错误(查询无法解析)"; cat err.log ;;
4) echo "上游服务错误"; cat err.log ;;
5) echo "网络异常或超时,建议重试(默认超时 120s)"; cat err.log ;;
*) echo "用法错"; cat err.log ;;
esac
已知限制
- 查询依赖 LLM 解析自然语言 → 响应较慢(通常 10-30 秒),默认超时 120 秒
- 返回的数据取决于 LLM 对查询意图的理解,复杂/模糊查询可能需要追问澄清
- 数据源以国际机构为主,中国本土数据覆盖有限
- 单次查询结果可能包含多个数据集(多指标/多国家),需要从返回 JSON 中筛选
clarificationNeeded=true 时表示 LLM 需要更多信息,应提示用户补充查询
不要做
- ❌ 不要试图绕过 CLI 直接 curl 网关:CLI 处理了鉴权 header 和 exit code 映射
- ❌ 不要把 vendor 原始 token 写到任何配置:vendor secret 由网关注入
- ❌ 不要修改
scripts/openecon-cli 的源码(源码在 tools/openecon-cli/)
- ❌ 不要修改
scripts/_cli_wrapper.py:该脚本是 coze claw env 注入的唯一桥接入口
- ❌ 不要在 coze claw 部署时直接运行
./scripts/openecon-cli,必须走 python3 scripts/_cli_wrapper.py