一行代码都没写,微信小程序上线了!

最近「微信AI」挺火的,腾讯的股价也开始回暖了,这或许就是资本的风向。
我也相信,接下来的微信小程序会迎来巨大的机会。
前几天,我上线了一个微信小程序。
26号有了想法,30号备案通过上线。
这次从头到尾,我一行代码都没写。
我想验证一件事:未来你的员工会不会都是 AI。
“
如果产品经理(任何普通人),只负责提需求、做测试、给反馈,AI 能不能真的把一个产品做出来,并且推到上线。
总共为期 4 天时间,「汪喵手账」微信小程序正式上线,这期间我一行代码也没写,时间总共花了不到 5 小时,全程都是 AI 工作。
如果是放在以前,开发这样的小程序,一个人至少需要15-30天,技术如果一般,时间可能需要好几个月。


上线以后,我第一时间发到我身边的创业者群,老板们反馈都很好!
“
很多老板表示想学这个开发到上线的过程,我想着也没啥技术含量,干脆把全过程开源了。
比起如何开发并上线这个小程序,我更想说的是:
“
很多人迟迟做不出东西,不是因为能力不够,而是一直没有真的下场。
以前大家总觉得,做产品最大的门槛是技术。
不会前端,不会后端,不会部署,不会数据库,于是很多想法从一开始就被自己否掉了。
但现在,这道门槛已经被快速磨平。
你不一定非得先什么都会,才有资格开始。
很多时候,真正有用的不是你会不会写那几行代码,而是你能不能先把第一版做出来,先把问题暴露出来,先让真实反馈进来。
有想法,别老停在想法阶段。
先躬身入局,把手弄脏。很多问题,做着做着就清楚了。
汪喵手账开发思路梳理
本次全程开发主要用到的 AI 工具 Workbuddy + ChatGPT。
由于开发到上线篇幅过长,我尽量缩减到最少了。
后续我将会将全部保姆级教程开源到 GitHub。
开发小程序,第一个问题就是做什么?需求去哪找?
最开始,我和AI简单讨论了下,并且整理出一份需求挖掘的提示词。
## 需求挖掘系统
## 核心目标
系统化识别、分类、验证需求,输出高价值可落地的需求清单。
## 一、需求三筛
### 1. 真伪过滤
- **真需求**:用户有明确痛点,愿付代价,有行为数据支撑。
- **伪需求**:嘴上说要,实际不行动,无付费意愿。
- **不可行**:技术/成本/法律限制。
### 2. 人群/领域定位
- 按**角色**(开发者/设计师/管理者等)和**场景**(职场/学习/生活)归类。
- 按**行业**(金融/教育/医疗等)和**领域**(工具/内容/服务)细分。
### 3. 价值评估(四项打分)
- **频率**(高/中/低)
- **付费意愿**(高/中/低)
- **痛点强度**(1-10)
- **可扩展性**(高/中/低)
---
## 二、优先级矩阵
| 价值 | 核心人群 | 次要人群 |
|------|----------|----------|
| **高** | 优先级1(立即验证,重点投入) | 优先级2(验证后决定) |
| **低** | 优先级3(评估提升可能,作储备) | 优先级4(暂不投入,长期观察) |
> 伪需求、不可行需求直接剔除。
---
## 三、执行流程(四步走)
1. **收集** → 访谈/数据/竞品/吐槽 → 原始需求清单
2. **分类** → 真实性 + 人群/领域 + 价值 → 带标签清单
3. **验证** → MVP/预售/A/B测试,追踪日活、留存、转化、NPS → 验证数据
4. **排序** → 按优先级矩阵输出最终清单
---
## 四、输出格式
### 需求卡片(每项一条)
需求ID:REQ-XXX
名称/描述:
来源:
真实性:真/伪/不可行
人群/行业/领域:
价值评分:频率_付费_痛点_扩展
验证数据(如有):
优先级:1/2/3/4
状态:待验证/验证中/已验证/已放弃### 汇总清单(表格)
| ID | 名称 | 真实性 | 人群 | 价值 | 优先级 | 状态 |
---
## 五、人机协作
- **人**:提供原始素材,审核输出,做最终决策。
- **AI**:批量分类、评分、整理数据、生成报告。
---
## 六、持续迭代
- 验证数据反馈 → 优化评分规则和分类模型。
- 沉淀已验证需求 → 形成行业/人群需求知识库。
---
**立即启动:** 收集需求 → 按上述步骤处理,输出带优先级的可执行清单。“
当我把提示词发给AI以后,没多久就给我了一大堆需求,我初筛一遍,又继续聊了两轮,得到了一个我感觉不错的需求,小红书上面验证了下,很快就确认了。

然后,继续让AI帮我列具体产品需求,调研竞品找到真正的金矿。

