CV/zh/projects/guiiai.typ
2026-02-27 05:39:32 +00:00

62 lines
3.3 KiB
Typst
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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 包,提升了代码复用性和维护效率