01 — AI 应用 · 全栈
StarPath Navigator(点亮下一个星星)
2026.07 · 核心开发者
面向准大学生到毕业 1 年内学生的 AI 职业规划工具:先用「星际探索」隐喻推荐职业方向,再生成可逐节点查看的树状学习路线,最后输出可导出 PDF 的规划报告,全程在单页内 5 步完成。
HTML5CSS3原生 JavaScriptSVGPython FlaskDeepSeek API知乎站内搜索marked.jshtml2canvasjsPDF
滚动到此处自动载入实景预览 · 点击窗口打开在线版
手机上点击窗口,在新标签打开在线版
预览加载较慢,点击窗口直接访问
关键技术挑战
- 职业星图可视化:以用户为中心恒星、职业为行星,行星大小表示兴趣适配度、距离表示实现难度
- 纯 DOM 递归布局算法实现树状学习路线图,支持 20%–500% 缩放与拖拽平移
- 「知友真实感受」:在用户点开职业行星的时刻调用后端接口检索知乎站内真实从业分享,并蒸馏出正面 / 中性 / 提醒三类关键词,原始帖子可展开对照
个人贡献
- Flask 提供职业推荐、学习路线、规划报告、知友真实感受等接口,接入 DeepSeek 完成推荐与报告推演
- 学习路线由四阶段流水线生成:能力地图骨架 → 分批并行展开技能单元 → 组装并硬校验 → LLM 质量终审
- 提示词工程约束严格 JSON / Markdown 输出;API 超时或解析失败时降级为默认推荐与路线
- 前端零框架零构建(原生 JS + SVG,CDN 引入 marked / html2canvas / jsPDF),后端 Gunicorn + Nginx 部署上线
02 — Java 后端 · 全栈
Tlias 员工信息管理系统
2026.07–2026.08 · 独立完成
基于 Spring Boot + MyBatis 的企业级员工 / 部门信息管理系统,采用前后端分离架构,完整走通「需求分析 → API 接口设计 → 前后端并行开发 → 单独自测 → 联调测试」全流程。
Spring BootMyBatisMySQLVueElement PlusJWT
本项目为本地部署的 Java 后端工程(Spring Boot + MySQL + Vue),暂无公网演示环境,因此未提供内嵌预览。
关键技术挑战
- 登录认证体系:JWT Token 鉴权 + 拦截器(Interceptor / Filter)统一登录校验,未登录拦截返回 401
- 会话跟踪方案对比与实现(Cookie / Session / Token),理解各自适用场景与取舍
- 文件上传与阿里云 OSS 对象存储集成,处理大文件与访问权限
个人贡献
- 员工 / 部门 CRUD、分页查询(PageHelper)、条件模糊查询
- 统一返回封装(Result:code / msg / data)、全局异常处理
- 基于 AOP 实现操作日志切面,解耦业务与横切关注点
- 前后端并行开发后独立自测并完成联调,保证接口契约一致
03 — AI / LLM
微信风格 AI 对话模型(QLoRA 微调)
独立完成 · 大模型微调与落地
基于 QLoRA / PEFT 对开源大模型进行低资源微调,学习特定语气与对话风格,并封装为可调用的推理服务,完成从数据处理到应用落地的完整链路。
PythonPyTorchTransformersQLoRA / PEFTFlaskNLP
本项目的微调与推理服务运行在本地 GPU 环境,无公网演示站点,因此未提供内嵌预览。
关键技术挑战
- 在有限显存下用 QLoRA 4-bit 量化 + LoRA 适配器完成微调,平衡效果与资源成本
- NLP 数据清洗与格式化,构建符合指令微调格式的对话训练样本
- 推理阶段合并适配器权重并封装服务,保证响应稳定
个人贡献
- 独立完成数据处理、训练脚本编写、超参调优与效果评估
- 使用 Flask 封装推理接口,对外提供统一的对话调用能力
- 沉淀了大模型微调与 LLM 应用落地的完整工程经验
04 — 浏览器扩展 · 前端工程
B站视频画面深色滤镜 + 倍速控制扩展
独立完成 · Chrome / Edge 扩展(Manifest V3)
一款 Chrome / Edge 浏览器扩展:为 B 站视频画面叠加反色深色滤镜,缓解白底课件与录播的刺眼白光;同时提供纯键盘的视频倍速控制,突破播放器自带档位限制,覆盖 0.125×–16×,并配有仿播放器风格的倍速悬浮提示。
Manifest V3原生 JavaScriptCSS3Chrome Extension APIMutationObserver
浏览器扩展需安装到浏览器中运行,没有独立网页,演示请见下方视频与 GitHub 仓库。
关键技术挑战
- 绕过播放器对倍速的重置:监听每个 video 的 ratechange 事件,把目标速率"钉"回,切集 / 换清晰度后仍保持
- 直接读写 video.playbackRate,突破播放器菜单的固定档位,实现 0.125×–16× 连续可调
- 用 MutationObserver 兜住动态加载与切集的 video,新出现的视频自动应用滤镜与速率
- 倍速悬浮提示(OSD)挂载到播放器容器,并通过 fullscreenElement 适配全屏场景
个人贡献
- 从 Tampermonkey 油猴脚本演进为工程化扩展:GM_setValue → chrome.storage.local,切换实时生效无需刷新
- 设计 - / = / \ 三个键的倍速增减、归位与回退规则,按住 → 临时 2× 加速、松开恢复
- 快捷键采用捕获阶段监听,并在输入框内自动让路,避免影响弹幕与搜索框打字
- 构建带开关的弹窗界面与 16 / 48 / 128 三档图标,README 含效果对照图,已开源至 GitHub
05 — AI 应用 · 全栈
PromptDeck(提示词牌桌)
独立完成 · 前端 + Node 服务端
用扑克牌交互逐步澄清需求,最终产出一份可直接使用的提示词。交付形态是「单页前端 + 极简 Node 代理」:客户端为原生 ES Module,服务端只用 Node 22.5+ 内置模块,零框架、零构建、零 npm 依赖。
原生 HTML / CSS / ES ModuleNode.jsnode:sqliteDeepSeek APIGSAP零构建
duasweb.xyz/promptdeck/
打开
滚动到此处自动载入实景预览 · 点击窗口打开在线版
手机上点击窗口,在新标签打开在线版
预览加载较慢,点击窗口直接访问
关键技术挑战
- 把模糊需求拆成一张张「选项牌」:模型每批交回 7–15 道题,候选池剩余 ≤ 5 时后台预取下一批,用户全程无感知
- 端到端状态机 + GSAP 时间轴驱动开盒、飞牌与成文表演;模型路径与本地题库降级路径行为保持一致
- 存储用 Node 内置 node:sqlite(WAL):手机号为主键、每人上限 20 条、旧 JSON 自动迁移、库损坏可自愈
个人贡献
- 客户端零依赖(原生 ES Module),服务端仅用 node:http / fs / sqlite,不引入 express 等第三方包
- 提示词工程约束成品结构:分「完整 / 精简」两档骨架,固定段逐字保留、占位符原样透传,代码侧再做一次结构校验
- 鲁棒性设计:模型超时 / 越界 / 解析失败一律降级到本地题库与模板成文;单条坏题只剔一条,坏题超 30% 才整组降级
- API Key 只存服务端 .env,前端不落任何密钥;已部署上线并跑通端到端验收
已上线
duasweb.xyz/promptdeck
06 — 自动化工具 · Python
签到管家 CheckinButler
独立完成 · 多平台自动签到 + 消息推送
三个平台(WorkBuddy / Trae / Qoder)的多账号每日自动签到工具:总编排器串起「签到 → 日报聚合 → 企业微信推送」全链路,日报里带各账号剩余积分与最近到期提醒;纯 Python 标准库实现,任意 Windows 电脑拷过去跟着 CLI 向导就能复刻。
Python 标准库多账号凭证管理企业微信 WebhookPushPlusWindows 计划任务CLI 交互Git
本项目无公网演示环境(跑在本地 Windows 计划任务里),代码已完整开源,见下方 GitHub 仓库。
关键技术挑战
- 三平台凭证体系各不相同:WorkBuddy accessToken 自动续期、Trae 客户端凭证解密提取、Qoder token 到期前 72 小时自动刷新,统一成可扩展的账号接入层
- 当日完成闸门用「账号集合」比对而非仅看日期:全部账号到达终态才落标记,中途新增账号自动识别照常执行,既不重复请求接口也不漏签
- 凭证安全与分发链路:打包自动排除凭证 / 推送密钥 / 日志并自检兜底,bat 脚本强制 ASCII-only 规避中文编码解析错位
个人贡献
- 总编排器实现闸门判断、三平台签到、日报聚合(含积分 / 到期明细)与推送决策,支持 --force 强制重跑
- CLI 向导 + 数字菜单覆盖环境自检、绑定推送、添加账号、定时任务、试跑验证全流程,按 9 随时返回上级
- 修复真实踩坑:GBK 编码静默丢号、误删其他账号凭证、bat 中文闪退等,沉淀五篇教程与 doctor.py 自检工具
07 — 前端工程 · 天文可视化
星临 · Starlin
独立完成 · 真实星表渲染 + 天文引擎
古人把漫天群星划分成星官、星座与二十八宿,为的是在无声流动的时间里刻下可供辨认的记号——星空,是人类最早的计时器。星临延续的是同一套思路:用星标定时间。锁定出生的精确时刻与经纬度,它还原那一刻你头顶的真实星象,也给出同一瞬间太阳系八大行星的排布。它不占卜、不算命运、不附会吉凶,只是把你降临宇宙的那一瞬,从时间的长河里切出来。
WebAssemblystellarium-web-engineVueAT-HYG 真实星表OpenNGCastronomy-engine 星历AGPL-3.0
它想做的事
- 时间本身没有刻度,是人类抬头把群星分门别类,才有了辨认时节的坐标;而历法是人为的刻度——同一件事,换一套纪年日期就会改变,日历上的生日终究只是标签,不是宇宙自带的节点
- 星临想做的,是用星标定时间:输入出生的时刻与地点,还原你出生地头顶的真实星空——中国的三垣二十八宿落在何处,西方的八十八星座各是哪几颗星在值守
- 同一瞬间,太阳系也只有一种排布:水星跑到哪里、金星在日东还是日西、木星挨着谁——恒星随岁差缓慢偏移,行星则几乎不会让同一图案重现,这组排列在人的一生里不会再来一次
- 两轴相交,才是真正的诞生原点——不是日历上的某一天,而是宇宙在这一刻留下的、独一无二的一帧
它是怎么做到的
- 星位不是手写的数组,而是来自 AT-HYG 真实星表:32.9 万颗恒星,逐颗带位置、星等与色指数;深空天体取自 OpenNGC,4,983 个星系、星团与星云各按真实坐标落位
- 渲染核心是 Stellarium 官方开源引擎 stellarium-web-engine(C++ 编译为 WebAssembly),前端以 Vue 组织交互;两档 LOD——亮星常驻,暗星只在视场足够小时点亮,一帧都不浪费
- 太阳、月球与八大行星的位置由 astronomy-engine 星历推算,月相与月球视直径都是真算的:相位来自被照亮比例,视直径由真实半径与距离几何得出
- 两双看天的眼睛:西方八十八星座可按需叠上古典插画,华夏三垣二十八宿逐宿配有古画与传说;看完了,一键把这一夜的星空导出成图带走
- 引擎为 AGPL-3.0,站点同时提供完整的对应源码包下载
SSMP 图书管理系统
Spring Boot + SpringMVC + MyBatis-Plus + MySQL + Vue + ElementUI,实现列表、增删改、分页、条件查询与统一异常处理。
Brand 品牌管理系统(JDBC 版)
基于 JDBC + Druid 连接池 + PreparedStatement 完成完整 CRUD,规范 ORM 封装与资源释放。
养老金管理系统(JavaSE 控制台)
双层哈希表存储设计、缴费记录增删查、养老金年均 / 月均自动计算,具备输入校验与较强鲁棒性。
JavaSE 综合练习
数字加密、双色球、文字格斗、学生管理、图片拼图、斗地主排序、线程池 BS 架构简易服务端等。