精选项目
Selected Work
作品集
有些项目偏 UI 和体验,有些偏自动化和系统实现。放在一起看,会更接近我真正感兴趣的东西: 把复杂问题拆开,把界面和结构都做清楚。
重点案例
Web / Desktop / CLI
持续公开迭代
重点项目
这三个项目最能代表我这几年在界面、工具和工程实现上的取向。
UI Rendering / AvaloniaUI
LiquidGlassAvaloniaUI
给 AvaloniaUI 做的一套 liquid glass 效果。重点不是把毛玻璃调得更花, 而是把 blur、折射、高光这些东西整理成一条能复用、能测试的渲染管线。
问题
Avalonia 在高级视觉效果这块还不算成熟。想做出接近系统级的玻璃质感, 单靠现成控件不太够。
方案
我把效果拆成几层:背景采样、模糊、透镜形变、可选色散和边缘高光。 底层基于 Skia 的 runtime effect,外面再包成可以直接使用的控件。
结果
- 做成了可复用控件,而不是一次性的演示代码
- 支持交互变形和高光反馈,可以直接承接真实界面内容
- 接了 headless 渲染测试,方便做视觉回归比对
AI Tooling / Visualization
Transunformers
一个用来拆解和浏览 Transformer 结构的项目。解析端把模型整理成统一 JSON, 前端再把这些信息做成可视化界面。
问题
看 Transformer 代码时,最费劲的不是找到某个类,而是很难一下子看清整个模型的结构、 参数规模和调用路径。
方案
我把问题分成两段:先做解析器,负责 schema、trace、压缩和分块; 再做前端,只消费标准化后的数据。这样单个模型和大规模目录都能用同一套格式。
结果
- 支持 config-only、trace 等不同解析模式
- 为大体量数据做了 chunking 和压缩
- 解析结果可以独立复用,不绑死在页面上
Product Engineering / Automation
UESTCJWCWatchdog
一个跨平台的成绩监控工具。桌面端、CLI 和云函数共用一套核心逻辑, 重点是把“查成绩”变成“稳定地等通知”。
问题
教务系统流程长、登录态也不稳定。真正麻烦的不是查一次, 而是要长期盯着成绩有没有更新。
方案
查询侧用 Playwright 自动化,桌面端用 AvaloniaUI 做界面, 同时保留 CLI 和 Docker 化入口,再接上 ntfy 推送。
结果
- GUI、CLI 和云函数三种使用方式共用核心逻辑
- 做了登录态保持和自动重登,减少重复人工操作
- 把抓取、对比、通知串成一套真正能日常用的工具
其他项目
另外几个体量小一些,但也比较能说明我平时在做什么。
RepoSync
用 GitHub Actions 把仓库自动镜像到 GitCode 和 Gitee, 顺带处理 tags、releases 和可选的 LFS。
GrandConverter
在 Claude Code 和 Codex 之间迁移会话的工具, 尽量保留消息、工具调用和关键元数据。
MIPS32 Verilog CPU
课程时期做的 Verilog CPU 工程,包含单周期和五级流水线两套实现,以及对应仿真。
私有项目
这里给后续要补充的私有项目留一个位置,只写范围,不写敏感信息。
Private Case Study / Reserved Slot
给私有项目预留的位置。后续如果要补,只会写问题背景、我负责的部分和结果摘要, 不会放仓库或业务细节。
职责 / Design / Engineering