独立开发周记 · 2026-05-04 → 2026-05-10

独立开发方面,得益于五一小长假,本周九个项目同时推进,共 189 个 commit。最显眼的两条主线:muicv 一周从 v0.1.5 连发到 v0.2.9(9 个版本),把语音输入、本地 whisper.cpp、云同步加密一口气补齐;free-ai-api 同步完成了 Xiaomi Mimo、Vercel AI Gateway、Cloudflare Workers AI 三家模型的批量接入,并把站点的 i18n 从中英扩到 6 语言。另外 postplus-opencode 这个本周新起的项目,已经从空仓库推到了能在 Cloudflare 上跑起来。


muicv(53 commits)

本周主战场。一周之内桌面 app 从 v0.1.5 一路连发到 v0.2.9 ——九个版本号,每个都有实质内容,不是凑数。

主线一:语音输入闭环/audio/transcribe 走 Workers AI 的 Whisper、按分钟计费先上线了云端版(M1),紧接着把 record_and_transcribe_response 做成 agent tool 接进 chatbox(M2),然后用 plugin 模式把 whisper.cpp 嫁接进去做本地引擎(M3),最后落了一个录音复盘 skill muicv-audio-review(M4)。v0.2.0 直接把这套作为版本主题发出去了。

主线二:围绕 macOS 桌面端发布,前两天在 CI 上踩了不少签名/公证的坑:把签名 secret 改走 $GITHUB_ENV、用 security import 验证 p12(绕开 OpenSSL legacy 那个坑)、限定 mac-only job——总算把签名公证全链路打通。然后 v0.2.5 把 electron-updater 接进去做自动/手动更新,下载页也接了公共 Header/Footer,跟营销页对齐。这方面回头会专门写博客介绍。

主线三:Chatbox 体验大更新。v0.2.1 加了附件上传 + 拖拽,core 那边接对话简历自动分析;v0.2.4 把图像附件、粘贴、预览 dialog、自适应高度、右键菜单一次性补全。然后确定把上下文限制落地,说实话我没想到 OpenAI Agent SDK 竟然没有默认集成,不过想想也简单,SDK 无法确定使用什么模型,确实不好默认开启。现在的上下文是:v0.2.2 256K context + 80% 自动压缩阈值。上下文也比较像样了。

末尾两天还做了两件事:一是 客户端加密的云同步,服务端只看密文 blob,密码不出客户端;二是把 muicv-generate skill 内嵌了 P0 自检循环,告别原来动辄 5 轮 critique 才堪堪可用的尴尬。同时把 gpt-5 系列的缓存费率校正到 10%,咱不指着这个挣钱。

free-ai-api(44 commits)

之前突然意识到“免费/free AI API”很可能会在未来得到持续增长,于是开始开发这个资讯站。这周终于把数据模型弄好,接下来再把网站框架搭好,下一步就是慢慢加内容。

本周的核心工作是:通过批量接入模型,摸索网站模型的搭建。分了三波:

  • Xiaomi Mimo 全家桶:从首批 Mimo Text 跑通,到 V2.5 Pro 与 V2.5 Multimodal、TTS 2.5 + VoiceClone + VoiceDesign 全部 enrich 进库;

  • Vercel AI Gateway:把它从「自由 free 模型列表」重构成 provider 形态,先接 deepseek-v3、gemini-1.5-pro、llama-3.1-70b,然后做了两轮 mass ingestion,把 2026 flagship 模型全灌进去,最后做了 SEO 标题优化、剥掉 NO BYOK 标签;

  • Cloudflare Workers AI:补完它的免费模型列表与各模态,用来示范同一个 Model 在多个 Provider 上复用的架构。

为了支撑这些,数据模型动了大手术:把 Models 和 Providers 解耦成独立 collections、squash 了一波 D1 migration、最后落到 model-centric pages + provider 提交表单。社区提交侧(Phase 3)也补齐了:表单 + 动态 OG 图。

第二条主线是 i18n 扩容:从 zh/en 起步,本周扩到 pt / es / th / vi,加了 LanguageSwitcher,再补完所有 6 语言的翻译命名空间和组件适配。这个网站不仅要通过广告挣钱,也要为 AI 科技平权做贡献。

零碎的还有:把 frontend 路由从 /api 改名 /endpoint 避免和 Payload 冲突、给数据密集页面切到动态渲染防止预渲染空白、用 @coss/ui 的 Badge 替换自制 tags、修各种 breadcrumb 与栅格 blowout。

dnd / 肉团长(33 commits)

这周把游戏主链路从一团散件变成了可跑的形态。

架构层面做了两件大事:

  1. 合并 play 和 website——vibe coding 常见错误,没仔细看 plan,导致开发的结果跟想象不一样。所以我完全不需要一个网站+一个游戏子域名,全部放在一起就好。而 OpenCode 跑 DM 只需要原生基础上小修改,不需要开发太多东西。

  2. 把 website 与 play 迁到 OpenNext Cloudflare——跟前面类似的问题,OpenCode(开发版)+GPT-5.4(copilot版) 也没有完全搞明白我的要求,所以部署时才发现它没有很好的集成 OpenNext,所以花了不少时间调整。

