我用AI写了一个完整的Windows桌面软件——Codex vibecoding 实战复盘
零编程基础?没关系。本文分享我用 Codex CLI 从零开发个人工作助手的真实经历,不讲技术细节,只讲心法和踩坑。
一、这是个什么软件?
一句话:离线Windows桌面软件,管人、管事、管资料。
功能包括:人员管理、活动记录、日历提醒、甘特图排期、文书模板一键生成Word、本地PDF/Word全文检索。数据库加密,数据存在本地,即插即用。
听起来像是一个团队花几个月开发的东西?我一个人 + Codex,断断续续两天搞定。

二、成功的关键:PRD 写得好
很多小白以为AI编程就是”帮我写个软件”,然后等着奇迹发生。
大错特错。
我在动手之前,先花时间写了一份详细的产品需求文档(PRD),包括:
-
产品定位和目标用户 -
每个模块的具体字段和交互逻辑 -
提醒规则(生日提前3天、纪念日提前1天) -
UI风格(Outlook式深蓝商务风)
Codex不是读心术师。你给的上下文越清晰,它产出的东西越靠谱。垃圾输入=垃圾输出,这条铁律在AI编程里同样成立。
三、最让我惊喜的地方
3.1 从数据库到界面一气呵成
我说”人员管理要有姓名、性别、出生日期、部门这些字段”,Codex 自动建了 SQLite 表、写了增删改查、画了 DataGrid 表格界面,连 Excel 导入导出都带了。
一句需求 → 全栈落地,这是传统开发效率的10倍。
3.2 甘特图自适应日期
我说”甘特图上面要显示日期尺度,自适应任务的时间跨度”,它真的做出来了——根据最早和最晚任务自动铺满横轴,不同优先级用不同颜色。
3.3 文书模板秒出公文
活动方案、请示、新闻稿,选模板 → 填关键信息 → 导出Word,格式符合公文规范。省去了每次从零手写的痛苦。
四、踩过的坑(重点!)
坑1:中文编码是隐形杀手
这是整次开发中折磨我最久的问题。代码里的中文在某些环节会变成乱码,导致密码验证永远失败、界面列名变成”??”。
教训: AI 操作文件时,中文编码需要特别交代。XAML 文件必须带 BOM,.cs 文件不能带——这种细微差异 AI 自己不会主动告诉你。
坑2:AI 的”批量替换”会误伤
我只是想删掉所有”工号”列,AI 用一个正则替换操作,结果把整张表的列全清空了,界面变成一片空白。
教训: 让 AI 做批量修改时,一定要它先展示”改什么”,别直接放手让它改。改动完成后立刻验证,别等最后一起测。
坑3:自包含发布 ≠ 普通编译
我以为编译通过就完事了,拷贝exe到目标电脑上提示”需要安装.NET”。原来需要 dotnet publish --self-contained 才能打包成绿色免安装版。
教训: 向 AI 明确提出”需要即插即用、不依赖系统安装 .NET”,它才会用正确的发布方式。
五、给想用 Codex 的小白的建议
1. 写好 PRD 再动手。 哪怕只是记事本列几条,也比一句话描述强10倍。
2. 一个功能一个功能来。 别一次提十个需求,先做完一部分再做另一部分,逐个验收。
3. 每次改动完立刻看效果。 别攒到最后——AI 改错了你当时不发现,后面更难排查。
4. 交代清楚运行环境。 “离线Windows 11、即插即用、中文界面”这些约束从一开始就要说死。
5. 做好备份。 AI 改代码有时会翻车,定期备份数据库和源码,随时可以回退。
6. 耐心。 AI 不是魔法,有些问题需要反复沟通、尝试。把它当成一个超级勤奋但有时会犯低级错误的新同事。
六、写在最后
两天时间,一个完全不懂WPF和SQLite的人,做出了一款能真正干活的生产力工具——这在两年前完全不可想象。
Codex CLI 这类工具最大的价值,不是替代程序员,而是让有想法但没编码能力的人,也能把自己的需求变成可用的软件。
如果你也有一个”要是有个软件能帮我……”的想法,不妨试试。写好需求,打开 Codex,开始你的第一次 vibecoding。
夜雨聆风