在 Windows 上用绿色版 exe 装 go-stock 2026.10.21.1,双击就出界面,上证指数、涨跌停家数、融资融券余额和财联社电报一起刷新。

同时 data 目录里多出一个 431,063,272 字节的 stock.db-wal,主库 stock.db 只有 14,364,672 字节。

go-stock 2026.10.21.1 装完怎么开始看行情?

它用 Golang 加 Wails 写,整个程序只有一个 exe,不用装运行库也不用配数据库。下载下来放到 D 盘双击,界面十几秒就出来了,数据目录自动建在 exe 旁边。

go-stock-windows-amd64.exe  ->  139,971,584 字节
双击后窗口标题:go-stock A股交易中 | 港股交易中 | 美股休市 开源项目,个人免费使用
界面时间戳:2026-10-21 11:14:14 星期三 第四季度

首屏的数据是实时拉的,指数横条会滚动,A 股、港股、美股按各自交易时段标状态。左边是分时与板块异动标记,中间是涨跌停家数比,右边是融资融券余额走势。

界面位置实际显示
上证指数3717.17 -0.49%
深证成指11750.06 -0.43%
热度41°
总成交额8813 亿
上涨 / 下跌2476 / 2881
涨停 / 跌停37 / 0
融资余额 / 融券余额2.47 亿 / 9.53 亿

底部导航一共 9 个入口。行情相关的 4 个是首页、股票自选、市场行情和 K 线分析,往后依次是合约行情、复盘策略、研究中心、设置和关于。这些数据不用登录、不用注册、不用填 API key,装完就有。

stock.db-wal 为什么有 431 MB?

程序把 SQLite 的日志模式开成了 WAL,所有写入先落进 stock.db-wal,再定期合并回主库。问题在这个文件长得太快,而且不缩回去。

D:\wb_cache\lab\gostock\data 的目录
2026/10/21  11:20        14,364,672  stock.db
2026/10/21  11:16           622,592  stock.db-shm
2026/10/21  11:20       431,063,272  stock.db-wal
           3 个文件      446,050,536 字节

启动时间是 11:13:46,第一次采样在 11:17:29,那时 WAL 已经是 431,063,272 字节。之后再采三次都是同一个值,没有继续涨,说明它停在了一个峰值上而不是一直追加。

指标数值算式
主库 stock.db14,364,672 字节—
WAL 文件431,063,272 字节431063272 ÷ 14364672 = 30.01
自动 checkpoint 阈值4,096,000 字节1000 × 4096 = 4096000
WAL 是阈值的几倍105.24 倍431063272 ÷ 4096000 = 105.24

SQLite 的 wal_autocheckpoint 设的是 1000 页,按 4096 字节一页算就是 4,096,000 字节触发一次合并。实际文件是它的 105.24 倍,说明合并被卡住了,很可能有读事务一直持着旧快照,让 WAL 里的页回收不掉。

这些页不是新数据。把 db、wal、shm 三个文件复制一份再打开,WAL 会合并进主库并截成 0 字节,主库从 14,364,672 变成 14,258,176 字节。431 MB 的日志里真正的新增只有这么点。

复制后打开前:stock.db = 13,983,744   stock.db-wal = 431,063,272
复制后打开后:stock.db = 14,258,176   stock.db-wal = 0

go-stock 的 stock.db 里到底存了什么?

51 张表,既有 A 股、港股、美股的基础信息,也有电报、资金流和龙虎榜。

表数量: 51
行数最多的 8 张表:
     28547  stock_base_info_us
     17306  tushare_stock_basic
      5503  all_stock_info
      4855  stock_base_info_hk
      3096  concept_fund_flow
       768  bk_fund_flow
       545  stock_change_history
        55  telegraph_tags

美股基础信息 28547 行是最多的,比 A 股全表 5503 行多出 5 倍,因为美股把 ETF 和场外标的也算了进去。电报标签 55 行、电报正文 41 行,和界面上「财联社电报」那一栏对得上。

表行数用途
stock_base_info_us28547美股标的
tushare_stock_basic17306Tushare 股票基础信息
all_stock_info5503A 股全表
stock_base_info_hk4855港股标的
concept_fund_flow3096概念资金流
bk_fund_flow768板块资金流
stock_change_history545异动记录
telegraph_list41电报正文

写库的节奏由 cron_tasks 表控制,首次启动就写进 9 条任务。全球指数缓存每 5 分钟一次,异动数据每分钟一次,剩下的按工作日定时跑复盘和回测。

