夜雨聆风学习资料网

ARTICLE · 1079944

我自己写的软件今天上架了:全程不联网,你的记录只有你能看

我自己写的软件今天上架了:全程不联网,你的记录只有你能看

周五下午四点,领导在群里 @ 你:周报今天交。

你打开空白文档,光标闪了两分钟。周一好像改了个登录的 bug?周三跟后端对了次接口?周四那半天到底干了啥来着——完全想不起来。

这不是记性差,是记录这件事发生的时机错了。写周报难的不是写字,是你在用周五的脑子,去回忆周一的事。

所以我做了个东西,今天上架了。

WorkLog —— 一个 Windows 桌面小工具。每天花十秒记一句,周末自动汇总成周报,月末自动成月报,一键导出 Markdown 或 Excel。


01 📌 先说它是什么,不是什么

一句话:一个只干一件事的本地记录本。

每天干完活,打开它,写一句「登录接口联调,联调通过」,选个项目、选个成员、点保存。十秒结束。

到了周五,点一下「本周」,周报自己长出来了——按项目分组,每个项目底下挂着谁做了多少小时,没做完的事单独列一栏。再点一下「导出 Excel」,直接发给领导。

它是什么
它不是什么
形态
Windows 桌面软件(10 / 11,64 位)
不是网页、不是小程序、不用开浏览器
账号
完全不需要注册
没有账号体系,没有"登录 WorkLog"这回事
协作
单机使用,自己记自己的
不是团队协作平台,不搞多人共享
数据
全在你自己硬盘上
云端没有第二份副本,因为它压根不上传

它没有看板、没有甘特图、没有 OKR,也不打算加。我做的判断很简单:

周报这件事的痛点不在管理,在"我忘了"。


02 🔌 我最想说的一句:它不联网

这两年 AI 工具我写了几十篇,越写越清楚一件事——你往 AI 里贴的每一条工作内容,都是你亲手交出去的。

工作记录恰恰是最不该交出去的那类东西:你负责哪个项目、在攻哪个模块、卡在哪一步、这周产出多少工时。这些信息凑在一起,就是你在这家公司的画像。

所以 WorkLog 从立项那天就定了条死线:

不注册账号,不联网,不上传任何记录。

具体到你机器上是什么样:

  • 数据库是一个 SQLite 单文件,躺在你自己的硬盘里
  • 没有账号,没有服务器,没有同步
  • 激活是**本地离线验签**(Ed25519,公钥内嵌在软件里,私钥只在我自己机器上)
  • 我这边**不存在任何用户数据副本**——不是"我不会看",是架构上就没有通道可看

只有一个地方要说清楚,免得显得我在玩文字游戏:软件会联网检查新版本。 但那是下载更新包,方向是"进",不是"出",不放任何东西出去。除了这一件事,它安静得像个记事本。

这里有个我自己都觉得拧巴的反差,但它是真的:

这个软件,是我用 AI 辅助、3 天写完的。50 次提交,从 09-24 到 09-26。

AI 帮我把开发压缩到了 3 天,而这个软件在你机器上运行时,一行 AI 都不调用。

我是做 AI 内容的,我不觉得什么都要往 AI 里塞。该用 AI 的地方我一天都不想手写,不该用的地方——比如你每天干了什么——就该老老实实待在你自己的硬盘上。


03 📝 日常怎么用:一天十秒

主界面左边那一栏,「记录今天的工作」。

字段
必填
说明
**工作内容**
✅
最多 2000 字。写一句就够,比如「登录接口联调,联调通过」
**项目**
✅
汇总时按这个分组
**成员**
✅
汇总时按人小计
**状态**
✅
已完成 / 进行中 / 阻塞
**工时**
选填
单位小时,不填就不计入小计
**日期**
自动
默认取**服务端当天**,不用浏览器本地时间——避免改系统时区导致日期错乱

点「保存记录」,完事。

十秒能记完是硬指标,所以字段压到最少、能带默认值就带默认值、输入框会联想你以前填过的项目和成员。第二周开始,你每天真正要打的只有那一句工作内容。


04 🔍 记错了怎么办:中间那栏

中间是「记录列表」:

  • 按工作内容**搜索**,关键词一敲就出来
  • 「**今天 / 本周 / 本月**」一键切区间,不用手动选日期
  • 分页浏览,每条记录右边直接**编辑、删除**

当天记错了随手改,不用等到周末对着一堆烂账发愁。


05 📊 周报月报:右侧那一个按钮

右边「周月汇总」这一栏,是我做这个工具真正的理由。

选「周汇总」或「月汇总」,默认就是当前周(周一至周日)或当前自然月。还有「本周 / 上周」快捷按钮——周一早上想补上周五的周报,点一下「上周」就行。

汇总口径是定死的,不给你调,因为这几个口径我踩过坑:

口径
怎么处理
为什么
一周从哪天算
**周一至周日**,指定哪天都自动归一到周一
省掉"你们公司周报到底算到周五还是周日"的扯皮
怎么组织
**按项目分组**,每组附成员小计
领导想看的就是"这个项目谁出了多少力"
周末干的活
单独标记「**加班**」
该显眼的就得显眼
没做完的事
**单独列出,且不计入工时**
没做完就是没做完,不能算成工作量

最后这条是我最坚持的。把没做完的也算进工时,是自欺欺人。 未完成项就该单列出来,让看的人知道这事还悬着。


06 📤 导出:Markdown 和 Excel 两个都有

点「导出 Markdown」或「导出 Excel」。

  • **Markdown** —— 直接贴进飞书、钉钉、Notion、公司 Wiki
  • **Excel** —— 走邮件附件、走OA、或者领导就要个表格

导出完不用改格式,开箱就是能交的样子。

免费版和激活版功能完全一样,唯一区别是导出文件末尾会多一行「试用版 · 未激活」。买了在软件里输一次激活码,这行就没了。


07 🔑 激活那点事,说清楚免得挨骂

右下角「激活 / 授权…」,粘进去一串以 WL1- 开头的激活码,点激活,页脚显示「已授权」。

三个我特意做成这样的点:

  1. **离线校验。** 不联网验签,断网也能激活
  2. **不绑机器。** 换电脑重新输一次就行,不用先解绑旧的
  3. **不上传。** 校验过程全部在你本机完成

换电脑不用找我,重装不用找我,这一点我提前替你想了。


08 💾 数据在哪、怎么备份、怎么更新

数据库就一个文件:

%APPDATA%\WorkLog\worklog.db

备份 = 复制这个文件。换机 = 把它拷过去。 没有导出导入向导,因为不需要。

卸载软件不会删它——这条是我特意做的,怕有人手滑卸载把一年的记录弄没了。

更新这件事:软件会自己检查新版本,安静更新,不弹窗催你。用了差分更新,136 MB 的安装包实测只需要下载 12%。更新源放在阿里云 OSS(国内响应 0.1–0.3 秒),GitHub 留着当公开下载页,两处文件逐字节一致。


09 🛠️ 顺带交代:它是怎么被做出来的

你说了开发过程不用细讲,我就说三句:

  • **50 次提交,3 天。** v0.1.0 立项到 v0.4.1 上架,09-24 到 09-26
  • **测试过了才入库。** 后端 677 项、前端 177 项、桌面壳 82 项,每次交付都跑
  • **不是我一个人闷头写。** 协调者 + 看板 + Claude Code 子员工流水线:需求拆成看板卡,子员工各管各的文件域(后端只动 `backend/`、前端只动 `frontend/`、桌面只动 `desktop/`),协调者独立复验,**不采信子员工自报**——用真装真跑、产物指纹、负对照实验去验收

第三点是我最近最大的体会:AI 写代码快,但"它说做完了"和"真的做完了"是两回事。 契约先冻结、改动登记台账,50 次提交没有一次口径分叉,靠的不是模型聪明,是流程笨。

层
用的什么
桌面壳
Electron(窗口、打包、自动更新)
后端
Python + FastAPI,PyInstaller 打成单文件 exe 随包发布(**你机器上不用装 Python**)
数据库
SQLite 单文件,无服务、无账号
前端
原生 HTML / CSS / ESM JS,**零前端框架**
授权
Ed25519 离线签名,私钥只在我机器上
分发
阿里云 OSS 做更新源,GitHub 做公开下载页

能不用框架就不用,所以安装包体积和启动路径都可控。


10 🎯 最后说句实话

我做 AI 内容,按理说该给它塞个「AI 帮你润色周报」「AI 自动扩写」——加这个功能不难,一天就够。

我没加。

因为工作记录这东西,一旦经过一个"帮你润色"的环节,它就不再是你写的了。它会变得更漂亮,也会变得更不可信——而这恰恰是周报唯一不能丢的东西。

WorkLog 就干一件事:你当天说的那句话,原封不动地留到周五。

想要的朋友,后台私撩,我把下载链接发你。


你家周报是怎么写的?是周五现编,还是每天随手记?评论区聊聊——要是有更好用的土办法,我认输,也省得我这个软件白做了 😂

觉得这个思路有用的话,点个「在看」,或者转给那个每周五下午都在抓头发写周报的同事。

📌 关注「赵鑫的AI工坊」,后面我会把这套「用 AI 三天做一个能卖的小工具」的完整流程拆开讲——从立项、契约冻结到子员工流水线,能抄的部分我全给你。

感兴趣的朋友可以后台私撩:可以使用未激活版,关键词。:

周报月报。


*本文所有数据来自仓库真实记录(version.md 变更台账 / git 提交 / 测试运行),未使用任何估算数字。已发布产物:WorkLog-Setup-0.4.1.exe,139,595,280 字节(约 133 MB),sha256 caa92513d6632e7c915a35a5ea3d44cf70a5c4c239b9aedf2375b62c04bd509c。*

相关学习资料