opencode 这条线变化最大。从 Basic Auth 切到 Cloudflare Access Service Token;play 调 website 改走 Cloudflare service binding,扔掉 INTERNAL_SERVICE_TOKEN;VPS 上的 agent-server 用 systemd 部署(适配小内存机器),并用 @opencode-ai/sdk 重写了 HttpOpencodeAdapter

业务侧推进了模组创作流程:admin / editor / skill 注入 / 玩家物化几条线打通;游戏运行时则合并到 website 里。

目前等待人工测试验证。——又是 Vibe coding 的一个常见卡点。

postplus-opencode(20 commits)

这是本周新起的 AI Agent 项目,龙虾型服务器产品,专攻 marketing,公司业务线之一。从空仓库到 Cloudflare 上能跑起来的产品形态。技术栈:opencode + assistant-ui + postplus-skills + Docker Compose + Cloudflare Tunnel。

进度推进非常密集,几乎按 phase 编号一天一阶段:

  • Phase 1:scaffold;

  • Phase 2:SSE 流式 + 工具调用展示 + artifact 全格式预览;

  • Phase 3 / 3.5:会话列表 + 历史重看 + URL 路由 → 切到 React Router v7 + zustand + 骨架屏;

  • Phase 4:Cloudflare Tunnel + Docker Compose;

  • Phase 6:project + 文件上传,session 嵌套在 project 下;

  • Phase 7:project / session 重命名删除,opencode.json 挪出 volume 锁。

中间踩的坑也都值得记一笔:static-server 反代两端要剥光 hop-by-hop headers 才能让 SSE 在 HTTP/2 下不报 duplicate header;event.subscribe 必须带 directory query 否则收不到 message 事件;compose 的 workspace 卷要可写否则 project 创建直接 EROFS。最后把工具调用渲染成可折叠卡片,UI 也告别「一坨 markdown」。

但是目前还是挂着的,因为会 死!循!环!两天烧了我 $60,哎……

dyqr(24 commits)

短链 / QR 码产品本周的主题是「做得像个正经产品」。

公共页面侧:使用开源设计 skill 优化整个设计,提升用户体验。site-header 加 mobile 汉堡 + Get Started 主 CTA、首页 hero 文案重写、QR Code 拼写规范化、pricing 页 6 语言 i18n + Pro 高亮、博客 header 入口回归 + 按语言筛选、og:image 自动生成 + twitter card 升级、暗色 input 文字可见性修复——一连串小但密集的体验和 SEO 修补。

后台与归因侧:用户详情页 + Storage/Clicks 诊断卡、修复点击事件统计端到端故障、admin entitlements 改可排序表格并把筛选条件持久化到 URL query、cross-subdomain cookie 替换 localStorage 存 ref/ch、回填 4/29–5/9 的扩展归因数据、最后修复 admin/referrals 用户明细 + 时间筛选 + CSV 导出,以便将来给渠道结算。

中间还顺手做了一轮维护:升级低风险依赖、@types/node 降回 ^22、整理 .gitignore 与文档,并把两个红线文件拆开。

mui-memo(6 commits)

语音清单的 RN app + web 两端都动了。app 端加了浅/深/极简/跟随系统四种主题切换、升级 pnpm 11、修了 RN simulator metro 的解析问题,eas-cli 也从 global 装到项目本地(避开 pnpm global store 的 require 坑)。AI 侧把「改任务确认 + 一句多事自动拆分」做成了 actions[] schema;同时把 intent-eval 测试改成 opt-in,避免常规 pnpm test 跑 AI 调用。web 端把整个站点「重定位为语音清单」,新增 /pricing /support 页面,准备 App Store 提交资料 + /contact 预填邮件模板。

下一步就是提交 App Store 审核发布。

blog-2026(4 commits)

本博客系统自身的小整理:首页应用按更新时间排序、admin 后台的博客列表改成分页表格、草稿优先显示,并清掉了遗留的 Notion 同步工具。i18n 那侧关掉了 localeDetection,让 URL 直接决定语言,避免被浏览器偏好误导。

app-feedback(2 commits)

小工具型项目。这周把 admin 加了一个手动触发的「Gemini 翻译」按钮,触发后把反馈翻译写回库,方便我看非中文反馈;另外修了一个 model name 写错的小 bug。


以上都是我的 side project,公司的项目就不记录了。

又是忙碌的一周,有了 Vibe coding 之后,产品做到飞起,比打游戏还爽。今天看到篇文章,说做了 65 个 app,积累到 $4200/m 的收入,我觉得挺好的,我也想走这条怒。

觉得文章有帮助?

如果我的分享对你有所启发,欢迎通过赞助来支持我持续创作。

❤️ 赞助我

评论