【开发故事】许工工具箱:一场AI‑Coding驱动,23天从0到V1.1.0的小程序开发复盘

发布时间:2026/11/6 8:54:54

【开发故事】许工工具箱:一场AI‑Coding驱动,23天从0到V1.1.0的小程序开发复盘 2026‑10‑11开始至2026‑11‑02经历197次Git提交微信原生TypeScript小程序无第三方UI组件全部组件业务逻辑由AI编码实现人承担产品定义、场景设计、测试验证、架构决策、合规审查输出需求、边界条件、bug复现AI完成绝大部分代码、组件、单元测试。最终产出9个主包页面、23个分包工具页、15个自研公共组件、70单元测试用例33款本地优先工具合集。日常经常遇到大量碎片化小需求算房贷、压缩图片、记纪念日、保管账号密码、记录家人血压血糖。市面上工具要么是一次性网页要么需要下载多个App大多强制登录用户数据上传服务商服务器隐私得不到保障。我想做一款微信小程序免登录、全部计算与数据存储优先在本机完成兼顾普通用户与长辈使用把零散工具收拢在一处。整个项目没有手写大量底层代码采用「人定需求‑AI编码‑真机测试‑反馈bug‑迭代修复」的AI‑Coding循环23天完成完整可用版本V1.1.0。阶段一搭起骨架快速落地第一波工具10‑11 ~ 10‑12项目立项之初就定好分阶段实施路线。首先搭建小程序工程底座工具注册表、首页、搜索、分类浏览、统一工具页面布局组件ToolLayout升级TypeScript类型环境。第一批优先实现高频计算类工具房贷还款试算、个税含年终奖单独计税、单位换算、BMI计算、日期间隔、倒数日。随着日期类工具开发沉淀出农历库、节假日库、快捷日期组件QuickDate支持1900‑2100公历农历双向换算这套底层能力后续被纪念日、周期备忘多处复用紧接着完成纪念日工具。这一阶段工具以临时运算为主数据简单存在本地还没有加密、备份、复杂持久化模型。在用的过程中很快暴露痛点记录的纪念日、倒数日一旦清除小程序数据直接全部丢失。于是需求继续向下延伸要支持保存私密数据要加密要可以备份迁移。阶段二分包批量扩充能力图片、文本、开发工具齐上线10‑12 ~ 10‑15引入分包packageTools批量新增一大批工具开发工具Base64、URL编解码、MD5/SHA哈希、JSON格式化图片工具图片压缩、加水印、长图拼接、九宫格切图文本工具字数统计、文本去重排序、大小写、罗马数字、摩斯电码其他工具利息收益试算、图片尺寸调整、随机决定器。这个阶段踩了大量微信Canvas的坑离屏画布CSS尺寸和物理尺寸不一致、画布超限静默压缩用户无感知、WEBP/SVG图片格式兼容、导出文件扩展名错乱。每发现一个真机异常就把复现条件、现象、预期行为交给AI修复同时补充防护逻辑。阶段三构建整套密码与安全存储体系10‑17 ~ 10‑21这是整个项目安全权重最高的模块。向AI提出完整需求做一个密码本支持手势解锁、分类管理账号密码数据加密保存在本地支持导出导入备份。AI实现密码本状态机、Canvas自研手势锁组件GestureLock基于PBKDF2做密钥派生。但一轮轮测试下不断暴露出安全漏洞密码明文在存储中转、密钥缓存逻辑缺陷、备份文件无法校验篡改、复制密码长期残留在剪贴板。采用典型循环人工测试发现漏洞 → 描述复现条件和安全目标 → AI修复、迭代加密格式、补充单元测试。LRU密钥会话缓存会话自动超时避免长期免密复制密码后60秒自动清空剪贴板备份文件增加魔数标识损坏、恶意构造的文件直接拦截明文密码不在存储、不在内存长期驻留。配套实现随机密码生成器调用微信安全随机接口支持熵强度评估可以一键把生成的密码直接存入密码本。同时实现完整的备份与恢复功能支持选择性备份导入时新旧记录按更新时间自动合并。「帮我决定」也在这一轮完成大升级从简单随机选择扩展成8种玩法抛硬币、3D骰子、猜拳、大转盘、吃什么抽签等增加动画与震动反馈。阶段四周期备忘业务落地处理复杂日期边界10‑22 ~ 10‑23周期备忘生日、房租、缴费等周期性提醒完整落地需要处理大量边界农历闰月、小月31号自动落到月末、多种重复周期每周/每月/每季度/每年。首页可以聚合提醒事项角标展示待办。为避免业务逻辑重复复制带来的版本不一致问题推动农历、换算、计算等核心算法向零外部依赖纯函数重构方便多处复用减少隐蔽bug。阶段五健康记录模块落地面向年长者的适老化设计10‑24 ~ 10‑27源于现实生活场景家人有需要记录血压、血糖、吃药打卡不想使用强制登录、数据上云的商业软件。提出完整业务需求开发三套健康工具血压记录、血糖记录、用药打卡。业务规则非常繁琐多种服药周期、提前打卡拦截、漏服补打卡、测量提醒、统计完成率生成趋势折线图表支持两种导出格式CSV方便Excel统计A4排版HTML可以直接打印复诊带给医生。同时贯彻适老化原则按钮热区≥44×44px关键操作使用大按钮字号、对比度做整体优化。出于医疗合规风险血压血糖参考区间默认关闭只做客观数据记录统计不做任何诊断、疾病判定。健康模块的加入推动首页能力升级首页「今日待办」聚合视图正式成型把日期提醒纪念日、周期备忘和健康待办该吃药、该测量统一展示分类带有数字角标不用一个个跳进子页面查看。同时完成一系列安全配套数据安全三件套删除小程序数据丢失风险提示、30天未备份弹窗提醒、版本号管理把分散的备份入口升级成完整「设置页」统一管理备份、数据保护、清空本地数据、隐私说明沙箱临时文件生命周期治理修复导出分享还没完成文件就被系统删除的严重bug。同时图片工具继续迭代图片切块通用九宫格、全新交互的图片裁剪工具采用「框不动图片缩放拖动」类似微信头像裁剪的交互抽离通用StepSlider步进滑块组件。房贷计算器新增提前还款完整模拟测算。项目正式统一产品品牌名许工工具箱。阶段六系统性合规整改适配个人小程序审核规则10‑28 ~ 10‑29进入提审准备对照微信个人主体小程序约束做一轮大规模整改隐私合规接入微信隐私授权弹窗完整声明剪贴板、相册、文件、本地存储接口用途下架高风险能力生辰八字、身份证解析等文案全面改写医疗模块全部删除疾病分级、达标率描述仅保留记录统计金融计算全部改为“试算”补充免责声明将“全局密码”更名为数据保护支持按工具粒度上锁不同工具可以选择性加密接入微信图片内容安全检测仅在预览、保存图片前上传检测检测完成立即删除图片计算输入增加非法字符、数值范围校验拦截不合理输入。阶段七集中体验打磨修复真机交互痛点发布V1.1.010‑30 ~ 11‑01这是提交密度最高的一段时间不再大规模新增大功能重点解决大量“能用但不好用”的真机交互问题。页面架构重构纪念日、倒数日、周期备忘、血压、血糖、用药打卡全部把内嵌表单从列表页剥离新增/编辑改为独立页面列表页只负责展示跳转编辑页返回自动刷新页面结构更清晰避免页面臃肿。血压血糖列表实现分页加载。用药打卡记录查询、导出拆成独立子页面。统一解决键盘遮挡顽疾大量表单页面存在键盘弹起盖住按钮的问题。经过多轮方案尝试、回退最终抽象通用focus‑field‑mixin混入统一处理cursor‑spacing上推界面、确认键跳转下一项输入框、完成键收起键盘批量改造全项目数十个表单页面彻底统一解决键盘遮挡。UI与可视化增强抽离通用折线图组件TrendChart血压、血糖可以查看趋势纪念日增加未来提醒日期弹窗倒数日自动折叠过期超过3天的条目统一浮动添加按钮样式。健康记录导出重构为底部弹窗组件。分享体系完整落地实现全站支持转发微信好友做白名单机制计算、文本、开发等纯本地工具允许分享朋友圈图片、密码本、健康记录不开放朋友圈规避小程序单页模式能力限制。分享只传递工具链接绝不携带任何用户个人记录数据。修复导出文件的生命周期分享成功延迟3秒再删除临时文件分享失败保留文件方便重试彻底解决导出备份、健康记录偶发失败的bug。完成全部修改归纳为18项更新8新增、4优化、6修复正式发布V1.1.0增加新版本冷启动更新提醒组件。贯穿整个项目的几条工程原则安全与合规红线优先新增存储就要考虑备份涉及隐私数据就要考虑加密个人主体严格规避迷信、医疗诊断、无资质金融断言新增用户存储键必须同步备份恢复模块保证向后兼容组件化沉淀所有公共组件都来源于真实业务页面抽取不引入重型第三方UI库全部自研AI‑Coding的约束AI负责写代码但人必须做真机测试很多边界case、平台坑、审核风险AI无法预判适老化可供性按钮热区、字号对比度、操作逻辑面向普通用户同时兼顾老年群体。关于这种AI‑Coding开发模式的一点思考整个项目197次提交大量业务代码、组件、单元测试由AI生成。但AI不能替代产品思考、真机测试、风险判断。AI擅长把明确的需求、业务规则、bug复现翻译成代码生成工具函数、组件、单元测试人必须做定义真实生活场景、梳理边界case、真机操作体验、识别安全漏洞、判断平台合规风险、做架构取舍。许工工具箱不是凭空设计出来的宏大产品它从一个个真实细碎的生活痛点生长而来。在方案设计上选择免登录、数据优先保存在本机项目规划阶段就决定不加入会员与广告模块把数据隐私的选择权交给使用者。「许工工具箱」V1.1.0 版本已上线项目还在持续更新欢迎大家交流也期待收到 bug 和新功能方向的反馈。
延伸阅读

