项目展示
我的开发项目作品集
精选项目
lab-visual-platform 进行中 一个给个人学习者自部署的开源运维练习平台。 Next.jsReactTypeScriptFastAPI +7
lab-visual-platform是给想自学运维的人准备的开源练习平台。很多人学 Linux、Docker、Nginx、K8s 时并不是缺教程,而是缺一个能真正动手排障的地方:环境要自己搭,题目要自己找,练完也没人帮你看思路对不对。这个项目想把这些东西收在一起,让个人学习者可以自己部署、自己练习、自己复盘。它不是商业教学 SaaS,也不是班级管理后台,第一阶段更关注一个人能不能顺手地把练习跑起来。
做了什么
- 按分类展示 Linux、Nginx 等运维练习内容
- 实验详情页集成题面、网页终端、报告区和操作按钮
- 支持 SSH 学习机、Docker Runner、Compose Runner 几种运行方式
- SQLite 保存实验、会话、报告草稿和 AI 评价结果
- 支持 OpenAI 兼容接口,用于练习助手和报告评价
- 提供 Docker Compose all-in-one 部署方式,方便个人先跑起来
难点
- 把运维练习从教程阅读变成可启动、可操作、可记录、可复盘的流程
- 兼顾 SSH 主机和 Docker/Compose 运行时,不把部署门槛做得太高
- 控制 AI 助手的权限边界,让它提示思路而不是直接泄露答案
- 在个人自部署场景下处理终端、Runner、后端任务和本地资源权限
收获
- 更明确了开源教学平台第一阶段应该先服务个人学习者,而不是一开始做班级管理
- 实践了 Next.js、FastAPI、WebSocket、SSH、Docker Runner 和 AI 评价链路的组合
- 对运维实验内容如何结构化、如何沉淀报告和证据有了更清晰的判断
云链 进行中 一个网盘分享解析工具,前端沿用 Vue 页面,后端重构为 Python FastAPI。 Vue 3Element PlusFastAPIPython +4
云链主要是一次比较实在的重构:原项目里有 Java 后端、旧接口和一些跑不顺的链路,我把后端整理成 Python FastAPI,前端统一走 `/v2/*` 接口。现在它能识别多种网盘分享链接,读取目录,并在条件满足时跳转下载地址。这个项目不太适合吹成万能下载器,因为很多网盘本来就有 Cookie、风控、Token 和链接失效问题。它更像是一个把复杂网盘解析逻辑收拢起来的工具。
做了什么
- Vue 前端和 Python FastAPI 后端分离
- 前端统一调用 `/v2/*` 接口
- 支持多类网盘分享链接识别、目录读取和下载跳转
- 通过环境变量配置 Cookie、Token、代理等敏感信息
- 提供本地 Cookie 助手,用来配合公网页面导入凭据
难点
- 把旧 Java 运行链路迁移成 Python-only 后端
- 处理不同网盘的签名、Cookie、Token、反爬和失效链接问题
- 清理旧接口,避免前端继续依赖历史包袱
收获
- 更熟悉了旧项目迁移时如何先收口接口,再替换内部实现
- 对外部平台接口适配、错误提示和配置隔离有了更多经验
个人项目 (3)
lab-visual-platform 进行中 一个给个人学习者自部署的开源运维练习平台。 Next.jsReactTypeScript +8
lab-visual-platform是给想自学运维的人准备的开源练习平台。很多人学 Linux、Docker、Nginx、K8s 时并不是缺教程,而是缺一个能真正动手排障的地方:环境要自己搭,题目要自己找,练完也没人帮你看思路对不对。这个项目想把这些东西收在一起,让个人学习者可以自己部署、自己练习、自己复盘。它不是商业教学 SaaS,也不是班级管理后台,第一阶段更关注一个人能不能顺手地把练习跑起来。
做了什么
- 按分类展示 Linux、Nginx 等运维练习内容
- 实验详情页集成题面、网页终端、报告区和操作按钮
- 支持 SSH 学习机、Docker Runner、Compose Runner 几种运行方式
- SQLite 保存实验、会话、报告草稿和 AI 评价结果
- 支持 OpenAI 兼容接口,用于练习助手和报告评价
- 提供 Docker Compose all-in-one 部署方式,方便个人先跑起来
难点
- 把运维练习从教程阅读变成可启动、可操作、可记录、可复盘的流程
- 兼顾 SSH 主机和 Docker/Compose 运行时,不把部署门槛做得太高
- 控制 AI 助手的权限边界,让它提示思路而不是直接泄露答案
- 在个人自部署场景下处理终端、Runner、后端任务和本地资源权限
收获
- 更明确了开源教学平台第一阶段应该先服务个人学习者,而不是一开始做班级管理
- 实践了 Next.js、FastAPI、WebSocket、SSH、Docker Runner 和 AI 评价链路的组合
- 对运维实验内容如何结构化、如何沉淀报告和证据有了更清晰的判断
云链 进行中 一个网盘分享解析工具,前端沿用 Vue 页面,后端重构为 Python FastAPI。 Vue 3Element PlusFastAPI +5
云链主要是一次比较实在的重构:原项目里有 Java 后端、旧接口和一些跑不顺的链路,我把后端整理成 Python FastAPI,前端统一走 `/v2/*` 接口。现在它能识别多种网盘分享链接,读取目录,并在条件满足时跳转下载地址。这个项目不太适合吹成万能下载器,因为很多网盘本来就有 Cookie、风控、Token 和链接失效问题。它更像是一个把复杂网盘解析逻辑收拢起来的工具。
做了什么
- Vue 前端和 Python FastAPI 后端分离
- 前端统一调用 `/v2/*` 接口
- 支持多类网盘分享链接识别、目录读取和下载跳转
- 通过环境变量配置 Cookie、Token、代理等敏感信息
- 提供本地 Cookie 助手,用来配合公网页面导入凭据
难点
- 把旧 Java 运行链路迁移成 Python-only 后端
- 处理不同网盘的签名、Cookie、Token、反爬和失效链接问题
- 清理旧接口,避免前端继续依赖历史包袱
收获
- 更熟悉了旧项目迁移时如何先收口接口,再替换内部实现
- 对外部平台接口适配、错误提示和配置隔离有了更多经验
长团引擎 计划中 一个还在设计中的 AI 跑团上下文和世界状态引擎,重点是让长剧情别那么容易失控。 LLMContext EngineeringEvent Log +3
这个项目目前更接近架构设计稿,还不是一个完整产品。想做它是因为普通 AI 聊天很难撑住长剧情:跑几十轮以后,角色关系、物品、任务线、谁知道什么秘密,经常会被模型忘掉或编乱。长团引擎的思路是让后端保存原始事件和结构化世界状态,AI 负责叙事,后端负责规则、状态和上下文拼装。第一阶段不打算做一个完整酒馆替代品,而是先把长剧情和多人跑团最容易坏掉的部分稳住。
做了什么
- 房间、玩家、角色和场景状态设计
- 原始事件日志长期保存
- 结构化维护角色、NPC、地点、任务和物品状态
- 按 token 预算动态拼装上下文
- 规划兼容角色卡和世界书等酒馆生态资产
- 后续加入掷骰、回合、道具和状态效果等规则模块
难点
- 避免 AI 在长剧情里失忆、串角色、乱用场外信息
- 区分模型应该负责的叙事和后端必须维护的真实状态
- 兼容现有角色扮演生态,但不被现有前端架构绑死
收获
- 先把项目边界想清楚,比一上来写页面更重要
- 长上下文问题不能只靠塞聊天记录,结构化状态也很关键