接下来,我又让 AI 具体拆解需求,
记录、周报、AI 问诊、品种识别、家人共享、社区、商城……看起来每个都有用。
但真的动手之前,我先问了 AI 一件事:把需求分层。
不是按优先级排,是按「个人主体能不能做」来砍。
微信小程序的个人主体有很多限制,有些功能不是你做不出来,是做出来也发布不了。
比如 AI 相关功能,个人主体不支持「深度合成」类目,代码里有相关调用会被直接拒审。
这不是你做得好不好,是规则不允许。
所以我最后把需求分成了三层:
“
第一层——必须有的(MVP):
添加宠物档案(名字、品种、生日、头像)
记录四种养护数据:喂食、排便、体重、用药
日历视图查看历史记录
疫苗档案第二层——有了更好,但不影响核心流程:
周报(模板化,不用 AI)
品种指南(33 种常见宠物,静态数据)
成长相册(本地照片管理)
云端备份第三层——个人主体做不了的,直接放弃:
AI 问诊 / 症状识别
AI 周报 / 喂养建议
社区 / 商城
砍完之后,MVP 就四个功能。
剩下的第二层可以上线后再迭代,第三层等转企业主体再具体开发迭代。
需求清楚了,接下来是让AI做技术方案选型。
这块我花时间最多的一个决策是数据存储架构。
小程序的数据存储有几个选择:纯本地 Storage、纯云数据库、本地 + 云端同步。
我最后选的是本地优先,云端可选。
日常读写走本地 Storage,用户在「我的」页面手动触发云端备份/恢复。
这样日常使用完全不依赖网络,数据安全也有保障。
选这个方案有一个更重要的原因:以后如果要从云开发迁移到自己的后端,只需要改 utils/storage.js 一个文件。
// storage.js — 所有页面只调用这些接口,不直接操作 wx.getStorageSync
functiongetPets() {
return wx.getStorageSync(STORAGE_KEYS.PETS) || []
}
function getRecords(petId) {
return wx.getStorageSync(`${STORAGE_KEYS.RECORDS}_${petId}`) || []
}
function saveRecord(petId, record) {
const records = getRecords(petId)
records.unshift(record)
wx.setStorageSync(`${STORAGE_KEYS.RECORDS}_${petId}`, records)
}所有页面调用的都是 storage.getPets() / storage.saveRecord() 这样的抽象接口,不直接操作 wx.getStorageSync。
这样以后改成云数据库,页面代码一行都不用动。
思路梳理清楚之后,后面整个过程,基本就是在这个框架里填东西。
接下来就是利用 AI 出原型图。
原型图设计部分过程
原型图设计之前,我让AI 出了两份文档,一份是设计规范,一份是架构方案。

这两份文档,直接可以发给 GPT Image 2,让它做视觉优化。


AI不到两分钟,第一版就把我满意的设计做了出来。
大概经过几轮battle,把最终 UI 定下来。
然后就是让Workbuddy继续做苦力,调试一一替换,我只需要把做好的觉得有问题的让 ChatGPT 再分析优化调整迭代。
UI 设计这块,如果你想设计的非常好看,就需要多花时间去让AI来打磨细节。
最终大概就是如下所示的原型设计图:




UI 完成以后,接下来就是正式进入AI开发阶段了。
AI 开发的部分过程
这部分其实需求明确以后非常简单。
就是将需求沟通阶段形成的需求文档、设计方案、UI设计稿等让AI去读取分析并进行代码实现。
AI 其实只要你指令明确无歧义,文档齐全,开发是最简单的事。
必须的文档列表如下
- 项目需求文档(PRD/愿景)
定义要解决什么问题、给谁用、核心功能及成功指标(如准确率、响应速度)。—— 方向错了全白干。
- UI/UX 设计稿与交互说明
包含页面布局、操作路径、状态反馈(加载/成功/错误)、以及输入框/按钮的具体行为。 否则开发和测试无从下手。
- 技术设计/架构文档
说明整体系统模块(数据管道、模型服务、接口)、选型理由(模型、框架)及关键流程。—— 开发人员按此编码。
- API 接口文档(外部服务必须)
清晰列出所有对外接口的输入、输出、错误码和调用示例。无论是前端还是其他服务调用,没这个没法联调。
- 部署与运维文档(后期必须)
包含环境配置、启动命令、监控指标(延迟、资源)、回滚步骤和告警策略。—— 保证上线后能跑、能修。第一个指令是这样的:
按需求、设计、技术文档进行开发“
Workbuddy给出了代码,和建议,你按它说的代码写完导入微信开发者工具,然后测试反馈,有任何问题直接与其沟通即可,比如我经过测试看到了一堆问题,没有技巧直接像下面这样说明即可,要不了几分钟他就给你完成了。

