A股持仓深度技术分析技能:用户发送持仓截图或提及持仓/股票/投资建议时自动激活。触发条件包括:发送图片(持仓截图、行情截图等)或说出“分析持仓”“我的持仓怎么样”“给投资建议”“持仓诊断”“我的股票”“目前持仓”“更新持仓”“录入持”等。
当本 skill 被激活时,AI 必须按以下顺序执行,只有识别图片的结果不是持仓信息时可以退出,否则不得跳过步骤或中途停止:
第一步:处理图片(如有图片)
~/.qclaw/media/inbound/,或者 ~/.openclaw/media/inbound/(跨平台)SKILL_ROOT/data/ 目录下是否存在json文件或json文件是否为空,若为空,优先执行"环境依赖与故障排查"章节的环境配置相关操作第二步:读取/更新持仓数据
SKILL_ROOT/data/positions_portfolio.json第三步:运行技术分析
bash
python3 <SKILL_ROOT>/scripts/stock_analysis_core.py
第四步:输出分析结果
⚠️ 关键禁止行为:
data/positions_portfolio.json 持仓数据text
stock-analysis-china/
├── SKILL.md # 本文件
├── data/
│ └── positions_portfolio.json # 持仓数据
├── scripts/
│ ├── stock_analysis_core.py # 技术指标计算引擎
│ └── portfolio_update.py # 持仓数据管理工具
└── references/
└── analysis_prompt_template.md # 报告输出模板
资源WindowsmacOS / Linux用户主目录%USERPROFILE%``~工作区%USERPROFILE%\.qclaw\workspace``~/.qclaw/workspace微信截图%USERPROFILE%\.qclaw\media\inbound\``~/.qclaw/media/inbound/Tesseract OCRC:\Program Files\Tesseract-OCR\``/usr/local/bin/tesseract (macOS) 或 /usr/bin/tesseract (Linux)Python 解释器自动推断( python 或 python3)自动推断( python3)
所有路径均通过 Path.home() 和 pathlib.Path 动态推断,无需手动修改。
用户在微信中发送持仓截图 → AI 自动识别并更新持仓数据
识别字段:
AI 执行步骤:
读取截图 — 微信截图自动保存至 %USERPROFILE%\.qclaw\media\inbound\,
查找最新图片文件,读取内容
图像识别 — 优先使用 AI 多模态能力直接识别截图内容; 备用方案:使用 Tesseract OCR(需安装 tesseract + chi_sim 语言包) bash
tesseract <截图路径> stdout --oem 1 --psm 6 -l chi_sim+eng
提取持仓数据 — 从识别结果中解析出:名称、代码、数量、成本价等
更新持仓 JSON — 调用 portfolio_update.py
bash
python <SKILL_ROOT>/scripts/portfolio_update.py --json '[{"name":"长电科技","code":"600584","quantity":400,"cost_price":39.53}]'
确认结果 — 向用户列出识别到的持仓列表,请用户核对校正
示例对话:
text
用户:[发送微信持仓截图]
AI:已识别到 5 只持仓:
1. 长电科技(600584) 400股 成本39.53
2. 招商银行(600036) 500股 成本39.44
...
⚠️ 请核对以上数据,如有误请告诉我正确信息。
数据已更新。需要分析吗?
用户通过对话更新持仓:
text
我今天买了100股宁德时代,成本300
text
把招商银行清仓了
AI 自动更新持仓 JSON。
用户说:
text
分析一下我的持仓
text
我的持仓怎么样
AI 执行步骤:
Step 1 — 读取持仓数据
从 data/positions_portfolio.json 读取
Step 2 — 运行分析脚本
bash
python <SKILL_ROOT>/scripts/stock_analysis_core.py
Step 3 — AI 综合研判 结合脚本输出的指标数据,AI 给出:
json
{
"last_updated": "2026-03-29",
"source": "微信截图识别",
"portfolio": [
{
"code": "600584",
"name": "长电科技",
"quantity": 400,
"cost_price": 39.53,
"current_price": 45.92,
"market_value": 18368.4,
"profit_pct": -13.92,
"asset_type": "stock"
}
]
}
指标计算参数含义RSI14日>75超买/<25超卖,>60偏强/<40偏弱MACD12/26/9DIF>0多头,红柱扩张更强势KDJ9/3/3>80超买/<20超卖,K>D金叉看多布林带20日/2σ突破上轨注意回调,跌破下轨关注反弹均线5/10/20/60日多头排列=强势,空头排列=弱势
text
IF 偏空信号 > 2 AND tech_view == '偏空':
建议: 减仓/止损
ELIF 偏多信号 > 2 AND tech_view == '偏多':
建议: 持有/关注加仓机会
ELIF RSI超卖 OR 跌破布林下轨:
建议: 超卖关注,暂持有等反弹
ELIF RSI超买 OR 突破布林上轨:
建议: 注意止盈
ELSE:
建议: 持有观望
用户说AI 行为发送持仓截图识别并更新持仓数据"分析持仓" / "我的持仓怎么样"运行完整技术分析"更新持仓" + 截图更新持仓并确认"列出我的持仓"显示当前持仓列表"清空持仓"清空所有持仓数据
本 skill 需要以下环境支持:
依赖版本用途安装方式Python 33.10+技术指标计算系统 Python 或 winget install Python.Python.3.12pip最新Python 包管理随 Python 自动安装AKShare最新股票数据源pip install akshare pandasNode.js18+图片处理(sharp)winget install OpenJS.NodeJS.LTSsharp0.30+图片读取与处理npm install sharp -gTesseract OCR5.0+备用 OCR 识别winget install UB-Mannheim.TesseractOCRchi_sim.traineddata最新中文 OCR 语言包随 Tesseract 自动安装或者claw自己安装
Cannot find package 'sharp')症状:
text
Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'sharp' imported from ...
原因:
%APPDATA%\npm\node_modules\ 中,OpenClaw 进程找不到解决方案:
检查 sharp 是否已安装 bash
npm list sharp -g
若未安装,全局安装 sharp bash
npm install sharp -g --prefer-offline
创建 junction 链接(Windows) powershell
New-Item -ItemType Junction `
-Target "$env:APPDATA\npm\node_modules\sharp" `
-Path "C:\Program Files\QClaw\resources\openclaw\node_modules\sharp"
重启 OpenClaw bash
openclaw gateway restart
验证 bash
node -e "require('sharp'); console.log('ok')"
症状:
text
tesseract : 无法将"tesseract"项识别为 cmdlet、函数、脚本文件或可运行程序的名称
原因:
解决方案:
安装 Tesseract bash
winget install UB-Mannheim.TesseractOCR
验证安装 bash
"C:\Program Files\Tesseract-OCR\tesseract.exe" --version
检查中文语言包 bash
Get-ChildItem "C:\Program Files\Tesseract-OCR\tessdata\chi_sim.traineddata"
若语言包缺失,重新安装 Tesseract
ModuleNotFoundError: No module named 'akshare')症状:
text
ModuleNotFoundError: No module named 'akshare'
原因:
解决方案:
安装依赖 bash
pip install akshare pandas
验证 bash
python -c "import akshare; print('ok')"
症状:
锟斤拷)Error opening data file .../chi_sim.traineddata原因:
解决方案:
检查图片格式 bash
file <image_path> # 确保是 JPEG/PNG
安装 Tesseract OCR bash
winget install UB-Mannheim.TesseractOCR
下载中文语言包(Windows 需要)
Tesseract 默认安装目录可能没有中文语言包,需要手动下载: powershell
# 创建用户 tessdata 目录
New-Item -ItemType Directory -Path "$env:USERPROFILE\tessdata" -Force
# 下载中文简体语言包
Invoke-WebRequest -Uri "https://github.com/tesseract-ocr/tessdata/raw/main/chi_sim.traineddata" -OutFile "$env:USERPROFILE\tessdata\chi_sim.traineddata"
# 复制英文语言包(中英文混合识别需要)
Copy-Item "C:\Program Files\Tesseract-OCR\tessdata\eng.traineddata" "$env:USERPROFILE\tessdata\eng.traineddata" -Force
配置 TESSDATA_PREFIX 环境变量
方法一:临时设置 powershell
$env:TESSDATA_PREFIX = "$env:USERPROFILE\tessdata\"
tesseract <image_path> stdout --oem 1 --psm 6 -l chi_sim+eng
方法二:永久设置(推荐) powershell
[System.Environment]::SetEnvironmentVariable("TESSDATA_PREFIX", "$env:USERPROFILE\tessdata\", "User")
验证语言包安装 powershell
$env:TESSDATA_PREFIX = "$env:USERPROFILE\tessdata\"
& "C:\Program Files\Tesseract-OCR\tesseract.exe" --list-langs
运行中文 OCR 识别 powershell
$env:TESSDATA_PREFIX = "$env:USERPROFILE\tessdata\"
& "C:\Program Files\Tesseract-OCR\tesseract.exe" <图片路径> stdout --oem 1 --psm 6 -l chi_sim+eng
若仍失败,使用 AI 多模态识别(推荐)
症状:
text
FileNotFoundError: [Errno 2] No such file or directory: '.../positions_portfolio.json'
原因:
解决方案:
手动创建初始文件 bash
python <SKILL_ROOT>/scripts/portfolio_update.py --list
或通过 AI 识别截图自动创建
或手动添加持仓 bash
python <SKILL_ROOT>/scripts/portfolio_update.py --add 600584 长电科技 400 39.53
症状:
text
[WARN] 指数数据获取失败: ...
原因:
解决方案:
检查网络连接 bash
ping github.com
重试分析(AKShare 有内部重试机制)
若持续失败,检查 AKShare 服务状态
症状:
text
FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\...\...'
原因:
解决方案:
pathlib.Path 和 Path.home() 动态推断路径SKILL_ROOT 和 WORKSPACE_DIR 的推断逻辑Path(__file__).parent.parent 相对 skill 目录Path.home() 获取用户主目录(跨平台)data/positions_portfolio.json(跟随 skill 更新)~/.qclaw/workspace/data/positions_portfolio.json(升级保护)platform.system())sys.executable)⚠️ 多文件改动时务必完整检查
当修改脚本时,必须同步更新:
检查清单:
环境检测 bash
python <SKILL_ROOT>/scripts/stock_analysis_core.py
持仓管理 bash
python <SKILL_ROOT>/scripts/portfolio_update.py --list
图片识别
完整流程