全球指数缓存     0 0/5 * * * *
异动数据保存     0 */1 * * * *
每日复盘         0 0 18 * * 1-5
盘前策略         0 0 9 * * 1-5
推荐回测(3日)    0 30 18 * * 1-5
推荐回测(5日)    0 40 18 * * 1-5
推荐回测(10日)   0 50 18 * * 1-5
推荐回测(20日)   0 0 19 * * 1-5
推荐回测(30日)   0 10 19 * * 1-5

一分钟一次的异动保存解释了 WAL 为什么长得快:盘中每分钟往同一批页里写一次,页版本不断堆积,checkpoint 一被卡住就会滚到几百 MB。

settings 表是另一处能看出功能边界的地方,88 个字段按前缀就能分出四块。

字段分组字段数例子
okx_ 前缀34okx_api_key、okx_signal_trade_usdt
feishu_ 前缀12feishu_robot、feishu_app_secret
系统字段4id、created_at、updated_at、deleted_at
其余38tushare_token、http_proxy、browser_path
合计8834 + 12 + 4 + 38 = 88

34 个 OKX 字段占了三成多,说明合约交易这条线做得比股票推送还细:杠杆、止盈止损、风控上限、每日最大单数都单独占字段。飞书那 12 个字段对应机器人推送,钉钉只留了开关和机器人地址。

报 lookup www.gov.cn: no such host 是什么原因?

界面上没报错,错误只落在 logs/error.log 里一行。抓的是政策新闻里的部门列表,DNS 解析失败。

2026-10-21 11:16:31.599  [ERROR]  [data/policy_news_api.go:155]
GetGovDepartments 获取部门列表失败:
Get "https://www.gov.cn/home/2023-03/29/content_5748953.htm":
dial tcp: lookup www.gov.cn: no such host

这条不影响行情,只是政策板块少一块数据。真正值得注意的是它抓数据的方式:日志里 683 行有 611 行是同一句「检测到 Edge 浏览器」。

日志行数: 683
检测到 Edge 浏览器: 611
611 ÷ 683 = 0.8945(即 89.45%)

2026-10-21 11:15:53.001  [INFO]  [data/stock_data_api_windows.go:76]
检测到 Edge 浏览器:C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe

它不是纯 HTTP 接口拼出来的行情,很多字段靠驱动系统里的 Edge 打开页面再解析。机器上没装 Edge 会怎样,没有验证。

go-stock 的 AI 功能装完能用吗?

不能直接用。AI 配置表和提示词模板表都是空的,88 个设置字段里也没有任何默认模型。

settings 字段数: 88
cron_tasks: 9
ai_config: 0
prompt_templates: 0

88 个设置字段里,和 AI 有关的只有几个 model id 的引用,比如 feishu_bot_ai_config_id、long_term_memory_ai_config_id、profile_learn_ai_config_id,都指向 ai_config 表里的行。表是空的,这些 id 就都是空值。

表行数含义
ai_config0模型配置,空的
prompt_templates0提示词模板,空的
settings0首次运行不写默认值
cron_tasks9定时任务,已初始化

也就是说开箱只有行情和资讯,AI 选股、AI 分析、飞书机器人这些要自己在设置里填模型地址和 key。支持 DeepSeek、Ollama、LM Studio 这类 OpenAI 兼容接口,配置项里还有独立的正反向代理字段。

go-stock 在什么条件下会失败?

三种情况来自这次实际碰到的现象。

触发条件现象(报错原文)对应步骤
DNS 解析不了 gov.cnlookup www.gov.cn: no such host启动后第一次抓政策新闻
没配 ai_config 就点 AI 分析ai_config 表 0 行,没有可用模型打开 AI 相关入口
盯着 data 目录看体积stock.db-wal 涨到 431,063,272 字节运行 4 分钟后采样

只在 Windows、单 exe 绿色版、盘中时段测过,没在收盘后和节假日跑过。

  • 未验证:AI 选股的实际效果。ai_config 表是空的,没有配模型,一条推荐都没生成。
  • 未验证:OKX 合约交易。settings 里有一批 okx_ 开头的字段,需要填真实 API key,没有碰。
  • 未验证:钉钉和飞书推送。配置项在,但没建机器人。
  • 未验证:WAL 会不会一直涨到占满磁盘。只观察到 431,063,272 字节后停住,没有跑到收盘。

如果你用的是 macOS 或 Linux 包,本文关于 data 目录和 WAL 的结论不能照搬,那两条路径没有测。