补上下文 + 说清楚计算逻辑
连续天数的计算逻辑:
1. 以今天为锚点(today = date.js 的 getToday())
2. 逐日递减,检查当天是否有任意类型的记录
3. 遇到第一天没有记录的,停止
4. 返回累计天数
日期比较统一用 date.js 的 getToday(),不要自己拼字符串。这次 WorkBuddy 改对了。date.js 里有一个 getStreak(petId) 函数,专门做这件事:
// date.js — getStreak 简化版
function getStreak(petId) {
const today = getToday() // 返回 '2026-07-05' 格式
let streak = 0
let checkDate = today
while (true) {
const records = getRecordsByDate(petId, checkDate)
if (records.length > 0) {
streak++
const d = new Date(checkDate.replace(/-/g, '/'))
d.setDate(d.getDate() - 1)
checkDate = formatDate(d)
} else {
break
}
}
return streak
}功能跑通之后,我发现两个边界情况没处理:
-
新用户,没有任何记录:
getStreak()返回 0,页面显示「连续 0 天」——这看起来很奇怪,应该显示「还没有记录哦」 -
只记录了一天:
getStreak()返回 1,显示「连续 1 天」——这个是对的,但后来改成了「今天开始记录啦 🎉」
从第一版指令到最终代码,这个功能的开发经历几十轮下面这样的对话。也就个把小时时间。

“
如果不是用
Workbuddy,每一轮都要手动改文件、保存、编译、看效果,几十次下来至少几天时间。用
WorkBuddy的话,每轮大概 2-3 分钟,主要是改指令和验证结果的时间。
开发完成以后,最后就是如何上线的问题,这一步也会卡很多人。
小程序上线过程
这部分是我踩坑最多的。
小程序从「代码写完」到「用户在微信里搜到」,中间隔了一个管局备案审核,而这个审核有时候挺难预测的。
上线前的时间线
先把整个时间线说清楚,心里有个预期:

真正拖节奏的,不是开发,是备案和审核。
但这段等待时间也不是只能干等。
备案审核:初审提醒,原因是类目问题
我第一次提交审核时,在 mp.weixin.qq.com 后台填的类目找不到完全匹配的,但它能选5个,我就把我能想到相关的都选上了。
初审电话审核反馈是:
“
你的小程序若涉及宠物健康管理,需要补充相关资质证明。
我问了下,宠物健康管理如果涉及「健康建议」「症状判断」,需要提供兽医相关资质。
但我的小程序只是记录功能,不给建议,理论上不需要资质。
当场电话沟通时就可以协助将类目调整为合适的类目 。
当天初审通过,等待管局审核即可。
第N次代码发布审核:被拒,原因是「头像上传未校验敏感性及图片安全」
代码发布我发布了几十次,一般当天都是三小时内都会成功,唯一一次失败如下:

解决方法: 将这段内容复制,丢给AI,让他自己去接入安全API即可。
用户隐私保护指引设置: 原因是隐私协议。
每次代码提交审核都会进行代码审核进行安全测试。


“
微信的要求是:如果你的小程序涉及用户信息收集(即使只是存在本地 Storage),也需要在 mp 后台填写隐私保护指引。
解决方法:
-
按指引如实填写并更新隐私协议即可
-
若提交的指引内容不合规,会影响审核结果。
审核通过后,小程序正式发布。
备案等待期,别空着
“
ICP 备案那 3-7 天,其实是最适合打磨产品的时候。
我那几天一直在点自己的小程序。
哪里不顺手了,哪里出 bug 了,哪里看着别扭了,就截图、提问题、继续让 AI 改。
等备案结束的时候,产品已经不是最初那个版本了。
它被来回磨过好几轮,稳定性、顺手度、完成度都高了不少。
流程慢,不代表你自己也要慢。
最后想说的话
开发完这个小程序回头看,这整个过程其实没有想象中那么复杂。
一个人,一个 AI 助手,一个微信开发者工具。
再加上一点耐心,把一个模糊的想法,慢慢推成了一个真的上线了的产品。
它没有那么完美,
但它足够真实。
而我越来越相信一件事:
很多人和结果之间,缺的不是能力,缺的是一次真正下场。
如果你也有一个一直想做、但还没开始的东西,
别再只停在想那里了。
躬身入局,把手弄脏,
先把第一版做出来。
很多事情不是想清楚了才开始,而是开始了,才会越来越清楚。
AI 时代,每个人都可以做一个好产品,成为一家优秀的公司。
这是最好的时代,每个人都有机会实现大翻身的时代。
我是维克兹,前程序员、现创业者。
目前主要关注 AIGC 人工智能,资深燃劲AI鼓励师,希望分享好用的AI工具,AI应用技能,激发你对AI的好奇。