#import "@preview/brilliant-cv:3.1.2": cvEntry, cvSection // 项目背景信息(面试准备用): // - 时间背景:2024年夏天启动,比Cursor、Windsurf等工具早近一年,当时市场上只有v0 // - 团队规模:4人团队,个人负责Vite Plugin开发、部分后端、网页端管理 // - 投资人质疑:当时市场上完全没有类似产品,投资人不太理解 // - 用户反馈:很多Bug反馈;用户希望支持客户端开发(但因为绑定Vite做不到);希望支持后端(也做不到) // - 技术局限:因为绑定了Vite,无法跨到客户端开发 // - AI技术栈:实际上AI部分比较简单,只是单模型+简单Prompt优化,没有复杂的Agent或工作流 // - 成本:花掉了很多API额度 // - 项目现状:后来Cursor等工具出现后暂停了项目 // // 黑客松详情: // - AdventureX:杭州一个高中生组织的黑客松,但吸引了大量商家赞助和投资人关注 // - 规模:总共200人参赛,约3-4人一个团队(约50个团队) // - 赛道:四个赛道都是AI相关的 // - 成绩:获得四个赛道第一名 // // Vite Plugin注入技术细节: // - 技术参考:在我们之前就有Nuxt Devtools这样往用户开发网页上注入内容的先例 // - 隔离方案:使用Iframe和Shadow-DOM隔离用户内容和我们的UI // // Monorepo重构原因与架构: // - 重构原因:三部分代码运行在不同环境,但需要共享功能 // 1. 用户自己的网页:跑一部分注入的代码 // 2. Iframe主界面:运行主体界面和逻辑 // 3. Vite开发服务器:负责写文件和保存状态 // - 子包结构: // - guiiai/ui:通用的UI组件 // - guiiai/shared:共享的逻辑、Composables // - guiiai/utils:通用工具和跨上下文通信库(我封装的) // // 面试策略(来自reflections/0.intro.md): // - 定位为"前端工程化/工具链"项目,而不是AI项目 // - 强调前端侧的技术难点:Vite Plugin注入、AST、Shadow DOM、Monorepo // - AI部分一笔带过,避免被深问Transformer、Agent编排等 // - 突出"无侵入式"这个工程化亮点 #cvEntry( title: [无侵入式 AI 编程助手], society: [GuiiAI Devtools], date: [2024.8 - 2025.1], location: [杭州], tags: ("Vite Plugin", "Monorepo"), description: "", ) 一个基于 Vite 生态的 AI 编程开发工具,在 2024 年 AdventureX 黑客松中获得 *四个赛道第一名*。项目于 *2024 年夏天* 启动(早于 Cursor 等工具近一年,当时市场上尚无类似产品),开放内测后获得约 *1k 用户* 申请。 我在 4 人团队中负责 Vite Plugin 开发、部分后端和网页端管理。 - *[编译时注入系统]* 开发了基于 *Vite Plugin* 的注入系统,将 AI 助手 *无侵入* 地集成到任意前端项目中,不依赖编辑器或 IDE - *[样式隔离方案]* 使用 *Shadow DOM* 和 *Iframe* 实现了悬浮球与主页面的完全样式隔离,避免用户项目样式污染 - *[跨上下文通信]* 封装了一套 *RPC 库*,通过 BroadcastChannel 和 Vite Dev WebSocket 实现浏览器多上下文与 Vite Server 的 *双向通信* - *[Monorepo 架构]* 将项目重构为 *Monorepo*,分离核心包、插件包和 UI 包,提升了代码复用性和维护效率