← Back to Skills Marketplace
jfstylejf

Finance Reporter Publish

by jfstylejf · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ⚠ suspicious
116
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install finance-reporter-publish
Description
实时财经数据推送工具。使用Yahoo Finance API获取全球股市、外汇、大宗商品、加密货币实时行情,支持定时推送到钉钉/微信。包含股票代码、货币单位、实时价格、24h前/昨收价格、涨跌幅。支持标的:纳指、道指、美元指数、黄金、比特币、沪指、恒生、日经、人民币/美元汇率、原油。
README (SKILL.md)

Finance Reporter - 实时财经数据推送

📈 专业的财经数据获取与推送工具,支持全球主要金融市场实时行情。

✨ 功能特性

  • 全球覆盖:美股、A股、港股、日股、外汇、大宗商品、加密货币
  • 实时数据:Yahoo Finance API,数据准确及时
  • 智能计算:自动计算涨跌幅,股票显示"昨收",加密货币显示"24h前"
  • 定时推送:支持 cron 定时任务,自动推送到钉钉/微信
  • 重试机制:网络失败自动重试3次
  • 货币单位:自动显示 USD/CNY/HKD/JPY 等货币符号

📊 支持标的

类别 标的 代码 货币 市场类型
🇺🇸 美股指数 纳指 ^IXIC USD 股票
🇺🇸 美股指数 道指 ^DJI USD 股票
💵 外汇 美元指数 DX-Y.NYB - 外汇
💵 外汇 人民币/美元 CNY=X - 外汇
🪙 加密货币 比特币 BTC-USD USD 加密(24h)
🏆 大宗商品 黄金 GC=F USD 期货
🏆 大宗商品 原油 CL=F USD 期货
🇨🇳 A股 沪指 000001.SS CNY 股票
🇭🇰 港股 恒生 ^HSI HKD 股票
🇯🇵 日股 日经 ^N225 JPY 股票

🚀 快速开始

1. 手动获取数据

# 运行脚本获取实时数据
python3 ~/.openclaw/workspace/skills/finance-reporter/tools/finance_data.py

2. 钉钉群调用

在钉钉群中 @你的机器人:

@finance 获取实时财经数据

3. 配置定时任务

# 每天 09:01 自动推送
openclaw cron add \
  --name "finance_daily" \
  --schedule "01 9 * * *" \
  --command "python3 ~/.openclaw/workspace/skills/finance-reporter/tools/finance_data.py"

📋 输出格式示例

📊 实时财经数据 [2026-03-20 09:01]
💡 数据来源: Yahoo Finance API

🇺🇸 美股指数
----------------------------------------
📉 纳指
   代码: ^IXIC
   现价: $21,979.21
   昨收: $22,152.42
   涨跌: -173.21 (-0.78%)

📉 道指
   代码: ^DJI
   现价: $45,884.29
   昨收: $46,225.15
   涨跌: -340.86 (-0.74%)

🪙 加密货币
----------------------------------------
📉 比特币
   代码: BTC-USD
   现价: $69,296.45
   24h前: $71,245.58
   涨跌: -1,949.13 (-2.74%)

⚙️ 配置说明

环境要求

  • Python 3.8+
  • requests 库

安装依赖

pip3 install requests

自定义标的

编辑 tools/finance_data.py 中的 SYMBOLS 字典:

SYMBOLS = {
    "纳指": {"code": "^IXIC", "currency": "USD", "market": "stock"},
    "道指": {"code": "^DJI", "currency": "USD", "market": "stock"},
    # 添加你的标的...
    "特斯拉": {"code": "TSLA", "currency": "USD", "market": "stock"},
}

市场类型说明

  • stock:股票/指数,显示"昨收"
  • crypto:加密货币,显示"24h前"
  • commodity:大宗商品,显示"昨收"
  • forex:外汇,显示"昨收"

📡 数据来源

  • Primary: Yahoo Finance API(免费,实时)
  • 数据更新: 实时
  • API限制: 无限制,但请合理使用

🔧 故障排除

数据获取失败

  • 检查网络连接
  • 脚本会自动重试3次
  • 查看错误日志:openclaw logs

钉钉推送失败

  • 确认钉钉插件已配置
  • 检查群ID是否正确
  • 查看绑定:openclaw agents bindings

📝 更新日志

v1.0.0 (2026-03-20)

  • ✅ 支持10个主要标的
  • ✅ 智能涨跌幅计算
  • ✅ 定时任务推送
  • ✅ 钉钉集成
  • ✅ 重试机制

🤝 贡献

欢迎提交 PR 和 Issue!

📄 许可证

