适用版本:2026-10-08 上线批次(MCP+OAuth / Webhook / RSS / Open API / 机器人)。 文档中所有标注「✅ 实测」的行为均在生产环境(daocaijing.com)验证过,含验证日期。 内容仅供研究参考,不构成投资建议。
| 通道 | 适用场景 | 入口 |
|---|---|---|
| MCP(推荐) | 让 AI 客户端(Claude/Cursor 等)长出投研能力 | https://daocaijing.com/api/mcp |
| Webhook | 平台事件主动推进你的系统(n8n/Dify/量化脚本) | /developers 页内注册回调 |
| RSS | 被动订阅(阅读器/聚合管道) | /feed.xml、/feed/research.xml、/feed/themes.xml |
| Open API | 服务端只读内容接口(合作方) | /api/v1/*,Header X-API-Key |
| 机器人 | 群定时播报 | /api/v1/openclaw/digest |
开发者总门户:https://daocaijing.com/developers(含 Webhook 管理台) MCP 控制台:https://daocaijing.com/api/mcp/setup(令牌签发/撤销 + 配置生成)
任何支持 MCP + OAuth 2.1 的客户端,只需添加远程服务器地址:
https://daocaijing.com/api/mcp
bash
claude mcp add --transport http daocaijing https://daocaijing.com/api/mcp流程:客户端首次调用收到 401 → 自动打开浏览器 → 登录稻草财经(已登录则直接显示账号)→ 点「授权」→ 自动跳回客户端 → 开始使用。访问令牌 1 小时有效、自动续期,用户无感。
✅ 实测记录:真实浏览器完整走通「未登录显示登录表单 → 登录态显示授权按钮 → 点授权 → 跳回 localhost 回调携带 code+state → PKCE 换令牌 → 调工具取真数据」全流程。
/api/mcp/setup,创建令牌(明文仅显示一次,前缀 dfm_,默认 365 天有效,每账号最多 5 把)Authorization: Bearer dfm_xxx(优先,不进 URL/日志)curl 验证(✅ 实测):
curl -s https://daocaijing.com/api/mcp \
-H "Authorization: Bearer dfm_xxx" \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
无法配置 Header 的客户端(如 Claude Desktop 自定义连接器)可用查询参数兜底:https://daocaijing.com/api/mcp?token=dfm_xxx。该方式令牌会进服务端访问日志(已做脱敏映射 token=REDACTED),介意请用 Header 方式。
管理:控制台可随时撤销,撤销即时生效(✅ 实测:撤销后原令牌下一次请求即 401)。
| 工具 | 说明 | 实测 |
|---|---|---|
ping |
连通探针,返回账号与会员状态 | ✅ |
search_market_symbols / get_market_quotes |
标的搜索 / 行情快照(A/H/美) | ✅(内部通道同源) |
get_review_today / get_review / list_reviews |
A股复盘:今日 / 指定日期 / 历史列表 | ✅ |
get_stock_verdict |
个股证据速判卡(确定性引擎,非 LLM 叙述) | ✅ 600519 |
search_news / search_research / search_stock_reports |
资讯流 / 投行研报 / 个股券商研报(近两年元数据) | ✅(research 50 条;茅台研报列表实测) |
search_minutes / get_minutes_sentiment |
机构纪要检索(含正文)/ 当日多空统计 | ✅ |
get_theme_stocks / get_stock_themes |
题材→受益股 / 个股→题材反查 | ✅(上游降级时返回空) |
get_kline |
K线(日线/分时) | ✅ |
get_market_dashboard / get_risk_radar / get_market_calendar |
大盘指标盘 / 风险雷达 / A股日历 | ✅ |
get_theme_boards / get_limit_up_ladder / get_dragon_tiger |
板块涨幅榜 / 涨停天梯 / 龙虎榜 | ✅ |
universal_search / get_headlines / get_track_record / get_ai_fund_snapshot |
统一搜索 / AI头条 / 平台战绩 / AI模拟盘 | ✅ |
ask_ai |
AI 投研问答,会调工具取真实数据 | ✅ quick 28s / deep 91s |
调用示例(✅ 实测返回):
{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"ask_ai","arguments":{"question":"贵州茅台当前值得关注吗","deep":true}}}
deep 模式返回结构化投研结论:结论与期限 / 一致预期与核心矛盾 / 证据要点(33 份卖方报告、目标价区间)/ 风险 / 反证与失效条件,附 confidence。
| 维度 | 规则 |
|---|---|
ask_ai |
会员/管理员不限次;登录非会员每天 10 次(超额 402 引导开通);与网页端同一配额闸 |
| 工具调用速率 | 每令牌 60 次/分钟(超出 429) |
| 体验期账号日调用 | 300 次/天(429 引导开通);尊享/永久会员不限次 |
| 令牌数量 | 每账号最多 5 把 |
ask_ai quick 模式实测 10–30s,deep 实测 ~90s;数据工具秒级。deep:true;「今天复盘说了什么」这类事实查询用默认 quick,秒回。平台事件(当前支持 news:快讯入库)实时 POST 到你注册的回调 URL。
# 创建订阅(✅ 实测)
curl -X POST https://daocaijing.com/api/account/webhooks \
-H "Authorization: Bearer <网站JWT>" -H 'Content-Type: application/json' \
-d '{"url":"https://你的服务/hook","events":["news"],"description":"我的自动化"}'
# 返回 { "id":"wh_...", "secret":"whsec_...", ... } ← 密钥仅此一次显示
事件载荷(✅ 实测格式):
{"id":"evt_…","type":"news","created_at":"2026-10-08T…",
"data":{"id":"…","title":"…","content":"…","topic":"快讯","symbol":null,"created_at":"…"}}
import hmac, hashlib
# header: X-DaoCaijing-Signature: t=1696745123,v1=ab3f…
sig = dict(kv.split("=", 1) for kv in header.split(","))
expect = hmac.new(whsec.encode(), f"{sig['t']}.".encode() + raw_body, hashlib.sha256).hexdigest()
assert hmac.compare_digest(expect, sig["v1"]) # 不符 = 非稻草财经发出或被篡改
/test 端点对账。http://10.0.0.1/ 被拒 400)。POST /api/account/webhooks/{id}/test 发测试事件(✅ 实测)。| 源 | 内容 |
|---|---|
/feed.xml |
A股收盘复盘 + 资讯快讯 |
/feed/research.xml |
海外投行研报流(实测 50 条) |
/feed/themes.xml |
当日概念板块涨幅榜 + 领涨股 |
最佳实践:拉取间隔 ≥30 分钟;某源偶尔返回空 <channel/> 多为上游行情源临时降级(非鉴权问题),下个周期自然恢复。
/api/v1(合作方)X-API-Key: dfk_…(联系稻草财经签发);完整文档 /api/v1/docs/api/v1/openclaw/digest)https://daocaijing.com/api/v1/openapi.json(✅ 实测 200,7 端点,ApiKey 安全方案)X-API-Keycurl -s "https://daocaijing.com/api/v1/openclaw/digest?hours=8" -H "X-API-Key: dfk_xxx"
(接口已就绪,与 /api/v1 同鉴权;推送脚本模板本会话未实测,按各机器人平台文档接入即可。要在群里 @问答,用 1.1 的 MCP 地址接进支持 MCP 的机器人框架。)
| 现象 | 原因 → 处理 |
|---|---|
| MCP 调用 401 | 令牌无效/已撤销/过期 → 控制台重发;OAuth 客户端重新发起连接即可 |
ask_ai 返回 402 |
非会员每日 10 次用完 → 次日恢复或开通会员 |
| 429 | 60 次/分速率或体验期 300 次/天上限 → 降频 / 次日 / 开会员 |
| 授权页空白/报错 | 确认客户端走 https://;客户端需支持 MCP OAuth 2.1(401 自动发现);不支持就改用个人令牌 |
ask_ai 反问澄清 |
问题太宽泛,属预期 → 补充标的/周期/风险偏好重问 |
get_theme_stocks 返回空 |
东财板块上游临时降级(网页端同样为空),稍后重试 |
| Webhook 收不到 | 查订阅 last_status(/developers 列表);连续失败 20 次已自动停用 → 删除重建 |
get_review_today 这类事实秒回;ask_ai quick 实测 28s、deep 实测 91s。deep 的价值是多轮取数+交叉验证,别拿它查「今天几号」。ask_ai 内部会自动调行情/复盘/财报工具取真数再回答(实测回答内含当日成交量/涨跌幅硬数据)——不确定用哪个数据工具时,直接问 AI。研究一个标的的标准动作:
1. universal_search q=公司名 → 定位标的代码/相关资讯/术语
2. get_stock_verdict symbol=代码 → 确定性证据面(信号灯+可信度,非 LLM 叙述)
3. search_stock_reports symbol=代码 → 近两年券商观点(评级分布:茅台实测 24买入/6增持/3持有)
4. search_minutes keyword=公司名 → 机构调研纪要原文(一线反馈)
5. get_kline symbol=代码 → 走势结构(日线/分时)
6. ask_ai question=综合以上 deep=true → 交叉验证后的结构化研判
盘面巡检的标准动作:
get_review_today(昨天到今天发生了什么)
→ get_limit_up_ladder + get_dragon_tiger(资金在炒什么:实测当日 69 只涨停/72 条龙虎榜)
→ get_theme_boards + get_market_calendar(题材主线 + 未来事件)
→ get_risk_radar(高位股风险预警)
ask_ai 留给真正需要综合判断的问题——非会员每天只有 10 次 AI 问答,数据工具查到的事实足够 AI 客户端自己总结。evt.id 去重)——当前版本失败不自动重发;/developers 列表的 last_status / 失败计数;连续失败 20 次订阅会被自动熔断(✅ 实测语义),恢复=删除重建。dfm_)与网站密码同权:不进前端代码、不进开源仓库、不发给群聊;泄露立即控制台撤销(✅ 实测即时生效)。?token= 方式仅供无法配置 Header 的客户端(日志已脱敏但仍不建议长期用)。| 项 | 方式 |
|---|---|
| OAuth 全流程(注册→授权→PKCE→刷新→重放拒绝) | curl 模拟客户端 10 步舞步 ✅ |
| OAuth 真实浏览器流程(授权页→点授权→跳回回调) | 真实 Chrome + 本地回调服务器 ✅ |
| MCP 工具调用(ping/复盘/速判卡/ask_ai quick+deep) | 公网 https 实调 ✅ |
| 令牌撤销即时生效 | 撤销后原令牌 401 ✅ |
| Webhook 投递 + HMAC 验签 + SSRF 拒绝 | 生产进程内实测 ✅ |
| RSS 三源 / OpenAPI 规范 / 开发者门户 | 公网 200 + 内容校验 ✅ |
| 单元测试 | backend/deepfocus_api/tests/test_mcp_remote.py 14 项全绿 ✅ |
© 稻草财经 · daocaijing.com · 返回开发者平台