Vibe Coding 四个开源项目复盘:从想法到可运行产品的 AI 协作方法

核心结论:Vibe Coding 真正有价值的地方,不是“让 AI 替你写代码”,而是把一个模糊想法快速推到可运行、可复现、可维护的状态。最近我借助这种方式连续做了四个开源项目:daily-aiterm-cheathtml-pptclaude-desktop-buddy-bridge。它们看起来方向不同,本质上都在解决同一个问题:把个人工作流里反复出现的痛点,沉淀成可以复用的工具。

Vibe Coding 四个开源项目地图

为什么要把这四个项目放在一起讲

这四个项目不是一次性规划出来的“产品矩阵”,更像是连续几次真实需求驱动下的工程实验。

  • daily-ai:每天自动抓 GitHub 热门 AI 项目,用本地 LLM 总结后推送到微信。
  • term-cheat:把 Vim、tmux、kitty 的常用快捷键做成一个可搜索、可收藏、可复制的在线速查表。
  • html-ppt:用纯 HTML/CSS/JavaScript 做技术培训课件,浏览器打开即可演示。
  • claude-desktop-buddy-bridge:把 Claude Code CLI 的敏感操作审批接到 M5StickC Plus 实体设备上,用按键 approve / deny。

它们分别覆盖了信息获取、终端效率、知识表达、AI 安全控制四个场景。对我来说,这正好构成了个人 AI 工程化工作流的四个侧面:

项目 解决的问题 技术关键词 最适合借鉴的点
daily-ai 每天跟踪开源动态太耗时间 GitHub Actions、本地 LLM、Tailscale、PushPlus、uv 自动化信息摄取与本地模型总结
term-cheat 终端工具快捷键记不住、查找效率低 单页 HTML、localStorage、搜索过滤、复制 小工具产品化,离线可用
html-ppt 技术培训课件制作成本高、复用性差 HTML、CSS、JavaScript、GitHub Pages 把课程变成可交互网页资产
claude-desktop-buddy-bridge CLI Agent 敏感操作审批体验割裂 Claude Code Hook、BLE、M5StickC Plus、Python daemon AI 权限控制的硬件化与 fail-open 设计

项目一:daily-ai,每天自动生成开源项目早报

daily-ai 的动机很直接:GitHub 上每天都有大量新项目,靠人工刷 Trending、搜索 topic、看 README,效率很低,而且容易遗漏。

这个项目做了一条自动化链路:

graph LR
    GA[Actions 定时] --> GS[GitHub Search]
    GS --> PY[筛选项目]
    PY --> TS[Tailscale]
    TS --> LLM[本地 LLM]
    LLM --> SUM[中文摘要]
    SUM --> PP[微信推送]

它的价值不只是“定时推送”,而是把三个关键点打通了:

  1. 信息源可配置:通过 GitHub Search 查询语法控制主题,例如 topic:ailanguage:rustcreated:>=2026-03-01
  2. 总结在本地完成:模型跑在自己的机器上,GitHub Actions 只通过 Tailscale 访问本地服务。
  3. 交付到熟悉入口:PushPlus 直接推送到微信,不需要每天打开额外 dashboard。

我比较看重的是它的可调试性。项目里不只放了主脚本,还配了 debug_chat.pydebug_speed.pydebug_native.py 这类连接/API 调试脚本。很多自动化项目真正难的不是主流程,而是网络、token、模型服务、限流这些边缘问题。把调试工具也一起沉淀下来,后面复用成本会低很多。

适合扩展的方向:

  • 增加多主题订阅,例如 AI Agent、Local LLM、DevOps、IoT。
  • 对项目做去重和历史趋势统计,避免每天重复推送。
  • 把摘要分成“值得关注”“可试用”“仅观察”三个等级。
  • 接入 Notion,把高价值项目自动归档到知识库。

项目二:term-cheat,把终端快捷键变成可搜索工具

term-cheat 是一个典型的小而实用的 Vibe Coding 项目。需求很简单:做一个 Vim、tmux、kitty 快捷键速查表。

如果只是 Markdown 表格,当然也能用。但真正影响体验的是这些细节:

  • 顶部 Tab 切换三类工具。
  • 搜索框实时过滤快捷键和说明。
  • 常用项可以点星收藏,并保存到 localStorage
  • 点击快捷键行即可复制。
  • 分组可以折叠,搜索时自动展开。
  • Vim 条目带模式标签,例如 Normal、Insert、Visual、Command。
