562e46897b5d77fb3aa4719428d5d33187ba6d77
股票分析系统 (Stock Analysis System)
简介
基于 https://github.com/DR-lin-eng/stock-scanner 二次修改,感谢原作者
功能变更
- 增加html页面,支持浏览器在线使用
- 增加港股、美股支持
- 完善Dockerfile、GitHub Actions 支持docker一键部署使用
- 支持x86_64 和 ARM64架构镜像
- 支持流式输出,支持前端传入Key(仅作为本地用户使用,日志等内容不会输出) 感谢@Cassianvale
- 重构为Vue3+Vite+TS+Naive UI,支持响应式布局
- 支持GitHub Actions 一键部署
- 支持Nginx反向代理,可通过80/443端口访问
Docker镜像一键部署
# 拉取最新版本
docker pull cassianvale/stock-scanner:latest
# 启动容器
docker run -d \
--name stock-scanner-app \
-p 8888:8888 \
-e API_KEY=你的API密钥 \
-e API_URL=你的API地址 \
-e API_MODEL=你的API模型 \
-e API_TIMEOUT=超时时间(默认60秒) \
-e LOGIN_PASSWORD=登录密码(可选) \
-e ANNOUNCEMENT_TEXT=公告文本 \
-v $(pwd)/logs:/app/logs \
--restart unless-stopped \
--network bridge \
cassianvale/stock-scanner:latest
针对API_URL处理兼容更多的api地址,规则与Cherry Studio一致, /结尾忽略v1版本,#结尾强制使用输入地址。
API_URL 处理逻辑说明:
1. 当 API_URL 以 / 结尾时直接追加 chat/completions,保留原有版本号:
示例:
输入: https://ark.cn-beijing.volces.com/api/v3/
输出: https://ark.cn-beijing.volces.com/api/v3/chat/completions
2. 当 API_URL 以 # 结尾时强制使用当前链接:
示例:
输入: https://ark.cn-beijing.volces.com/api/v3/chat/completions#
输出: https://ark.cn-beijing.volces.com/api/v3/chat/completions
3. 当 API_URL 不以 / 结尾时使用默认版本号 v1:
示例:
输入: https://ark.cn-beijing.volces.com/api
输出: https://ark.cn-beijing.volces.com/api/v1/chat/completions
默认8888端口,部署完成后访问 http://你的域名或ip:8888 即可使用
使用Nginx反向代理
项目已集成Nginx服务,可以通过80端口(HTTP)和443端口(HTTPS)访问应用
使用docker-compose启动:
# 克隆仓库
git clone https://github.com/your-username/stock-scanner.git
cd stock-scanner
# 创建.env文件并填写必要的环境变量
cat > .env << EOL
API_KEY=你的API密钥
API_URL=你的API地址
API_MODEL=你的API模型
API_TIMEOUT=超时时间(默认60秒)
LOGIN_PASSWORD=登录密码(可选)
ANNOUNCEMENT_TEXT=公告文本
EOL
# 创建SSL证书目录
mkdir -p nginx/ssl
# 生成自签名SSL证书(仅用于测试环境)
openssl req -x509 -nodes -days 365 \
-newkey rsa:2048 \
-keyout nginx/ssl/privkey.pem \
-out nginx/ssl/fullchain.pem \
-subj "/CN=localhost" \
-addext "subjectAltName=DNS:localhost,IP:127.0.0.1"
# 启动服务
docker-compose up -d
使用自己的SSL证书
如果您有自己的SSL证书,可以替换自签名证书:
- 将您的证书文件放在
nginx/ssl/目录下 - 确保证书文件命名为
fullchain.pem,私钥文件命名为privkey.pem - 重启服务:
docker-compose restart nginx
相关参考:免费泛域名 SSL 证书申请及自动续期(使用 1Panel 面板)
Github Actions 部署
| 环境变量 | 说明 |
|---|---|
| DOCKERHUB_USERNAME | Docker Hub用户名 |
| DOCKERHUB_TOKEN | Docker Hub访问令牌 |
| SERVER_HOST | 部署服务器地址 |
| SERVER_USERNAME | 服务器用户名 |
| SSH_PRIVATE_KEY | SSH私钥 |
| DEPLOY_PATH | 部署路径 |
| SLACK_WEBHOOK | Slack通知Webhook(可选) |
注意事项 (Notes)
- 股票分析仅供参考,不构成投资建议
- 使用前请确保网络连接正常
- 建议在实盘前充分测试
贡献 (Contributing)
欢迎提交 issues 和 pull requests!
许可证 (License)
[待添加具体许可证信息]
免责声明 (Disclaimer)
本系统仅用于学习和研究目的,投资有风险,入市需谨慎。
Description
Languages
Vue
50.6%
Python
35.7%
TypeScript
7.1%
CSS
5.8%
Dockerfile
0.6%
Other
0.2%