1. 项目基础介绍
go-stock 是一个基于Wails和NaiveUI开发的AI赋能股票分析工具。旨在为用户提供自选股行情获取、成本盈亏展示、涨跌报警推送等功能。它支持A股、港股、美股等市场,能够进行市场整体或个股的情绪分析、K线技术指标分析等功能。所有数据均保存在本地,同时支持多种AI大模型平台,如DeepSeek、OpenAI、Ollama、LMStudio、AnythingLLM等。该项目旨在为用户提供一个娱乐性和学习研究性的股票分析工具。
主要的编程语言:Go
2. 项目使用的关键技术和框架
Go:项目的主体编程语言,用于构建后端逻辑。
Wails:一个用于快速构建跨平台桌面应用程序的框架。
NaiveUI:一个基于Vue的UI库,用于创建简洁、优雅的用户界面。
Vue:用于构建用户界面的渐进式JavaScript框架。
AI大模型:集成AI分析股票功能,可能使用了如OpenAI、Ollama、LMStudio等AI平台或模型。
3. 项目安装和配置的准备工作与详细步骤
准备工作
源码:https://github.com/ArvinLovegood/go-stock,版本20250906-master
安装Go语言环境,配置好GOPATH等环境变量。
安装Git,用于克隆项目代码。
安装Node.js和npm,因为项目使用了Vue和NaiveUI。
对于Windows用户,可能还需要安装NSIS,用于生成安装程序。
安装步骤
3.1克隆项目
首先,下载源码,使用Git克隆项目到本地:
git clone https://github.com/ArvinLovegood/go-stock.git
进入项目目录,安装Go语言依赖:
bash
brew install go
用go version
查看当前go的版本号。go version go1.25.1 darwin/amd64
需要升级go语言版本的,输入以下命令:
bash
brew upgrade go
安装项目依赖,会下载文件
bash
cd go-stock
go mod tidy
3.2运行构建脚本
bash
cd scripts/
sh ./build-macos-intel.sh
运行提示 Warning: go.mod is using Wails '2.10.1' but the CLI is 'v2.10.2'. ,所以最好wails安装2.10.1版本
wails: command not found,安装wails
bash
go install github.com/wailsapp/wails/v2/cmd/wails@latest
# 检测wails是否安装好,安装成功后在~/go/bin目录下会有wails文件
wails doctor
提示:-bash: wails: command not found
设置环境变量
export PATH=$PATH:~/go/bin
failed to load config from /Users/sxf/go/go-stock/frontend/vite.config.js
error during build:
Error [ERR_REQUIRE_ESM]: require() of ES Module /Users/sxf/go/go-stock/frontend/node_modules/unimport/dist/index.mjs not supported.
node.js版本太低,升级node到24.7.0
3.3安装前端依赖:(忽略)
bash
cd frontend
npm install
构建项目
构建前端资源:
bash
cd frontend
npm run build
构建成功后将 ./go-stock/frontend/dist目录下的文件放到web服务器上,
页面js报错,TypeError: Cannot read properties of undefined (reading 'EventsOnMultiple')
4.配置
根据项目需求,可能需要配置以下文件:
config.yaml:配置股票数据源、API密钥等。
app.go:可能需要根据您的需求调整一些配置。
运行
4.运行构建后的程序:
/go-stock/build/bin/go-stock.app
运行后闪退,完美不成功。
按照以上步骤,您应该能够成功安装并运行go-stock项目。如果遇到任何问题,留言一起解决,或联系开源作者交100进群学习。
下截官方zip包,解压后运行正常

打开后什么都不用做,输入股票代码,关注即可

5.go-stock源码解析
5.1.项目的目录结构如下:
.github/: 存放GitHub特有的文件,如issue模板、actions配置等。
backend/: 项目后端代码目录,包含主要的业务逻辑。
build/: 构建脚本和配置文件,用于构建和打包项目。
frontend/: 项目前端代码目录,包含用户界面和交互逻辑。
scripts/: 执行项目构建、测试等操作的脚本文件。
.gitignore: Git忽略文件列表,用于指定不需要提交到Git仓库的文件和目录。
CODE_OF_CONDUCT.md: 项目行为准则文件。
CONTRIBUTING.md: 项目贡献指南,提供如何参与项目的说明。
LICENSE: 项目许可证文件,本项目采用Apache-2.0协议。
README.md: 项目介绍和说明文件。
SECURITY.md: 安全策略文件。
app.go: 项目主程序文件。
app_darwin.go: 为Darwin操作系统(如macOS)特定的程序文件。
app_linux.go: 为Linux操作系统特定的程序文件。
app_test.go: 测试代码文件。
go.mod: Go语言依赖管理文件。
go.sum: Go依赖的校验文件。
main.go: 主函数文件,用于启动程序。
wails-naive.png: 项目图标文件。
wails.json: Wails项目的配置文件。
5.2. 项目的启动文件介绍
项目的主要启动文件是main.go
。以下是main.go
文件的主要内容:
使用goland开发工具导入目录go-stock,运行命令:go build go-stock

报错:[FATAL] [go-stock/main.go:187] Wails applications will not build without the correct build tags.
调试时未发现代码错误行数,有可能是数据库没有数据导致的
想办法连接数据库:文件路径 /go-stock/data/stock.db,sqlite数据库

表内都是空的,有点头痛.
呵呵,方向错了,搞定wails dev
5.3. 项目的配置文件介绍
项目的配置文件是wails.json
。以下是wails.json
文件的主要内容:前端调用后端的端口号