feat: multimodal image clients, workspaces, Tushare skill, test fixes

- Replace monolithic image_message_client with HTTP/OCR/legacy modules; tighten OpenAI transport + tool schemas for multimodal downgrade to OCR specialist path.
- Add image/stock workspace prompts (META/SOUL/ROLE_SYSTEM); register experts; tweak specialist agent/direct loop/query_image_attachment.
- Add bundled runtime/skills/tushare-finance (references, api_client, SKILL metadata).
- Document OCR-related env vars; admin chat tweaks; README; weixin_install Ensure-OfficialPluginRuntimeDeps helper.
- Tests: multimodal downgrade + OCR coverage, strict tool pairing in attachment replay guard, workspace contract skips _internal/_system dirs, router/trace/prompt guards.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
oliver 2026-05-10 04:41:42 +08:00
parent 6307ade480
commit d1bcc4debe
266 changed files with 57024 additions and 839 deletions

View file

@ -0,0 +1,127 @@
# 题材成分(开盘啦)
**文档ID**: 351
**原始链接**: https://tushare.pro/document/2?doc_id=351
---
## 开盘啦题材成分
接口:kpl_concept_cons描述:获取开盘啦概念题材的成分股限量:单次最大3000条,可根据代码和日期循环获取全部数据积分:5000积分可提取数据,具体请参阅积分获取办法
注:开盘啦是一个优秀的专业打板app,有兴趣的用户可以自行下载安装。本接口仅限用于量化研究,如需商业用途,请自行联系开盘APP官方。此接口因源站改版暂无新增数据
输入参数
<table>
<thead>
<tr>
<th>名称</th>
<th>类型</th>
<th>必选</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>trade_date</td>
<td>str</td>
<td>N</td>
<td>交易日期(YYYYMMDD格式)</td>
</tr>
<tr>
<td>ts_code</td>
<td>str</td>
<td>N</td>
<td>题材代码(xxxxxx.KP格式)</td>
</tr>
<tr>
<td>con_code</td>
<td>str</td>
<td>N</td>
<td>成分代码(xxxxxx.SH格式)</td>
</tr>
</tbody>
</table>
输出参数
<table>
<thead>
<tr>
<th>名称</th>
<th>类型</th>
<th>默认显示</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>ts_code</td>
<td>str</td>
<td>Y</td>
<td>题材ID</td>
</tr>
<tr>
<td>name</td>
<td>str</td>
<td>Y</td>
<td>题材名称</td>
</tr>
<tr>
<td>con_name</td>
<td>str</td>
<td>Y</td>
<td>股票名称</td>
</tr>
<tr>
<td>con_code</td>
<td>str</td>
<td>Y</td>
<td>股票代码</td>
</tr>
<tr>
<td>trade_date</td>
<td>str</td>
<td>Y</td>
<td>交易日期</td>
</tr>
<tr>
<td>desc</td>
<td>str</td>
<td>Y</td>
<td>描述</td>
</tr>
<tr>
<td>hot_num</td>
<td>None</td>
<td>Y</td>
<td>人气值</td>
</tr>
</tbody>
</table>
接口用法
```
pro = ts.pro_api()
df = pro.kpl_concept_cons(trade_date='20241014')
```
数据样例
```
ts_code name ts_name con_code trade_date
0 000111.KP 化债概念 信达地产 600657.SH 20241014
1 000111.KP 化债概念 银宝山新 002786.SZ 20241014
2 000111.KP 化债概念 摩恩电气 002451.SZ 20241014
3 000111.KP 化债概念 光大嘉宝 600622.SH 20241014
4 000111.KP 化债概念 海德股份 000567.SZ 20241014
... ... ... ... ... ...
2995 000229.KP 电力 特变电工 600089.SH 20241014
2996 000229.KP 电力 中国西电 601179.SH 20241014
2997 000229.KP 电力 金盘科技 688676.SH 20241014
2998 000229.KP 电力 思源电气 002028.SZ 20241014
2999 000229.KP 电力 明阳电气 301291.SZ 20241014
```