最近又搞了些什么:小小农场、声创 Muse 与一言的新进展

一个 Canvas 种田游戏、一个 AI 创作伴侣、以及一言的 Chrome 插件 —— 最近两个月的三个项目回顾。

距离上一次项目回顾已经过去了小半年,这段时间又陆陆续续搞了三个东西:一个种田游戏、一个 AI 创作伴侣、以及给一言加了些新功能。和前几次一样,写篇文章记录一下。

🌾 小小山谷农场 —— 从零开始的 2D 种田游戏

仓库:DanZai233/tiny-farm

这个项目的缘起很简单:我一直很喜欢《星露谷物语》那种种田游戏的核心循环——锄地、播种、浇水、收获、卖钱、买更多种子。但星露谷太大了,大到有时候打开都需要一点心理准备。

于是我想:能不能做一个「最小版本」?一个打开就能玩、关掉也不用惦记、但又能保留核心乐趣的种田游戏。

小小山谷农场就是这么来的。它是一个纯 Canvas 渲染的 2D 种田游戏,没有任何依赖,一个 index.html 就能跑起来。目前已经到了 Prototype 1.6,功能比我一开始预想的多不少。

不只是种田

游戏现在有一套完整的经营循环:

  • 四种作物(萝卜、小麦、草莓、南瓜),跨天成长
  • 体力、金币、种子背包、作物背包
  • 商店买种子、出货箱卖作物
  • 四季系统(每季 28 天,春夏秋冬循环)
  • 天气系统(晴天、多云、雨天、冬雪)
  • 浏览器本地存档,支持导出 / 导入

两个 NPC 和她们的日常生活

游戏里有两个 NPC:莉娜米娅

莉娜是农场的第一位帮手,可以和她对话、每天聊天、送礼、提升好感度。她还能开启托管模式——自动锄地、播种、浇水、收获、买种子、卖作物、睡觉。你关掉页面后,她会继续干活,再次打开时会结算最多 8 小时的离线农活。

米娅是后来加入的访客 NPC,会来农场协作。两人各有自己的生活节奏和好感度事件(20 好感时各有一段专属剧情)。

周末集市与果酱工坊

游戏里每 7 天会有一个河畔集市。12:00 开市后,莉娜和米娅会步行前往摊位,农产品和鸡蛋按 1.5 倍售价自动结算。摆摊后两人还会一起逛集市,提升心情和好感。

声望达到 40、攒够 900 金币后,还能解锁果酱工坊。把多余作物送入工坊,隔天取回果酱,果酱价值高于原作物,也能在集市享受加价。

成长系统与年末评价

1.6 版本加入了成长系统:动态下一目标引导、成长手册(第一年目标 + 作物图鉴 + 10 项成就),走完第一年的 112 天后会生成年度评价和纪念奖励。

还有一个相当完整的托管设置面板:四种策略(均衡、委托优先、收益优先、慢生活)、三档演出速度、可调离线时长。

技术细节

这个项目的有趣之处在于——它没有任何构建工具。就是一个 index.html + game.js + styles.css,纯 Canvas 渲染,所有游戏逻辑写在一个 190KB 的 JS 文件里。另外还做了一个 Chrome 扩展版本,Manifest V3,点击图标就能打开游戏。

这种「零依赖、零构建」的开发体验和平时写 React 项目完全不同。没有热更新、没有 TypeScript、没有什么最佳实践——就是写代码、刷新浏览器、看到结果。效率意外地高。


🎙️ 声创 Aicho Muse —— AI 创作伴侣

仓库:DanZai233/aicho-muse | 线上:muse.danzaii.cn

如果说小小农场是一个「小而美」的玩具,那 Aicho Muse 就是一个正经的全栈应用了。这是我这段时间投入最多的项目。

它是什么

Aicho Muse(声创)是一个面向创作场景的 AI 写作伴侣。你可以通过语音或打字与一位人设、性格、声色完全自定义的 AI 助手对话,在聊天过程中完成小说、散文、自传、诗歌等文学作品的创作。