flowchart LR
    U[搜索过滤] --> TAB{Tab 切换}
    TAB --> V[Vim 快捷键]
    TAB --> TM[tmux 快捷键]
    TAB --> KT[kitty 快捷键]
    V --> COL[分组折叠/展开]
    TM --> COL
    KT --> COL
    V --> CP[点击复制]
    TM --> CP
    KT --> CP
    V --> FAV[星标收藏]
    TM --> FAV
    KT --> FAV
    FAV --> LS[(localStorage 持久化)]

这个项目说明了一个很重要的点:很多个人工具不需要后端、不需要数据库、不需要复杂框架,单文件 HTML 就足够交付。

Vibe Coding 在这种场景下非常合适,因为 UI 结构、数据组织和交互逻辑都比较明确。人的重点应该放在“到底哪些快捷键值得收录”“分组是否符合使用习惯”“搜索结果是否足够快”这些产品判断上,而不是一行行写 DOM 操作。

我会把这类工具归为“个人工作台组件”。它们未必需要做大,但能不断降低日常操作摩擦。

项目三:html-ppt,用网页方式沉淀培训课件

html-ppt 的定位是“轻量级 HTML 幻灯片演示工具”,用于技术培训讲义和交互式课程。

它的核心思路是:课件不一定非要用 PowerPoint 或 Keynote。对技术内容来说,HTML 反而有几个明显优势:

  • 代码、图表、交互演示可以直接放在页面里。
  • 版本管理天然友好,Git diff 比二进制 PPT 更可控。
  • 部署简单,GitHub Pages 或任何静态站点都能承载。
  • 学员无需安装软件,浏览器打开即可。
  • 同一份材料可以同时作为演示、讲义和归档。

项目目前已经有主页、课程卡片、ppts/ 目录和 htmlppt-prompt.md。更有意思的是,它不只是一个页面项目,也是一套”提示词模板”。也就是说,以后做新课件时,可以让 AI 根据这套规范生成统一风格的 HTML PPT。

flowchart LR
    PM[htmlppt-prompt.md] --> AI[AI 按模板生成]
    AI --> MC[主页 + 课程卡片]
    MC --> PP[ppts/ 课件目录]
    PP --> GH[GitHub Pages 部署]
    GH --> STU[学员浏览器打开]
    PP --> REUSE[模板复用]

这类项目的长期价值在于内容资产化。一次培训如果只留下一份 PPT,复用空间有限;如果沉淀成网页课件,后面就可以持续补充交互示例、链接、代码块、练习题,甚至接入在线测验。

适合的使用场景:

  • 内部技术分享。
  • AI 工具使用培训。
  • 本地大模型部署实战课。
  • DevOps、网络、IoT 这类需要图示和命令演示的课程。

项目四:claude-desktop-buddy-bridge,把 AI 审批搬到实体按钮

claude-desktop-buddy-bridge 是四个项目里工程味最重的一个。

Anthropic 官方的 claude-desktop-buddy 可以让 M5StickC Plus 变成 Claude 的物理审批按钮,但它主要面向桌面应用。CLI 用户的问题是:Claude Code 在终端里执行敏感操作时,审批仍然发生在命令行上下文里。

这个 bridge 做的事情是:

flowchart LR
    CC[Claude Code] --> Hook[Permission Hook]
    Hook --> Daemon[cdbb daemon]
    Daemon --> BLE[BLE NUS]
    BLE --> M5[M5StickC Plus]
    M5 --> Btn[approve / deny]
    Btn --> Daemon
    Daemon --> CC

它真正体现工程质量的点在边界处理:

  • 通过 Claude Code 原生 Hook 接入,不修改业务项目。
  • daemon 不运行时 fail-open,回退到 Claude Code 自己的权限对话框。
  • 自动扫描广播名以 Claude 开头的 BLE 设备。
  • 多个并发 hook 请求串行排队,避免抢设备。
  • 处理中文和非 ASCII 字符,规避固件点阵字体导致的崩溃。
  • 检测 EOF 竞争,Claude Code 提前终止 hook 时能清空设备显示。
  • BLE 链路异常后退出,由 launchd/systemd 接管重启。

这不是一个“炫技硬件小玩具”。它解决的是 AI Agent 越来越常见的权限边界问题:当模型可以读文件、写文件、执行 shell、调用网络时,人类审批不能只停留在终端里一行 y/N。把审批动作放到实体按钮上,会让“我正在授权什么”这件事更有仪式感,也更不容易误触。

这四个项目背后的共同方法

Vibe Coding 工程闭环

复盘下来,我认为 Vibe Coding 要想真正落地,关键不是模型多强,而是人的工程约束是否明确。

1. 先把问题说窄