更多相关文章

2026/11/6 8:54:54

强化学习做人形运动控制:从仿真到真机的 gap 清单(完整版)

本文是《机器人炼金术 进阶配方》第 09 期完整版。相比免费版,本文额外包含:信源层(四篇里程碑论文的要点中英对照与精读批注)、延迟注入训练的可复现代码、域随机化参数表模板、sim2real 验收流程。 一、一个所有团队都经历过的下午 仿真演示视频里,人形机器人后空翻落…

2026/11/6 8:54:54

告警风暴怎么压?100MW 电站监控平台告警引擎架构复盘

去年 9 月,华东某资产方旗下的 300 多个工商业电站突然在半小时内弹出了上万条告警。运维群里的消息提示音就没停过,几个运维主管的手机直接被震得发烫。点开一看,全是「逆变器网关离线」和「电网电压异常」,但仔细排查发现&#…

2026/11/6 8:54:54

AgentScope Java v2 第10课,压缩改历史,记忆搬事实

摘要:同一次 call 里,压缩会把 9 条工作历史换成 1 条摘要加 3 条尾部,模型还记得“夜莺”,却复述不出原话;记忆则在不碰历史的情况下,把事实写进 daily、合并进 MEMORY.md。我用三个实验拆开这两条流水线&…

2026/11/6 9:40:08

