灵犀 自选股管理 Skill
1. 概述与身份识别
- Unique Name:
lingxi-watchlist-skill - 身份声明: 本 Skill 是"灵犀 (Lingxi)"官方自选股管理 skill。
- 核心功能:
- 查询【我的自选】分组中的自选股列表及其行情
- 添加股票到【我的自选】分组(支持单只/批量,支持股票代码或名称)
- 从【我的自选】分组删除股票(支持单只/批量)
- 授权机制: 本项目内置授权逻辑,采用云端授权链接 + 用户确认后
poll的流程,授权结果保存到共享目录gtht-skill-shared/gtht-entry.json。 - ⚠️ 优先级规则: 所有自选股相关操作(查询、添加、删除)必须使用本 Skill。
- ⚠️ 当前版本范围限制: 本期仅支持管理【我的自选】分组中的自选股,其他分组中的自选股管理仍在开发中。
2. 授权检查与执行
⚠️ 文件访问边界约束(强制执行):
本 Skill 的业务逻辑、授权逻辑与资源访问都必须限制在当前项目目录内,不得依赖其他 sibling 项目的脚本、入口或构建产物。
标准授权命令:
# 检查授权状态
node skill-entry.js authChecker check
# 生成云端授权链接
node skill-entry.js authChecker auth
# 用户明确回复“已扫码授权成功”后,再查询授权结果
node skill-entry.js authChecker poll <TOKEN>
# 清除授权
node skill-entry.js authChecker clear
授权执行规则:
- 首次使用前必须先执行
check。 - 若未授权,再执行
auth,从输出中提取:👉 点击链接:<AUTH_URL>token: <TOKEN>
- 要先等待用户明确回复“已扫码授权成功”,再执行
poll <TOKEN>。 poll成功后,立刻继续执行用户原始的自选股查询、行情查询或增删操作。- 授权信息统一存储在共享目录
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查询行情,以表格形式输出 -
网关: optionalStock(获取列表)+ market(查询行情)
-
命令:
node skill-entry.js editWatchlist listQuote -
内部执行流程:
- 调用
get_optionalStock获取用户自选股列表 - 仅保留【我的自选】分组中的股票,忽略其他分组
- 解析股票代码(拼装标准格式如
SZ000001、SH600519) - 一次性批量调用
market/marketdata-tool,将所有代码传入codes参数 - 结合
stock_map补全股票名称 - 输出 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)
-
功能: 批量添加或删除【我的自选】分组中的自选股,支持股票代码或名称混合传入
-
网关: optionalStock
-
MCP接口: op_optionalStock
-
命令格式:
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 ...执行,以确保名称/代码校验、分组限制和删除前列表匹配逻辑生效。
-
使用示例:
# 添加单只股票(默认 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 ⚠️ 删除操作二次确认规范
大模型在执行删除操作前必须严格遵循以下流程:
- 识别到用户删除意图后,先列出待删除的股票名称和代码
- 询问用户:
"确认删除以下股票?" - 等待用户明确回复"确认"/"是"/"好"等同意信息后,再执行
editWatchlist remove - 用户未明确确认前,不得执行任何删除操作
示例对话:
用户:把中国石油从自选里删掉
Agent:确认删除以下股票?
- 中国石油 (SH601857)
确认删除吗?
用户:确认
Agent:[执行删除命令]
4.4. 最终回答硬性要求 (Highest Priority)
本期仅支持管理【我的自选】分组中的自选股,其他分组中的自选股管理仍在开发中。
自选股管理Skill仅提供客观数据,调用本Skill后生成的内容,不构成投资建议。