桌面吉祥物示意图

笔者小时候的梦想是创办一家软件公司。1996年Windows 95发布前后,电视上不断播放关于微软创始人比尔·盖茨的新闻和专题,软件公司看起来很有趣,老板又很富有,这让当时的我充满憧憬。

然而,想要创办软件公司,首先得学习软件开发,尝试自己写程序。于是我买了很多编程书籍,试图学习,但完全无法想象自己能写出软件。问题并非没有想法,而是书中讲的函数、指针、栈等概念与我梦想中的软件毫无关联感。

回头看,可能是买的书不合适,或者选择的编程语言(C语言)不适合初学者。对完全不懂编程的人来说,根本不知道该学什么,编程世界显得格外迷茫。或许其他行业也有类似情况。

现在AI能帮你写软件了

近年来,用户只需用语言描述想要的软件形态,AI就能帮忙编程,这种方式被称为“Vibe Coding”(氛围编码)。AI与计算机、编程天然契合,利用它来做软件开发变得切实可行。

虽然我并不打算因此创办软件公司,但我有一个“没人帮我做但我很想要”的软件需求——一个能与本地大语言模型(LLM)轻松对话的桌面吉祥物。

本地LLM软件的代表是日本微软的“LM Studio”,但我想要的是简单的聊天和闲聊,不想用那种复杂的界面,也不想频繁切换窗口。桌面吉祥物可以让我边工作边聊天,体验更自然。

此外,利用NPU推理可以降低功耗。之前介绍过“AnythingLLM”和“Foundry Local”的组合,后来读者告诉我,Intel官方的“AI Playground”也支持NPU推理。不过这些软件界面都太大,我还是不太想用。

于是,我决定用Vibe Coding打造一个“能与本地LLM对话的简单桌面吉祥物”。

根据之前的文章,Foundry Local负责运行LLM,根据模型选择自动切换CPU、GPU、NPU。启动后它作为服务器,提供兼容OpenAI API的接口。

因此,我让AI帮我做的应用只需实现以下四个功能:

  • 显示角色形象
  • 提供聊天输入框
  • 用对话气泡显示LLM回复
  • 调用OpenAI API进行数据交互

理论上,这样就能运行。

我是新手,只给AI最简单的指令

确定需求后,我用免费版ChatGPT发出指令:

“Windows上已运行Foundry Local,支持NPU推理。请帮我做一个能与桌面吉祥物闲聊的应用。

  • 输入框小巧
  • 用气泡显示对话
  • 我会准备三张表情图(普通、悲伤、开心),根据回答自动切换
  • 气泡大小根据回答长度自动调整”

ChatGPT给出了建议:

用Windows平台的WPF(C#)开发最简单,气泡UI、图片切换和大小调整都方便实现。

整体结构:

  • UI:WPF
  • 推理调用:Foundry Local本地API(HTTP)
  • 情感判断:简单关键词或评分即可
  • 气泡:用TextBlock和Border实现自动大小

它还给了两份代码文件(UI和逻辑),告诉我图片放哪,并建议增加打字动画、窗口拖动、改进情感判断等。

但ChatGPT忘了我几乎没编程经验,光给代码我都不知道怎么编译,MainWindow.xaml和MainWindow.xaml.cs是什么?我只好继续问它。

代码示意

它详细告诉我如何用Visual Studio打开MainWindow.xaml,清空内容,粘贴代码,如何编译运行。

我还让它帮我生成了角色图像。

角色图像

出错了?没关系,让AI帮我修复

准备好XAML、C#和图片后,打开Visual Studio,发现有几个错误。把错误信息贴给ChatGPT,它帮我修复了:

  1. XAML开头格式错误
  2. JSON解析失败(ChatGPT没理解Foundry Local端点)
  3. 气泡顶部被截断

尤其是第二点,ChatGPT不知道Foundry Local兼容OpenAI API,折腾了半小时才解决。其他问题修复顺利。

ChatGPT通常只给代码差异,不告诉我插入位置,我就让它给我完整代码。

修复界面

修复完毕后,应用原型完成,耗时约1.5小时。如果一开始告诉它是OpenAI API兼容接口,可能1小时就搞定。

应用也能切换到LM Studio等兼容端点运行。

应用界面

后来开源项目“Kimi 2.6”发布,代码质量很高,我把代码迁移给Kimi,后续开发就靠它了。

发现BUG?那是“设计”

应用能用,但还有不少问题:

  • Foundry Local没启动就会失败
  • 端口号随机,应用写死导致连接失败
  • 不能选择模型,只能用命令行加载
  • 角色不眨眼
  • 等待LLM回复时无提示
  • 消息显示前不支持滚动长文本
  • 输入框和气泡显示不协调
  • 只能用Alt+F4关闭
  • 关闭应用后LLM仍占用内存

这些对用户来说是BUG,但其实我没让AI实现这些细节,AI只是实现了我最初简单的需求。

我和Kimi继续完善,它自动帮我生成了设置界面,可以指定Foundry Local的URL、端口和模型,避免界面混乱,体现了对桌面吉祥物定位的理解。

设置界面

端口随机问题一直没解决,换了多个人工智能助手,最后Claude帮我发现是死锁问题,轻松解决。

Claude调试

Foundry Local刚于2026年4月正式发布,相关经验不足,难怪遇到问题。其他功能如眨眼动画、快捷关闭等都能一次实现。

ChatGPT免费版倾向节省上下文,常只给代码差异,自己找位置粘贴容易出错。Kimi则喜欢直接给完整代码,使用更方便。

完整代码

目前应用关闭时不判断其他程序是否使用LLM,直接卸载内存,也没有复杂动画和情感判断。毕竟是自用软件,暂时够用,未来可能扩展。

后来才知道有个叫“CocoroAI”的桌面吉祥物,也能调用本地LLM,功能丰富,但3D效果占用CPU/GPU资源大,不适合笔记本常驻,自己做的更轻便。

让AI帮忙设计规格,结果崩溃了

我想:“不如让AI一次性设计所有规格并实现吧!”

于是让Kimi帮忙制定规格。它自动查Foundry Local资料,制定了包括情感状态变化、语音对话、天气获取、开机自启、上下文保持等复杂功能的第一阶段计划。

复杂规格

它生成了14个文件的庞大代码,我按指示在Visual Studio新建项目,逐个复制粘贴。

结果我成了AI的奴隶,AI只花一分钟生成代码,我却花五分钟建文件粘贴。也理解了为什么有Codex、Claude Code、Kimi Code等自动写文件工具。

【8:15更新】Codex免费额度可用,故修改说明。

虽然期待AI设计的最强吉祥物,但复制粘贴后满是错误。Kimi修复不了,我用公司Google Workspace的Gemini 3.1 Pro逐条排查(Claude当天额度用完)。

最终能启动,但角色不再用气泡回答,而是用聊天窗口,且用Windows自带的带口音日语语音播报,体验很差,既不想用也不想改。算是AI全自动版本的纪念。

AI全自动版本

重新体会“自己做想要的软件”的乐趣

体验Vibe Coding后,我发现即使AI与计算机高度契合,编程仍不完美。它会犯低级错误,比如函数拼写错误、误删方法等。但只要指出,它能修正,像和同事协作一样愉快。

每个人都有无限潜能和梦想,但技术门槛阻挡了实现。如今有AI,这道墙可以跨越。对像我这样有想法却无编程基础的人,Vibe Coding是一束光。

如果你有“没人关注但自己非常想要”的软件创意,不妨和AI聊聊。反复尝试,看到自己想要的软件运行的瞬间,那份激动不亚于当年接触MS-DOS和Windows 95时的兴奋。