Windows域控 设置全域的密码策略 【全域策略生效】

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/6 9:40:08

Spring+SpringMVC+MyBatis 整合(+拦截器) 详:

SpringSpringMVCMyBatis 整合(拦截器) 详: 目前为止博客基本已将掌握SpringMVC 相关的知识点; 终于来到了最终时刻 SSM 三大框架整合; 搭建SSM 框架的程序架构 SSM 框架整合其实就是:Mybatis Spring SpringMVC 的整合; 前面学习我们知道 &#xff1a…

2026/11/6 9:40:08

Oracle数据库基础学习

Oracle数据库基础学习 个人之前就学习过 mysql sqlserver 但笔记没有在CSDN上可能会有些跳跃~ 不明确地方可以看这位大佬的笔记~不是我的. Oracle 简介 OracleDatabase 又名Oracle RDBMS , 是甲骨文公司的一款关系数据库管理系统。(世界上最好的数据库系统;(历史悠…

2026/11/6 9:40:08

Java 面试

Java 面试宝典 不定时更新 Java的面试题, 有什么好的 感谢评论告知! 小提示 可以看旁边的文章目录, 自问自带看看自己会不会! 奉上本人Java学习笔记! Java 线程 泛型 集合 SSM Mybatis mybatis中namespace的作用 Namespace是命名空间…

2026/11/5 15:39:06

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/6 1:03:39

MCU晶振电路设计全解析:从负载电容计算到PCB布局调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 15:39:06

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