不要一开始就说“帮我做一个平台”。这四个项目的起点都很窄:

  • 每天推送 GitHub AI 项目。
  • 查 Vim/tmux/kitty 快捷键。
  • 用网页做培训课件。
  • 用 M5StickC Plus 审批 Claude Code 操作。

问题越窄,AI 越容易一次生成可运行原型;原型越早跑起来,后面调试和迭代越有抓手。

2. 明确运行环境

个人项目最容易翻车的地方是环境假设不清楚。比如:

  • daily-ai 要考虑 GitHub Actions、Tailscale、本地 LLM 服务、PushPlus token。
  • term-cheat 要保证纯前端、离线可用、浏览器兼容。
  • html-ppt 要能直接部署到 GitHub Pages。
  • claude-desktop-buddy-bridge 要面对 macOS/Linux、BLE 权限、Claude Code Hook、launchd/systemd。

给 AI 的提示词里,如果不写这些边界,它会默认选择“看起来最顺手”的实现,而不是你真正能长期维护的实现。

3. 原型之后必须工程化

Vibe Coding 最容易造成一种错觉:页面出来了、脚本跑通了,就算完成了。实际不是。

一个项目真正可用,至少还要补上:

  • README:别人能不能 10 分钟内跑起来。
  • 配置:token、环境变量、端口、路径能不能清楚说明。
  • 错误处理:网络失败、权限不足、服务未启动时怎么表现。
  • 调试入口:出问题时有没有最小化排查命令。
  • 部署方式:本地运行、GitHub Pages、GitHub Actions、launchd/systemd 是否清晰。
  • 安全边界:涉及 token、文件写入、shell 执行、蓝牙权限时,默认行为是否保守。

这里 AI 可以帮你补很多样板,但判断是否足够可靠,仍然要靠工程经验。

4. 把提示词也当资产管理

html-ppt 里专门保留了 htmlppt-prompt.md,这件事值得长期坚持。

提示词不是一次性对话,它应该像脚本、配置和 README 一样被版本管理。因为真正可复用的不是某一次 AI 生成的代码,而是“以后如何稳定生成同类代码”的方法。

建议每个 Vibe Coding 项目都保留:

  • 初始需求提示词。
  • 关键约束提示词。
  • 代码审查提示词。
  • README 生成提示词。
  • 发布检查提示词。

当这些内容沉淀下来,下一个项目会明显更快。

我的实践清单

以后继续用 Vibe Coding 做小工具,我会按这个顺序推进:

  1. 用 5 行话写清楚项目目标、用户、运行环境、不能做什么、完成标准。
  2. 先让 AI 生成最小可运行版本,不急着加复杂功能。
  3. 本地跑起来,记录所有报错,不凭感觉修改。
  4. 让 AI 根据报错做定点修复,而不是整段重写。
  5. 补 README、配置说明、调试命令和部署方式。
  6. 做一次“安全与失败路径”检查:token、权限、网络、超时、回退。
  7. 把提示词和经验沉淀到项目文档里。

结语

这四个项目给我的最大感受是:AI 编程真正提高效率的地方,不是把程序员变成旁观者,而是把很多“从 0 到 1 的摩擦”压低了。

以前一个想法可能会停在 Notion 里;现在可以在半天到几天内变成可运行的工具。只要选题足够具体、边界足够清楚、工程收口足够认真,Vibe Coding 就不是玩具,而是一种很适合个人开发者和技术管理者的生产方式。

更重要的是,这些小项目会反过来强化自己的工作流:daily-ai 帮我发现新项目,term-cheat 降低终端操作成本,html-ppt 提升知识输出效率,claude-desktop-buddy-bridge 让 AI Agent 的敏感操作更可控。

这就是我认为最值得投入的方向:不是追逐每一个新模型,而是持续把 AI 能力接到自己的真实工作系统里。

文章目录
  1. 1. 为什么要把这四个项目放在一起讲
  2. 2. 项目一:daily-ai,每天自动生成开源项目早报
  3. 3. 项目二:term-cheat,把终端快捷键变成可搜索工具
  4. 4. 项目三:html-ppt,用网页方式沉淀培训课件
  5. 5. 项目四:claude-desktop-buddy-bridge,把 AI 审批搬到实体按钮
  6. 6. 这四个项目背后的共同方法
    1. 6.1. 1. 先把问题说窄
    2. 6.2. 2. 明确运行环境
    3. 6.3. 3. 原型之后必须工程化
    4. 6.4. 4. 把提示词也当资产管理
  7. 7. 我的实践清单
  8. 8. 结语