核心思路是:AI 不只是「生成器」,更是你的创作缪斯——给你反馈、建议、鼓励,陪你一步步把作品打磨成型。

核心功能

自定义人设系统。你可以创建自己的 AI 助手人设——性格、说话风格、口头禅、价值观、擅长领域、开场白,全部可配。还支持 AI 一键生成完整人设,也可以基于预设克隆修改。编辑人设时可以先「试聊」验证语气,不用保存就能测试。

Fish Audio 语音集成。默认 TTS 接入了 Fish Audio s2.1-pro-free,支持 83 种语言和情绪控制。还有一个音频广场,可以搜索、试听、收藏官方音色库里的声音。声音克隆也做了(上传 10-60 秒样本 + 授权)。

以书为中心的创作流程。每本书有封面(书名 / 副标题 / 作者署名 / 封面色)、目录、章节树。书页式写作视图,编辑器和聊天面板左右分栏。Diff 采纳功能——AI 回复按段高亮 diff,可以逐段采纳或全部写入。

多人协作。邀请码加入同一本书,owner / editor / viewer 权限分层,正文实时同步,远端光标精确到行内。

智能上下文注入。每次对话自动注入当前大纲(≤12 条)和人物卡(≤10 张),AI 始终围绕你的设定创作,不偏题。

其他功能还包括:长期记忆、写作报告、多语言创作(简 / 繁 / 英 / 日 / 韩 / 法 / 德 / 西 / 俄)、Markdown / PDF / DOCX 导出、PWA 离线支持、管理后台等等。

技术架构

这是目前我做过最完整的全栈项目:

  • 前端:React 18 + TypeScript + Vite + Tailwind CSS,响应式三栏工作台
  • 后端:Node.js + Express,JSON 文件 / MySQL 双模式持久化
  • 部署:Docker Compose 一键起 MySQL 8 + 应用,多阶段镜像构建
  • AI 层:UniLLM SDK 统一接入 14+ 厂商(OpenAI / Claude / Gemini / 豆包 / DeepSeek / Kimi / 通义 / 智谱 / Grok / Ollama 等)
  • 语音:浏览器原生 Web Speech API,可选 OpenAI 兼容 TTS/STT 代理

不配置任何 AI Key 时,会自动使用内置的创作缪斯规则引擎,功能照常可用。


💬 一言 PRO —— Chrome 插件与新功能

仓库:DanZai233/Hitokoto | 线上:hitokoto-omega.vercel.app

一言 PRO 之前写过一篇单独的札记,这里只提一下最近新增的东西。

Chrome 扩展

给一言做了一个 Chrome Manifest V3 弹窗插件。点击扩展图标,弹出一个简洁的面板,随机展示一句话,支持复制、朗读和收藏。离线可用,完全基于本地静态句库。

构建命令 npm run build:extension,产物在 dist-extension/。还准备了 Chrome Web Store 上架材料(npm run prepare:store 生成 zip 包 + 商店文案 + 截图)。

体验优化

这轮还加了更多氛围背景预设、优化了 Zen mode 的自动播放体验、在首页补了 GitHub 和来源链接。句库方面,从 hitokoto-osc/sentences-bundle 导入了公开句子包,目前总共 8000+ 条短句,覆盖二次元、文学、哲思、影视、游戏、音乐、网生七个分类。


小结

三个项目,三种完全不同的开发体验:

  • 小农场是纯 Canvas 游戏,零依赖零构建,回归最原始的「写代码 → 刷新 → 看结果」循环
  • Muse是正经的全栈应用,前后端 + 数据库 + Docker + AI 编排,架构完整度最高
  • 一言是轻量级小站 + Chrome 扩展,持续打磨体验

做完这些之后的感受是:项目的大小和复杂度不重要,重要的是每个项目有没有把「它应该做的那件事」做好。小农场不需要数据库和用户系统,Muse 不能只是一个 API wrapper,一言就应该安安静静地给你一句话。

接下来小农场计划加节日事件和音效,Muse 还有很多想做但没排上的功能。不过在那之前……我应该先歇两天 😂


所作,皆为热爱;所为,皆有所成。

Powered by Hugo & Stack