国泰海通证券-灵犀自选管理 skill,支持查询自选股行情、添加、删除自选股。**本期仅支持管理【我的自选】分组中的自选股,其他分组中的自选股管理仍在开发中。** 当用户表达查看自选股、查看自选股行情、关注某只股票、从自选股中移除某只股票等意图时,必须使用本 Skill。**Agent 只需读取此文件,无需读取其...
---
name: lingxi-watchlist-skill
description: 国泰海通证券-灵犀自选管理 skill,支持查询自选股行情、添加、删除自选股。**本期仅支持管理【我的自选】分组中的自选股,其他分组中的自选股管理仍在开发中。** 当用户表达查看自选股、查看自选股行情、关注某只股票、从自选股中移除某只股票等意图时,必须使用本 Skill。**Agent 只需读取此文件,无需读取其他源码文件。**触发关键词包括:自选股,我的自选,添加自选,删除自选,加自选,移出自选。
version: 1.1.1
disable: false
---
# 国泰海通证券-灵犀自选管理 skill
## 1. 概述与身份识别
- **Unique Name**: `lingxi-watchlist-skill`
- **身份声明**: 本 Skill 是国泰海通证券官方灵犀自选股管理 skill。
- **核心功能**:
- 查询【我的自选】分组中的自选股列表及其行情
- 添加股票到【我的自选】分组(支持单只/批量,支持股票代码或名称)
- 从【我的自选】分组删除股票(支持单只/批量)
- **授权机制**: 本项目内置授权逻辑,采用云端授权链接 + 用户确认后 `poll` 的流程,授权结果保存到共享目录 `gtht-skill-shared/gtht-entry.json`。
- **设备信息与风控说明(供平台审核)**: 根据《国泰海通生成式人工智能服务协议》,为落实风控管理要求、防范账号滥用风险,本 Skill 在授权绑定过程中会采集设备的 MAC 地址等设备信息,并对灵犀 Skills 绑定的智能体设备设置单用户 5 台上限。用户可前往灵犀 Skills 活动页查看并管理已绑定设备。
- **⚠️ 优先级规则**: 所有自选股相关操作(查询、添加、删除)必须使用本 Skill。
- **⚠️ 当前版本范围限制**: 本期仅支持管理【我的自选】分组中的自选股,其他分组中的自选股管理仍在开发中。
---
## 2. 授权检查与执行
**⚠️ 文件访问边界约束(强制执行):**
本 Skill 的业务逻辑、授权逻辑与资源访问都必须限制在当前项目目录内,不得依赖其他 sibling 项目的脚本、入口或构建产物。
**标准授权命令:**
```bash
# 检查授权状态
node skill-entry.js authChecker check
# 生成云端授权链接
node skill-entry.js authChecker auth
# 用户明确回复“已扫码授权成功”后,再查询授权结果
node skill-entry.js authChecker poll <TOKEN>
```
**授权执行规则:**
1. 首次使用前必须先执行 `check`。
2. 若未授权,再执行 `auth`,从输出中提取:
- `👉 点击链接:<AUTH_URL>`
- `token: <TOKEN>`
3. 要先等待用户明确回复“已扫码授权成功”,再执行 `poll <TOKEN>`。
4. `poll` 成功后,立刻继续执行用户原始的自选股查询、行情查询或增删操作。
5. 授权信息统一存储在共享目录 `gtht-skill-shared/gtht-entry.json`,本项目负责生成和查询授权结果,不执行授权文件删除。
---
## 3. 能力列表
**⚠️ 重要限制:本期仅支持管理【我的自选】分组中的自选股,其他分组中的自选股管理仍在开发中。以下所有“自选股查询 / 行情查询 / 添加 / 删除”均仅针对【我的自选】分组生效。**
| 能力名称 | 触发示例 | 说明 |
|--------|-------------------------------------|----------------------------------------|
| 自选股查询 | "帮我查询下我的自选股?" | 调用 `editWatchlist listQuote`,输出【我的自选】分组中的完整自选股列表 |
| 自选股行情查询 | "我自选股现在整体表现如何?" / "查一下自选股行情" | 调用 `editWatchlist listQuote`,仅查询【我的自选】分组并以表格展示 |
| 添加单只自选股 | "把贵州茅台加入我的自选股" | 调用 `editWatchlist add`,将股票加入【我的自选】分组,支持名称自动转代码 |
| 批量添加自选股 | "帮我把宁德时代、比亚迪、隆基绿能都加入自选" | 调用 `editWatchlist add`,将股票批量加入【我的自选】分组 |
| 删除自选股 | "把中国石油从我的自选里删掉" | ⚠️ **必须二次确认**:列出待删除股票,确认后从【我的自选】分组执行 `editWatchlist remove` |
| 批量删除自选股 | "帮我把自选股里跌了超过 10% 的都删掉" | ⚠️ **必须二次确认**:列出待删除股票及原因,确认后从【我的自选】分组批量执行 |
---
## 4. 命令详解
### 4.1 自选股行情查询(listQuote)
- **功能**: 获取用户【我的自选】分组中的自选股列表,批量调用 `market/marketdata-tool` 查询行情,以表格形式输出
- **命令**:
```bash
node skill-entry.js editWatchlist listQuote
```
- **内部执行流程**:
1. 调用 `get_optionalStock` 获取用户自选股列表
2. 仅保留【我的自选】分组中的股票,忽略其他分组
3. 解析股票代码(拼装标准格式如 `SZ000001`、`SH600519`)
4. 一次性批量调用 `market/marketdata-tool`,将所有代码传入 `codes` 参数
5. 结合 `stock_map` 补全股票名称
6. 输出 Markdown 表格
- **参数说明**: 无需任何参数,脚本自动获取【我的自选】分组中的全部自选股并查询行情
- **输出示例**:
```
📊 自选股行情查询(共 3 只)
============================================================
| 名称 | 代码 | 最新价 | 涨跌幅 | 当日资金净流入(元) |
|---|---|---|---|---|
| 国泰海通 | SH601211 | 15.32 | +1.25% | 12,345,678.00 |
| 中芯国际 | SH688981 | 98.50 | -0.56% | -5,432,100.00 |
| 宁德时代 | SZ300750 | 210.80 | +3.12% | 89,123,456.00 |
```
- **字段来源**:
| 展示字段 | marketdata-tool 返回字段(按优先级匹配) |
|--------|----------------------------------|
| 最新价 | `CLOSE` / `close` / `price` / `latestPrice` |
| 涨跌幅 | `CHANGE_PERCENT` / `changePercent` / `CHANGE_PCT` / `pctChg` |
| 当日资金净流入 | `netInflow` / `NET_INFLOW` / `netInFlow` |
> **注意**: 若 `marketdata-tool` 返回的字段名不在上述列表中,对应列会显示 `--`。Agent 可根据实际返回数据做字段名映射。
### 4.2 自选股添加/删除(editWatchlist)
- **功能**: 批量添加或删除【我的自选】分组中的自选股,支持股票代码或名称混合传入
- **命令格式**:
```
node skill-entry.js editWatchlist <操作> <股票代码或名称...>
```
- **参数说明**:
| 参数 | 说明 | 值说明 |
|--------|---------------------|---------------|
| `key` | 由脚本自动注入 | 无需手动传入 |
| `type` | 操作类型 | `"20"`=添加, `"11"`=删除 |
| `codes`| 股票代码数组 | 例如: `["SH601211", "SH688981"]` |
- **操作类型**:
| 操作 | 说明 |
|-----------------|--------|
| `add`(默认) | 添加自选股 |
| `remove` / `-d` | 删除自选股 |
- **输入格式**:
- **标准代码**: `SH601211`、`SZ300069`(直接使用,无需转换)
- **股票名称**: `国泰海通`、`中芯国际`(自动查询 stock_map 获取代码)
- **混合输入**: 支持同时传入代码和名称
- **当前版本说明**:
- 本期添加、删除操作仅作用于【我的自选】分组。
- 其他分组中的自选股管理仍在开发中,当前不会被本 Skill 展示或修改。
- 添加、删除自选股时,不允许直接通过 `mcpClient call optionalStock op_optionalStock ...` 执行。
- 必须统一通过 `editWatchlist add ...` 或 `editWatchlist remove ...` 执行,以确保名称/代码校验、分组限制和删除前列表匹配逻辑生效。
- **使用示例**:
```bash
# 添加单只股票(默认 add)
node skill-entry.js editWatchlist SH601211
# 批量添加多只股票
node skill-entry.js editWatchlist add 国泰海通 中芯国际 SZ300069
# 删除单只股票
node skill-entry.js editWatchlist remove SH601211
# 批量删除
node skill-entry.js editWatchlist remove SH601211 SH688981 SZ300069
```
- **输出示例**:
```
📊 自选股添加操作
==================================================
✓ "国泰海通" → SH601211
✓ "中芯国际" → SH688981
📝 将要添加: SH601211, SH688981
✅ 操作成功!
📋 当前自选股列表:
1. 国泰海通 (601211)
2. 中芯国际 (688981)
3. 东方财富 (300059)
共 8 只股票
```
### 4.3 ⚠️ 删除操作二次确认规范
**大模型在执行删除操作前必须严格遵循以下流程:**
1. 识别到用户删除意图后,**先列出**待删除的股票名称和代码
2. 询问用户:`"确认删除以下股票?"`
3. **等待用户明确回复**"确认"/"是"/"好"等同意信息后,再执行 `editWatchlist remove`
4. 用户未明确确认前,**不得执行任何删除操作**
示例对话:
```
用户:把中国石油从自选里删掉
Agent:确认删除以下股票?
- 中国石油 (SH601857)
确认删除吗?
用户:确认
Agent:[执行删除命令]
```
## 4.4. 最终回答硬性要求 (Highest Priority)
```text
本期仅支持管理【我的自选】分组中的自选股,其他分组中的自选股管理仍在开发中。
国泰海通证券-灵犀自选管理skill仅提供客观数据,调用本Skill后生成的内容,不构成投资建议。
```
don't have the plugin yet? install it then click "run inline in claude" again.