Win本地版第二阶段的实测记录:不再是「在浏览器里开一个标签页」,而是一枚有自己的窗口的桌面程序;本机能力也补齐了——备份、导入、导出,各管一件。以下是真实操作、真实日志、真实截图。
Win本地版与服务器版是同一副底子,穿法不同:服务器版要选库、填站点信息、设管理员,四步走完才开门; Win本地版把这一步省了——双击就开。第一次运行自己生成配置、自己建库、自己把浏览器叫起来, 使用者只需要看页面。
| 这件事 | 怎么做 |
|---|---|
| 双击即启 | 同源码两种构建,Win本地版由构建参数注入形态;启动时判定为Win本地版就直接开门,不进入安装向导 |
| 独立窗口 | 用浏览器自带的应用模式开窗:没有地址栏、没有标签页、没有书签栏,任务栏上单独一份图标,窗口尺寸与位置记得住。用独立档案目录,不碰使用者自己的浏览记录与插件 |
| 关窗即退出 | 窗口一关,后台跟着收摊,端口一并释放——桌面程序不该「窗口没了后台还在跑」;页面里也有「退出程序」 |
| 自己的版本号 | Win本地版另编一条版本线:窗口里显示的是 v0.0.1 / build 1,不顶站点版的号;后台侧栏与页脚同样按形态区分 |
| 本地工作台 | 窗口打开的第一页:站点数据一览 + 四张操作卡(备份到本机 / 从本机文件夹导入照片 / 导出文章为 Markdown / 数据与退出) |
| 配置自动化 | 首次运行自动写出 config.json:只监听 127.0.0.1、数据落 data/、十一个模块全部内置 |
| 数据随手带走 | 数据库与配置都在程序旁边,整个文件夹拷走就是一份完整备份;也可以一键打包成 zip 放进 backups/ |
| 不对外开端口 | 默认只绑定本机地址,同一个网络里的人也访问不到——Win本地版没打算给别人看 |
| 别人的图标 | 补了站点图标:晴天 + 两道地平线,窗口与标签页上认得出是谁 |
这一张是Win本地版窗口的真实样子(用桌面截取工具抓的,不是浏览器截图): 没有地址栏、没有标签页、没有书签栏,标题栏就是站点名。

为了确认真实的「解压即用」,先把程序放进一个空目录,里面只放程序本体、主题与文案目录,没有任何配置文件与数据库:
_wintest/ ├── ZXSORA.exe ← 程序本体(17.4 MB,纯静态编译,无额外运行库) ├── themes/ ← 页面模板与样式 ├── content/ ← 文案目录 └── update/version.json
直接运行程序,控制台输出如下(原文照抄):
Win本地版首次启动:正在生成配置… 已创建初始管理员账号: admin(请尽快登录后台修改密码) 已播种博客默认内容:默认分类 + 5 篇演示文章 已播种招聘模块默认内容:8 个演示职位(状态灯:招聘中 ×4 / 暂停 ×2 / 已满 ×2) 已播种晴空部落演示数据:3 座部落 + 8 条营地留言 已播种部落留言类型演示:6 条(投票 / 多图 / 辩论 / 商品 / 视频 / 长文) 已播种「晴空瞬语」演示数据:6 条不同时刻的动态、3 句片刻回响 已播种资讯模块演示数据:8 条快报(快讯/专栏/生活/深度) 已播种问答模块演示数据:5 个问题 + 11 条回答(各含 1 条已采纳) 已播种生活服务模块演示数据:8 项服务 已播种影集模块演示数据:5 个相册共 18 张照片 已播种论坛演示数据:5 个版块、16 篇帖子、40 条回帖 已播种论坛帖子类型演示:6 篇(投票 / 多图 / 辩论 / 商品 / 视频 / 长文) 已播种晴空书架演示数据:5 本藏本 + 4 条温书人批注 已播种电商演示数据:8 件商品 仲夏晴空 · ZXSORA Win本地版已启动:http://127.0.0.1:18080 数据与配置就在程序旁边:config.json 与 data/ —— 整个文件夹拷走,就是一份完整备份 后台地址:http://127.0.0.1:18080/admin (账号 admin,首次登录后请改密码) 关掉这个窗口即停止运行
注意第一行:没有出现安装向导,配置是程序自己写的。整个首次启动过程不到 3 秒。
_wintest/ ├── ZXSORA.exe ├── config.json ← 自动生成(只监听本机、SQLite、模块全开) ├── .zxcms_installed ← 安装锁:防止配置被误删后重跑流程 ├── data/zxsora.db ← 数据库(454 KB,含全部演示内容) ├── themes/ content/ update/
再次运行,日志里不再有「正在生成配置」与任何播种动作,直接开门——双击一次,用一辈子。
| 路径 | 说明 | 结果 |
|---|---|---|
/ | 站点首页(Win本地版落到博客) | 200 |
/blog | 博客首页 | 200 |
/apps | 应用中心(Win本地版放行) | 200 |
/qa | 问答「晴空问路」 | 200 |
/news | 资讯「晴空快报」 | 200 |
/admin/login | 后台登录 | 200 |
/admin | 后台仪表盘(登录后) | 200 |
/forum /docs /shop /jobs /circles /moments /services /gallery | 其余八个模块 | 全部 200 |
关掉窗口之后,程序日志里出现这一行,随后进程结束、端口释放:
窗口已关闭,正在退出… 已退出。下次双击程序即可重新打开
这一步是「像程序,不像网页」的关键:窗口没了,后台不该还占着端口。
Win本地版窗口打开的第一页就是它。四张卡各管一件事, 每张卡自己给结果——不跳页、不弹新窗口,做完就在原地告诉你成了没有。

