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,143 @@
# 前十大流通股东
**文档ID**: 62
**原始链接**: https://tushare.pro/document/2?doc_id=62
---
## 前十大流通股东
接口:top10_floatholders描述:获取上市公司前十大流通股东数据积分:需2000积分以上才可以调取本接口,5000积分以上频次会更高
输入参数
<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>TS代码</td>
</tr>
<tr>
<td>period</td>
<td>str</td>
<td>N</td>
<td>报告期(YYYYMMDD格式,一般为每个季度最后一天)</td>
</tr>
<tr>
<td>ann_date</td>
<td>str</td>
<td>N</td>
<td>公告日期</td>
</tr>
<tr>
<td>start_date</td>
<td>str</td>
<td>N</td>
<td>报告期开始日期</td>
</tr>
<tr>
<td>end_date</td>
<td>str</td>
<td>N</td>
<td>报告期结束日期</td>
</tr>
</tbody></table>
输出参数
<table>
<thead>
<tr>
<th>名称</th>
<th>类型</th>
<th>描述</th>
</tr>
</thead>
<tbody><tr>
<td>ts_code</td>
<td>str</td>
<td>TS股票代码</td>
</tr>
<tr>
<td>ann_date</td>
<td>str</td>
<td>公告日期</td>
</tr>
<tr>
<td>end_date</td>
<td>str</td>
<td>报告期</td>
</tr>
<tr>
<td>holder_name</td>
<td>str</td>
<td>股东名称</td>
</tr>
<tr>
<td>hold_amount</td>
<td>float</td>
<td>持有数量(股)</td>
</tr>
<tr>
<td>hold_ratio</td>
<td>float</td>
<td>占总股本比例(%)</td>
</tr>
<tr>
<td>hold_float_ratio</td>
<td>float</td>
<td>占流通股本比例(%)</td>
</tr>
<tr>
<td>hold_change</td>
<td>float</td>
<td>持股变动</td>
</tr>
<tr>
<td>holder_type</td>
<td>str</td>
<td>股东类型</td>
</tr>
</tbody></table>
接口用法
```
pro = ts.pro_api()
df = pro.top10_floatholders(ts_code='600000.SH', start_date='20170101', end_date='20171231')
```
或者
```
df = pro.query('top10_floatholders', ts_code='600000.SH', start_date='20170101', end_date='20171231')
```
数据样例
```
ts_code ann_date end_date holder_name hold_amount
0 600000.SH 20180428 20171231 富德生命人寿保险股份有限公司-资本金 1.763232e+09
1 600000.SH 20180428 20171231 上海国际集团有限公司 5.489319e+09
2 600000.SH 20180428 20171231 富德生命人寿保险股份有限公司-传统 2.779437e+09
3 600000.SH 20180428 20171231 中国证券金融股份有限公司 1.216979e+09
4 600000.SH 20180428 20171231 梧桐树投资平台有限责任公司 8.861313e+08
5 600000.SH 20180428 20171231 上海上国投资产管理有限公司 1.395571e+09
6 600000.SH 20180428 20171231 富德生命人寿保险股份有限公司-万能H 1.270429e+09
7 600000.SH 20180428 20171231 上海国鑫投资发展有限公司 5.392559e+08
8 600000.SH 20180428 20171231 中央汇金资产管理有限责任公司 3.985214e+08
9 600000.SH 20180428 20171231 中国移动通信集团广东有限公司 5.334893e+09
```