脚本使用
脚本模式技能 — 阅读此文件,然后从 bash 块中调用:
python3 - <<'EOF'
import sys, json
sys.path.insert(0, "/data/workspace/skills/coingecko")
from exports import coin_price, cg_trending, cg_global
print(coin_price(coin_ids="bitcoin,ethereum"))
print(cg_trending())
EOF
阅读 exports.py 获取完整可用函数列表。常用函数:
coin_price, coin_ohlc, coin_chart, cg_trending,
cg_top_gainers_losers, cg_new_coins, cg_global, cg_global_defi,
cg_categories, cg_derivatives, cg_coins_markets, cg_coin_data,
cg_coin_tickers, cg_search, cg_token_price, cg_coin_by_contract。
CoinGecko 技能
函数参考(签名)
所有公共函数都在 exports.py 中。coin_id 是 CoinGecko 的 ID
(例如 bitcoin, ethereum)——如果不确定,请先使用 cg_search(query)。
vs_currency 默认为 usd。
价格与图表
| 函数 |
描述 |
coin_price(coin_ids, timestamps=None, vs_currency='usd') |
当前或历史价格。coin_ids 为逗号分隔字符串,如 "bitcoin,ethereum"。timestamps 为历史时间戳列表(默认:当前)。 |
coin_ohlc(coin_id, days=30, vs_currency='usd') |
最近 N 天的 OHLC 柱状图。返回 [ts, o, h, l, c] 列表。粒度自动选择:1天=30分钟,7-30天=4小时,30天以上=4小时。 |
coin_chart(coin_id, days=30, vs_currency='usd') |
价格 + 市值 + 总交易量时间序列。返回 {prices, market_caps, total_volumes}(每个为 [ts, val] 列表)。 |
发现
| 函数 |
描述 |
cg_trending() |
热门币种、NFT、类别(最近24小时)。 |
cg_top_gainers_losers(vs_currency='usd', duration='24h') |
涨幅最大/跌幅最大。duration 可选 1h/24h/7d/14d/30d/60d/1y。 |
cg_new_coins() |
最近上线的币种。 |
cg_search(query) |
按名称搜索币种/交易所/类别。 |
市场数据
| 函数 |
描述 |
cg_global() |
全球加密货币市场:总市值、交易量、主导地位。 |
cg_global_defi() |
全球 DeFi:TVL、主导地位、顶级协议。 |
cg_coins_markets(vs_currency='usd', order='market_cap_desc', per_page=100, page=1, sparkline=False, price_change_percentage='24h', category=None, ids=None) |
顶级币种及完整市场数据。 |
cg_coin_data(coin_id, localization=False, tickers=False, market_data=True, community_data=False, developer_data=False, sparkline=False) |
单个币种的详细数据。 |
cg_coin_tickers(coin_id, exchange_ids=None, include_exchange_logo=False, page=1, order='volume_desc', depth=False) |
币种交易场所及交易量。 |
cg_coins_list(include_platform=False) |
所有币种 ID/符号(用于解析)。 |
类别 / 衍生品 / NFT
| 函数 |
描述 |
cg_categories(order='market_cap_desc') |
顶级类别及其市值和交易量。 |
cg_categories_list() |
仅类别 ID/名称。 |
cg_derivatives(include_tickers='unexpired') |
各交易所的衍生品行情。 |
cg_derivatives_exchanges(order='open_interest_btc_desc', per_page=50) |
衍生品交易所排名。 |
cg_nfts_list(order='market_cap_usd_desc', per_page=100, page=1) |
顶级 NFT 收藏品。 |
cg_nft(nft_id) |
NFT 收藏品详情。 |
cg_nft_by_contract(asset_platform, contract_address) |
按合约地址查询 NFT。 |
交易所
| 函数 |
描述 |
cg_exchanges(per_page=100, page=1) |
交易所排名。 |
cg_exchange(exchange_id) |
单个交易所详情。 |
cg_exchange_tickers(exchange_id, ...) |
交易所上的行情。 |
cg_exchange_volume_chart(exchange_id, days=30) |
交易所交易量历史。 |
合约 / 代币(按平台)
| 函数 |
描述 |
cg_token_price(platform, contract_addresses, vs_currencies='usd', include_market_cap=False, include_24hr_vol=False, include_24hr_change=False, include_last_updated_at=False) |
按平台合约地址查询价格。 |
cg_coin_by_contract(platform, contract_address) |
按合约地址查询币种元数据。 |
cg_asset_platforms(filter=None) |
支持的链。 |
cg_vs_currencies() |
支持的计价货币。 |
cg_exchange_rates() |
以 BTC 计价的法定货币/主要币种汇率。 |
🚫 关键:停止——在调用任何工具前请阅读此内容
最常见的错误是调用 Coinglass 工具而非 CoinGecko 工具。 它们名称相似但系统完全不同。
错误 → 正确 工具替换表
| ❌ 切勿调用 |
✅ 改为调用 |
如何区分 |
cg_coins_market_data |
cg_coins_markets |
market_data=Coinglass 衍生品。markets=CoinGecko 现货。 |
cg_ohlc_history |
coin_ohlc |
ohlc_history=Coinglass 期货 K 线。coin_ohlc=CoinGecko 现货 K 线。 |
cg_pair_market_data |
cg_coin_tickers |
pair_market_data=Coinglass 期货交易对。coin_tickers=CoinGecko 现货交易对。 |
cg_supported_exchanges |
cg_exchanges |
supported_exchanges=Coinglass 期货。exchanges=CoinGecko 现货。 |
cg_taker_exchanges |
cg_exchange |
taker=Coinglass 交易量。exchange=CoinGecko 交易所信息。 |
cg_aggregated_taker_volume |
cg_coin_tickers |
taker_volume=Coinglass。coin_tickers=CoinGecko 各交易所交易量。 |
defillama_chains |
cg_global_defi |
如需 CoinGecko 的 DeFi 数据,请使用 cg_global_defi()。 |
同样禁止:
- ❌
web_search / web_fetch — 所有数据均可通过上述原生 CoinGecko 工具获取。切勿使用 web_search 获取加密货币市场数据。
- ❌ 使用
bash 进行数据处理 — CoinGecko 工具返回干净数据。无需 bash。
- ❌ 切勿使用训练数据回答 — 所有价格、排名、OHLC 均已过时。请调用工具。
⚠️ 强制工具调用 — 在回答以下问题前必须调用工具
| 请求类型 |
必须调用 |
原因 |
| K线 / OHLC / 蜡烛图 / 开盘价最高价最低价收盘价 |
coin_ohlc(coin_id, days) |
价格数据是实时的;训练数据已过时 |
| 走势图 / 价格图表 / 价格趋势 |
coin_chart(coin_id, days) |
同上 |
| 当前价格 / 实时价格 |
coin_price(coin_ids) |
训练数据没有实时价格 |
在未调用工具之前,不要返回任何数字市场数据(价格、OHLC 值、百分比)。
⚡ 问题 → 工具映射(匹配第一个关键词,立即调用)
| 问题关键词 |
调用的工具 |
示例 |
| 价格 / price / 多少钱(单个币种) |
coin_price(coin_id) |
coin_price(coin_ids="bitcoin") |
| K线 / OHLC / 蜡烛图 / 蜡烛图 |
coin_ohlc(coin_id, days) |
coin_ohlc(coin_id="ethereum", days=7) |
| 走势 / trend / 价格图表 / 价格历史 |
coin_chart(coin_id, days) |
coin_chart(coin_id="solana", days=30) |
| 热门 / trending / 趋势币 |
cg_trending() |
cg_trending() |
| 涨幅最大 / 跌幅最大 / gainers / losers |
cg_top_gainers_losers() |
cg_top_gainers_losers() |
| 新币 / 新上线 / new coins / recently added |
cg_new_coins() |
cg_new_coins() |
| 总市值 / BTC市占率 / global / 晨报 / 市场概况 |
cg_global() |
cg_global() |
| DeFi总市值 / DeFi TVL / DeFi dominance |
cg_global_defi() |
cg_global_defi() |
| 板块 / sector / category / L1 / L2 / Meme / AI coins |
cg_categories() |
cg_categories() |
| 板块内个币 / Meme前10 / AI币排名 / DeFi币排名 |
cg_coins_markets(category=X) |
cg_coins_markets(category="meme-token", per_page=10) |
| 市值排名 / top 10 / ranking / 前10币 |
cg_coins_markets(per_page=N) |
cg_coins_markets(per_page=10) |
| ATH / 历史最高 / 社区 / dev / 研究 / fundamentals |
cg_coin_data(coin_id) |
cg_coin_data(coin_id="solana", community_data=True) |
| 对比两个币 / compare / XX vs YY |
cg_coin_data() × 2 |
每个币种调用一次 |
| NFT排名 / NFT市场 / floor price / top NFTs |
cg_nfts_list() |
cg_nfts_list() |
| 某个NFT (BAYC/Punks/Azuki) |
cg_nft(nft_id) |
cg_nft(nft_id="bored-ape-yacht-club") |
| 交易所详情 / Binance详情 / exchange data |
cg_exchange(exchange_id) |
cg_exchange(exchange_id="binance") |
| 交易所列表 / exchange ranking |
cg_exchanges() |
cg_exchanges() |
| 交易对 / trading pairs / 流动性分布 |
cg_coin_tickers(coin_id) |
cg_coin_tickers(coin_id="bitcoin") |
| 交易所交易量趋势 / volume chart |
cg_exchange_volume_chart(exchange_id) |
cg_exchange_volume_chart(exchange_id="binance", days=30) |
| 合约地址价格 / token price on-chain |
cg_token_price(platform, contract) |
cg_token_price(platform="ethereum", contract_addresses="0xa0b...") |
| 搜索币 / 找币 / coin lookup / search |
cg_search(query) |
cg_search(query="pepe") |
| 永续合约交易所 / derivatives exchange / OI排名 |
cg_derivatives_exchanges() |
cg_derivatives_exchanges() |
| 合约ticker / perpetual / funding / basis |
cg_derivatives() |
cg_derivatives() |
| 交易所对比 + 永续交易所 |
cg_exchanges() + cg_derivatives_exchanges() |
两个调用 |
🌳 决策树
多少个币种?
├─ 单个币种
│ ├─ 仅价格?→ coin_price()
│ ├─ ATH/社区/开发/深度?→ cg_coin_data()
│ ├─ OHLC K线?→ coin_ohlc()
│ ├─ 价格趋势?→ coin_chart()
│ └─ 未知ID?→ 先 cg_search()
├─ 多个币种 / 排名
│ ├─ 板块汇总(板块总市值)?→ cg_categories()
│ ├─ 板块内个币(Meme前10)?→ cg_coins_markets(category=X)
│ └─ 通用排名?→ cg_coins_markets(per_page=N)
├─ NFTs → cg_nfts_list() 或 cg_nft(nft_id)
├─ 交易所 → cg_exchange(id) 或 cg_exchanges()
├─ 全球 → cg_global() 或 cg_global_defi()
└─ 按合约查询代币 → cg_token_price()
常见类别 ID
meme-token, artificial-intelligence, layer-1, layer-2, decentralized-finance-defi, gaming, real-world-assets-rwa
输出格式
- 价格:始终使用
$ 符号 → $66,697
- 百分比:始终使用
% → +4.2%
- NFT 地板价(ETH):同时显示美元 →
5.17 ETH ($10,534)
重要说明
- CoinGecko 使用 slug ID:"bitcoin", "ethereum", "solana"。符号(BTC, ETH, SOL)自动解析。
- 如果不确定币种 ID → 先使用
cg_search(query="coin name")。
- 大多数问题只需 1-2 次工具调用。不要连续调用 3 次以上。
常见问题
coin_price 因无效 ID 失败
解决方案: 先使用 cg_search(query="coin name") 查找正确的 CoinGecko ID,或直接使用符号(例如 'COMP')。