点一下「立即备份」,数据库、上传的图片与配置一起打包成 zip 放进 backups/,列表当场刷新:

指一个文件夹,里面的图片整批搬进选定的相册。这是Win本地版才有的做法—— 服务器版没有「本机文件夹」这件事,只能一张张上传。


导出到磁盘的真实结果(文件名即文章别名):
zxsora-export-20260917-163157/ ├── welcome-to-zxsora.md 1045 B ├── essay-slow-days.md 1524 B ├── gallery-words-and-images.md 2032 B ├── data-observations.md 1841 B └── markdown-advanced.md 2100 B
前台与后台右下角各有一枚圆形按钮:点一下刷新页面并清空缓存。 清的是本站自己的本地缓存、缓存存储与旧样式脚本副本——一个 cookie 都不碰, 所以清完还是登录着(会话在 HttpOnly Cookie 里,脚本够不到)。 只 reload 不动样式表那一步,浏览器往往还把旧的那份样式拿出来用,所以它先把本页用到的 样式与脚本重新拉一遍,再 reload。
cache-fab,后台用的是同一个片段。
程序目录、数据目录、备份目录三条路径直接写在页面上,配两个「打开目录」按钮—— 点一下就在文件管理器里打开;最后一个「退出程序」是危险色,点之前还会再确认一次。 「东西在你自己的电脑里」这句话,得让人当场看得见才算数。
以下截图全部来自本次真实运行,未做任何修饰。














站点版与 Win本地版的版本号各编各的,所以更新日志拆成两条轨道,各有一棵独立的目录树。 切页签时是整块(目录 + 正文)一起换,不会把两条线混在一棵树上。


这次一并收口的四件事,已在 https://zxsora.cn 上线并核验:
| 这一项 | 做了什么 |
|---|---|
| 字体统一 | 全站三套字体栈(正文 / 宋体 / 等宽)收成一处定义;修好后台样式表与安装向导里缺失的字体变量——此前那两处会悄悄掉回浏览器默认字体 |
| 图标统一 | 把混用的表情符号与几何字符全换成同一套线性图标(24×24 网格、纯描边、跟随文字颜色),共替换 251 处,前后台一套语言 |
| 控件描边 | 输入框、下拉框、按钮在未悬停、未点击的常态下也看得见边界:由 1px 浅灰蓝加粗为 1.5px,悬停转为品牌色 |
| 版本号口径 | 按语义化规则核对全部历史版本:第二位只在每年 6 月 16 日「仲夏」周年当天进一、末位归零;其余发布落在第三位;构建号每次发布连续 +1,当前第 11 次 |
首页那颗按钮不再弹窗,而是通向一页自己的介绍页:https://zxsora.cn/win。
单独成页的理由很实在——这一版有自己的版本号、自己的本事、自己的进度,
挤在首页一角只能压成一行字;单独成页之后,它可以自己挂到导航与页脚、单独发给别人、
单独被搜索引擎收进去。
这一页刻意换了一副长相:站点其他页面是一体化的液态玻璃风,这一页走 Win11(Fluent)风格—— 云母底、8 圆角、Segoe UI Variable、设置页那种「图标 + 标题 + 说明」的行,还有一圈窗口外框与标题栏。 讲的就是那枚桌面程序,长得像它,话才好讲。


这一页上「搬进搬出」那一栏只写类别、不点具体产品的名字:要覆盖的远不止一两家, 名单写出来既长又会漏,不如把规矩写死——凡是有导出包或备份包可拿的,图文都搬、原名不改、位置对应。
如实交代,不把在做的说成做完的:
第一阶段的目标达成:干净目录里放一个程序,双击就能开门。不需要先选数据库、不需要填站点信息、不需要租一台服务器; 十一个模块全部在线,数据落在自己电脑里,整个文件夹拷走就是备份。
截图与日志均为本次真实运行的产出,未做修饰。下一阶段把Win本地版独有功能补齐,补完再出一次实测报告。