MIT License

Usage Guidance
What to check before installing or using this skill: - Understand the missing push implementation: the provided script fetches and prints Yahoo Finance data but does not send messages to DingTalk/WeChat. If you need automatic pushing, ask the author or inspect your OpenClaw agent bindings to see how messages are expected to be delivered (webhook config or separate plugin). - Do not assume secrets are handled: the skill declares no env vars for webhooks/tokens. If the platform will provide them via agent bindings, verify where those secrets are stored and who can read them. Never paste webhook tokens into an untrusted skill folder. - The metadata asks for curl but the script uses Python requests — this is a harmless mismatch but indicates sloppy packaging. The package.json is npm-style and lists 'requests' (a Python package) which is inconsistent; ignore or review it manually. - If you want to use pushes, either: (a) add explicit code to post to your DingTalk/WeChat webhook (and store the webhook in a secure env var or agent binding) and review that code, or (b) confirm the platform will handle pushes and inspect the platform-side binding/plugin code. - As a precaution, run the script locally (not as an always-on privileged agent) to confirm output and network targets (it calls only query1.finance.yahoo.com). Review logs and network activity in a sandbox before enabling scheduled runs that might send data to external services. What would raise confidence: - Clear documentation or code showing how DingTalk/WeChat webhooks are provided (where tokens live and how they’re protected). - Removal of the incorrect curl requirement and a corrected manifest (or explanation why package.json exists). - If push functionality is required, seeing the explicit posting code in the skill (or verified secure platform bindings) so you can audit it.
Capability Analysis
Type: OpenClaw Skill Name: finance-reporter-publish Version: 1.0.1 The skill is a legitimate financial data reporting tool that fetches market data from the Yahoo Finance API (query1.finance.yahoo.com). The Python script tools/finance_data.py implements standard data retrieval and formatting logic without any suspicious behaviors, such as unauthorized network calls, credential theft, or command injection. All operations align with the stated purpose of providing real-time finance reports.
Capability Assessment
Purpose & Capability
The SKILL and README claim built-in '定时推送到钉钉/微信' (push to DingTalk/WeChat), but the included Python script only fetches data and prints a report — there is no code to post to DingTalk/WeChat or to any webhook. The skill declares required binary 'curl' though the script uses Python requests and never calls curl. package.json lists a Python requests dependency under an npm-style manifest which is incongruent with a Python-only tool. These mismatches suggest either missing integration code (relying on external agent plugins) or sloppy packaging.
Instruction Scope
Runtime instructions show running the Python script and scheduling it via openclaw cron; they do not instruct providing webhook URLs, tokens, or environment variables for DingTalk/WeChat. The instructions mention '钉钉插件已配置' and agent bindings, implying push may be handled outside the script by platform bindings — this is plausible but not documented in the skill itself, which is a gap users should be aware of.
Install Mechanism
This is an instruction-only skill with no download/install steps and a single small Python script. No remote installation or archive extraction is specified, so install risk is low. The only small oddity is an npm-style package.json that doesn't match the Python implementation but it does not introduce an install action.
Credentials
The skill requests no environment variables, but claims push-to-messaging features that normally require webhook URLs or tokens. That absence is suspicious: either the platform is expected to supply bindings (not documented here), or the skill is incomplete. Also, requiring 'curl' in metadata is disproportionate because the script uses Python's requests and doesn't call curl.
Persistence & Privilege
The skill does not request always:true and does not declare any privileged config paths. It appears to be a normal user-invocable skill with standard autonomous invocation allowed by platform defaults.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install finance-reporter-publish
  3. After installation, invoke the skill by name or use /finance-reporter-publish
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.1
修改默认 cron 时间从 01:20 改为 09:01
Metadata
Slug finance-reporter-publish
Version 1.0.1
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Finance Reporter Publish?

实时财经数据推送工具。使用Yahoo Finance API获取全球股市、外汇、大宗商品、加密货币实时行情,支持定时推送到钉钉/微信。包含股票代码、货币单位、实时价格、24h前/昨收价格、涨跌幅。支持标的:纳指、道指、美元指数、黄金、比特币、沪指、恒生、日经、人民币/美元汇率、原油。 It is an AI Agent Skill for Claude Code / OpenClaw, with 116 downloads so far.

How do I install Finance Reporter Publish?

Run "/install finance-reporter-publish" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Finance Reporter Publish free?

Yes, Finance Reporter Publish is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Finance Reporter Publish support?

Finance Reporter Publish is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Finance Reporter Publish?

It is built and maintained by jfstylejf (@jfstylejf); the current version is v1.0.1.

💬 Comments