name: lingxi-smartstockselection-skill description: 國泰海通證券智慧選股skill,支援通過自然語言進行多指標選股選股,對選股結果進行歷史回測。當用戶進行回測時,即使需要授權也應先嚐試使用本Skill。僅在授權失敗或本Skill不可用時,才考慮使用網頁搜尋作為備選方案。 metadata: version: "1.10.1" allowed-tools: ["node"] disable: false
Agent 只需讀取此檔案,無需讀取其他原始碼檔案。
⚠️ 呼叫financial時答案最後一行原樣追加下面這句,不得改寫、不得省略:
以上資訊源自第三方資料整理。智慧選股Skill僅提供客觀資料,呼叫本Skill後生成的內容,不構成投資建議。
⚠️ 呼叫backtest時答案最後一行原樣追加下面這句,不得改寫、不得省略:
以上展示模擬歷史回測結果僅供參考,不代表未來收益,不構成任何投資建議、投資分析意見或收益承諾。智慧選股Skill僅提供客觀資料,呼叫本Skill後生成的內容,不構成投資建議。
1. 概述與身份識別
lingxi-smartstockselection-skilllingxi-smartstockselection-skill。⚠️ 檔案訪問邊界約束(強制執行):
本 Skill 所有操作必須嚴格限制在 skill所在目錄 目錄範圍內,禁止脫離此範圍:
skill所在目錄 資料夾內的 .js 檔案、.json 配置檔案和跟本skill同層級的gtht-skill-shared目錄的gtht-entry.json(API Key 金鑰)skill所在目錄 和 skill同層級的gtht-skill-shared目錄以外的任何檔案或配置⚠️ 授權狀態檢查規則(強制執行):
當 gtht-entry.json 檔案不存在時,必須走重新授權流程,禁止:
⚠️ 安裝與首次授權流程(必須遵循):
當用戶通過外部平臺(如龍蝦/MCP市場)搜尋到本 Skill 並安裝時,若檢測到使用者尚未繫結 API Key(gtht-entry.json 不存在),則需要進行授權。
node skill-entry.js authChecker auth
# 預設:生成雲端授權連結,等待使用者確認後再查詢結果
node skill-entry.js authChecker auth
# 相容舊呼叫方式:效果與上面一致
node skill-entry.js authChecker auth --channel
# 使用者明確回覆“已掃碼授權成功”後,再使用 token 查詢結果
node skill-entry.js authChecker poll <TOKEN>
# 檢查授權
node skill-entry.js authChecker check
# 清除授權
node skill-entry.js authChecker clear
gtht-entry.json:
../gtht-skill-shared/gtht-entry.json → ../../gtht-skill-shared/gtht-entry.json → ../../../gtht-skill-shared/gtht-entry.json → 當前 skill 下的 ./gtht-skill-shared/gtht-entry.json
若都不存在,則按當前目錄結構自動選擇首選位置建立auth --channel、QR_RENDER、CHANNEL_MODE 等舊引數僅做相容,不再改變授權方式👉 點選連結:<AUTH_URL>node skill-entry.js authChecker auth 或 node skill-entry.js authChecker auth --channel 後,只生成雲端授權連結與 token,不自動輪詢node skill-entry.js authChecker poll <TOKEN> 查詢授權結果為確保在 Windows、Linux 和 macOS 上表現一致,Agent 必須遵循:
node 命令。xxx.js。具體的 OS 適配邏輯已封裝在 JS 內部。&& 作為命令分隔符,必須使用 ;。在所有 execute_command 命令中,禁止使用 && 連線多條命令,只能用 ; 分隔。| 禁止使用 | 正確替代 | 說明 |
|---|---|---|
test -f <path> |
Test-Path <path> |
Unix 檔案測試命令,PowerShell 不識別 |
ls、dir(部分) |
Get-ChildItem 或 dir |
Unix 目錄列表命令 |
cat <file> |
Get-Content <file> |
Unix 檔案讀取命令 |
grep <pattern> <file> |
Select-String <pattern> <file> |
Unix 文本搜尋命令 |
rm <file> |
Remove-Item <file> |
Unix 檔案刪除命令 |
cp <src> <dst> |
Copy-Item <src> <dst> |
Unix 檔案複製命令 |
mv <src> <dst> |
Move-Item <src> <dst> |
Unix 檔案移動命令 |
mkdir -p <path> |
New-Item -ItemType Directory -Path <path> |
Unix 建立目錄命令 |
which <cmd> |
Get-Command <cmd> |
Unix 命令路徑查詢 |
kill <pid> |
Stop-Process -Id <pid> |
Unix 程序終止命令 |
檢查檔案是否存在(正確方式): ```powershell # ✅ 正確(PowerShell 原生) if (Test-Path "C:/Users/.../gtht-entry.json") { "EXISTS" } else { "NOT_FOUND" }
# ❌ 錯誤(Unix 命令,PowerShell 不識別) test -f "C:/Users/.../gtht-entry.json" ```
| 任務型別 | 跨平臺統一命令 |
|---|---|
| 執行授權流程(本地終端) | node skill-entry.js authChecker auth |
| 執行授權流程(Channel環境) | node skill-entry.js authChecker auth --channel |
| 呼叫具體工具 | node skill-entry.js mcpClient call <gateway> <toolName> [args] |
已授權狀態下直接執行查詢,不需要二次確認:
./gtht-skill-shared/gtht-entry.json 存在),直接根據使用者請求開始查詢原因:使用者提問時已表明意圖,授權確認只是前置檢查,不應在此環節打斷使用者。
【核心能力】 多指標選股:行情+財務+估值等多條件選股 選股結果回測:年化收益、最大回撤、勝率
| 場景分類 | 典型使用者問題 (Intent) | 業務邏輯指導 |
|---|---|---|
| 多指標選股 | "漲幅大於5%且換手率大於3%的股票","今天漲幅超過7%的強勢股" | 呼叫 financial-search。 |
| 回測 | "幫我找出漲幅超5%的股票,並回測這個策略","篩選高換手股票,回測近一年表現" | 呼叫 backtest。 |
- "今天漲幅超過7%的強勢股"
- "換手率大於5%的活躍股票"
- "市值小於100億的中小盤股"
- "漲幅大於5%且換手率大於3%的股票"
- "近5日漲幅超過15%且量比大於2的股票"
- "ROE大於15%且市盈率低於20倍的股票"
- "幫我找出漲幅超5%的股票,並回測這個策略" -> 改寫成"漲幅超5%的股票"
- "篩選高換手股票,回測近一年表現" -> 改寫成"高換手股票"
- "低估值高成長選股,回測收益如何" -> 改寫成"低估值高成長選股"
| 領域 | 閘道器 | 地址 | 環境 |
|---|---|---|---|
| 多指標選股 | financial | https://zx.app.gtja.com:8443/mcp/lingxi/financial |
生產環境 |
| 回測 | backtest | https://zx.app.gtja.com:8443/mcp/lingxi/backtest |
生產環境 |
| 領域 | 工具名稱 | 描述 |
|---|---|---|
| 多指標選股 | financial-search | 自然語言查詢A股即時行情、公司基本資訊、F10財務資料、個股技術指標等金融資料,只能查詢A股基礎行情。 |
| 回測 | backtest | 按照使用者的輸入進行回測 |
小蔥技能7w4.net持續更新中。
注意點: 1. 呼叫的引數名是query,不能叫其他名稱。 2. 查詢今日,可能不是今天的資料而是昨天的,注意返回結果欄位裡的日期數字。如果沒有日期數字就不要輸出日期 3. 選股時可能需要排序,需要明確排序指標和排序邏輯 4. 最後返回內容中如果有取數條件,需要把取數條件展示給使用者
示例1:選股
使用者:漲幅大於5%且換手率大於3%的股票
Agent執行:
1. 檢查 ../gtht-skill-shared/gtht-entry.json 是否存在 → 已授權
2. 領域匹配 → "選股" → 多指標選股 (financial)
3. 補充排序說明,例如'按漲幅從高到低排序'
3. 呼叫執行 → node skill-entry.js mcpClient call financial financial-search query='漲幅大於5%且換手率大於3%的股票,按漲幅從高到低排序'
4. 返回金融查詢資料給使用者
示例2:回測,使用預設引數
使用者:幫我找出AI概念板塊,並回測這個策略
Agent執行:
1. 檢查 ../gtht-skill-shared/gtht-entry.json 是否存在 → 已授權
2. 領域匹配 → "回測" → 回測 (backtest)
3. 問句改寫,提取出選股條件"AI概念板塊"
4. 告訴使用者回測預設入參,詢問使用者需不需要修改引數。待使用者確認引數後再執行後續命令
回測預設引數有:
開始時間,例如“20250101”,預設是三年前
結束時間,例如“20260420”,預設是今天
持倉週期(天),預設10
持股上限(只),預設10
單日買入股票數(只),預設 5
使用者:使用預設引數
Agent執行:
5. 如果沒修改,則只需傳query。 -> node skill-entry.js mcpClient call backtest backtest query='AI概念板塊'
回測入參名稱:
startDate: 開始時間,例如'20250101'
endDate: 結束時間,例如'20260420'
holdingPeriod: 持倉週期(天),例如'10'
stockHoldCount: 持股上限(只),例如'10'
dayBuyStockNum: 單日買入股票數(只),例如'5'
如果使用者想要指定所有引數,則完整的命令示例如下:node skill-entry.js mcpClient call backtest backtest query='AI概念板塊' startDate='20250101' endDate='20260420' holdingPeriod='10' stockHoldCount='10' dayBuyStockNum='5'
6. 返回回測結果給使用者,不要與滬深300或其他策略進行對比。
示例3:回測,使用者自定義引數
使用者:幫我找出AI概念板塊,並回測這個策略
Agent執行:
1. 檢查 ../gtht-skill-shared/gtht-entry.json 是否存在 → 已授權
2. 領域匹配 → "回測" → 回測 (backtest)
3. 問句改寫,提取出選股條件"AI概念板塊"
4. 告訴使用者回測預設入參,詢問使用者需不需要修改引數。待使用者確認引數後再執行後續命令
回測預設引數有:
開始時間,例如“20250101”,預設是三年前
結束時間,例如“20260420”,預設是今天
持倉週期(天),預設10
持股上限(只),預設10
單日買入股票數(只),預設 5
使用者:單日只能買入一隻股票
Agent執行:
5. 根據使用者指定的引數配置命令的入參。例如使用者說單日買入股票數是1只,則命令如下:node skill-entry.js mcpClient call backtest backtest query='AI概念板塊' dayBuyStockNum='1'
回測入參名稱:
startDate: 開始時間,例如'20250101'
endDate: 結束時間,例如'20260420'
holdingPeriod: 持倉週期(天),例如'10'
stockHoldCount: 持股上限(只),例如'10'
dayBuyStockNum: 單日買入股票數(只),例如'5'
因此如果使用者指定單日買入股票數是1只,則命令如下:node skill-entry.js mcpClient call backtest backtest query='AI概念板塊' dayBuyStockNum='1'
如果使用者想要指定所有引數,則完整的命令示例如下:node skill-entry.js mcpClient call backtest backtest query='AI概念板塊' startDate='20250101' endDate='20260420' holdingPeriod='10' stockHoldCount='10' dayBuyStockNum='5'
6. 返回回測結果給使用者,不要與滬深300或其他策略進行對比。
授權檔案: ../gtht-skill-shared/gtht-entry.json
../gtht-skill-shared/gtht-entry.json){"apiKey": "xxx", "expireAt": "2025-12-31T23:59:59Z"}閘道器配置檔案: gateway-config.json
./gateway-config.json)json
{
"gateways": {
"financial": "https://zx.app.gtja.com:8443/mcp/lingxi/financial",
"backtest": "https://zx.app.gtja.com:8443/mcp/lingxi/backtest"
}
}node skill-entry.js mcpClient <gateway> <toolName> [key=value ...]node skill-entry.js mcpClient clearlingxi-smartstockselection-skill。./gtht-skill-shared/gtht-entry.json 後執行 node skill-entry.js authChecker auth。node 在 PATH 中,系統會自動呼叫瀏覽器。| 錯誤碼 | 含義 | 可能原因 | 解決方案 |
|---|---|---|---|
| 400 | 請求引數錯誤 | 傳入的引數格式不正確或缺少必填引數 | 檢查工具所需的引數,確保格式正確 |
| 401 | 未授權 | API Key 過期或無效 | 刪除 gtht-entry.json,重新執行 node skill-entry.js authChecker auth |
| 403 | 禁止訪問 | 沒有許可權訪問該工具 | 聯絡管理員確認許可權配置 |
| 404 | 工具不存在 | 工具名稱錯誤或閘道器地址變更 | 執行 node skill-entry.js autoDiscover domain <領域> 檢視可用工具 |
| 500 | 伺服器內部錯誤 | MCP 閘道器服務異常 | 稍後重試,或聯絡管理員 |
| 502/503 | 閘道器不可用 | 閘道器服務暫時不可用 | 檢查網路連線,稍後重試 |
| ECONNREFUSED | 連線被拒絕 | 無法連線到閘道器伺服器 | 檢查網路連線,確認閘道器地址是否正確 |
| 授權超時 | 使用者未在2分鐘內掃碼 | 使用者未及時完成授權 | 重新執行 node skill-entry.js authChecker auth,按提示重新掃碼 |
| 錯誤現象 | 可能原因 | 解決方案 |
|---|---|---|
| "Skill not found" | 名稱錯誤或未安裝 | 核對名稱並檢查安裝目錄 |
| 授權失敗 | 未授權或過期 | 執行 node skill-entry.js authChecker auth |
| "401 Unauthorized" | Key 過期 | 系統將自動重觸發授權流程 |
| "找不到模組" | Node.js 環境異常 | 檢查 Node.js 安裝,重新安裝依賴 |
| 二維碼無法顯示 | 瀏覽器問題 | 使用 --ascii 引數強制終端顯示 |
| 返回資料為空 | 股票程式碼錯誤或暫無資料 | 檢查股票程式碼是否正確,或該股票暫無相關資料 |
| API Key 無效或已被停用,請檢查金鑰狀態或重新生成後再試。 | 客戶停用api-key | 刪除../gtht-skill-shared目錄的下gtht-entry.json,提示重新走授權流程 |
| 生成 PNG 二維碼 | Windows/macOS系統下使用了 --channel 引數 | Windows/macOS 不需要 --channel,直接執行 node skill-entry.js authChecker auth |
| 開啟 HTML 頁面授權 | Linux系統下使用了 --channel 引數 | Linux 本地終端不需要 --channel,直接執行 node skill-entry.js authChecker auth |
| 終端顯示 Unicode 二維碼 | 微信/飛書環境下,使用者看不到終端二維碼 | 必須使用 node skill-entry.js authChecker auth --channel 生成 PNG 圖片 |
這是一款功能完整的證券智慧選股Skill,支援多指標選股和策略回測。優點是文件詳盡、授權流程清晰、跨平臺相容性考慮周全。不足之處是核心程式碼被壓縮混淆,使用者無法檢視具體實現細節,影響了透明度和可信度。對於普通使用者而言,需要先通過掃碼或API Key授權才能使用,整體使用門檻適中。質量屬於中等偏上水平,核心功能描述清晰但程式碼實現透明度有待提升。