关于我 — 刘思锐 | 后端、系统与应用 AI

English | 中文

我是 刘思锐(Sirui Liu),滑铁卢大学计算机工程 Co-op 本科生,GitHub 用户名为 WorldVanquisher。我关注把想法做成可以使用、部署、排查和持续迭代的工程系统。

我的项目覆盖 Go 后端、SQLite 数据建模、React 工作台、Python / TypeScript 开发工具、Linux 运维、AWS / Azure 和软硬件集成。目前重点寻找 Backend、Platform、DevOps、Applied AI Engineering 方向的 4 或 8 个月 Co-op 机会。

邮箱 · GitHub · LinkedIn · 技术文章

我能为团队带来什么

  • 从设计到部署的交付能力:包含 40+ HTTP 接口、React 工作台、数据持久化、检索与自动检查的学习知识系统,以及 AWS 演示环境。
  • 数据一致性与恢复能力:版本化记录、只追加反馈、幂等写入、索引租约与受保护发布、校验和验证和回滚。
  • 可解释、可验证的 AI 集成:embedding 服务、检索评估、混合排序和逐项确认的 AI 建议。
  • 实际运维与业务经历:生产 CRM 问题处理、Azure 报表自动化和自托管 Linux 服务。
  • 协作开发能力:Novel Ontology Pi 的 10 个已合并个人 PR,以及团队 IoT 原型与学生咨询项目。

工作与咨询经历

AsiaInfo Technologies — IT Operations Intern

2025 年 9–12 月 · 中国 · 中国电信河北 CRM 平台

  • 构建 Gitea Actions 流水线,在 PR 上执行 lint、单元测试与 Docker 构建,检查失败时阻止合并。
  • 优化 CRM 后端 Dockerfile 的镜像体积,并用 Docker Compose 统一开发与测试配置。
  • 编写 Python 脚本清理遗留及无效数据库记录,处理反复出现的后端错误。
  • 用 Bash 自动清理服务器日志,预防磁盘空间不足引发的服务中断。
  • 通过调查数据库不一致、服务工单失败和业务流程错误,解决 500+ 生产 CRM 问题。

Pallet Connect — WE Accelerate 学生咨询

2025 年 · 滑铁卢大学团队咨询项目

  • 开发并在 Azure App Service 部署 REST API,自动生成每日与每周 ERP 报告,替代人工整理。
  • 将 Azure OpenAI 与 ERP 数据连接,通过只读数据库访问支持自然语言查询。
  • 构建 GitHub Actions 部署流程,使用 App Service deployment slots、ARM 模板与 Azure CLI 管理部署和基础设施。

French Learning Hub — 把学习问题变成可检索的知识

2026 年 7 月至今 · 项目负责人 · Go、SQLite、React、TypeScript、Docker、Qdrant、AWS

代码仓库 · 系统架构 · 开发历史 · 项目文章

我构建 FLH 来解决法语学习中的知识散落问题:原始提问、模型解释、人工纠正和最终整理的概念容易混在一起,难以回溯。FLH 将它们组织成完整流程:记录问题 → 分析与反馈 → 知识抽取 → Concept 整理 → 检索并回到来源。

我负责产品方向、架构决策、任务定义、代码审查与部署流程,使用 Claude Code 和 Codex 推进实现。核心设计分开保存学习者原文、模型解释和人工判断,让重新分析与纠正不会抹掉历史。

方向 代表成果
后端 40+ HTTP 接口、分层 Go 服务、SQLite 事务、版本化 migration 与幂等导入
检索 关键词、语义与混合检索,持久化向量缓存,租约保护的 Qdrant 发布
工作流性能 在 1,543 个可审阅单元的合成数据中,首屏审阅载荷从约 821 KB 降至 27 KB
检索评估 四种基线及 Recall/MRR;探索性合成数据中 E5 Recall@5 44/48,BM25 32/48
验证 真实 Qdrant 与合成 embedding 下 126 项混合检索集成检查;另有后端、前端和演示浏览器 CI
部署 Docker 个人使用版本、Linux amd64/arm64 演示包、Terraform EC2 环境与 SSM 管理
完整工程里程碑

学习记录与知识身份

  • 构建分层 Go / SQLite 服务与 React / TypeScript 工作台,串联记录导入、解释纠正、七类概念审阅决策和来源查看。
  • 用版本化 Analysis、只追加 Feedback、事务与幂等导入保留历史,避免半写入和重复 capture。
  • 分离不可变 KnowledgeUnit 证据与持久 Concept 身份,在读取时推导支持关系,保留归属纠正历史。
  • 建立只读 Knowledge Library,通过关键词和可选语义搜索回到原始问题及对应解释。
  • 以严格 JSON、规范化 SHA-256 指纹和原子事务拒绝同身份导入中的内容冲突。

语义检索、GPU 与评估

  • 按内容哈希、表示、模型身份和维度缓存 embedding,跨重启与重建复用向量。
  • 在 RTX 4070 笔记本部署多语言 embedding 服务,通过 Tailscale 连接 NAS,定义请求边界与部署身份。
  • 对四种检索基线做探索性合成评估,记录 E5 与 BM25 的 Recall@5 对比。
  • 在六种 GPU 配置中诊断 float16 漂移,选择在测试矩阵中重复向量和 top-5 排名稳定的 singleton 推理。
  • 提供版本化数据导出、质量报告,以及固定评估总体下的 Recall@1/3/5、MRR 比较。
  • 通过可选 provider 接口接入模型,配置无效时启动失败,拒绝静默切换。
  • 用冻结 fixture 哈希、显式超时失败、输出目录保护和生产转换对照约束检索实验。

发布、并发与 CI

  • 将 API 与前端打入同一 Docker 镜像,加入 health / readiness、持久化存储、备份与升级流程。
  • 用 SQLite 租约、受保护写入和每次运行独立的向量集合控制并发索引,再切换发布指针。
  • 在 GitHub Actions 中运行固定 Qdrant 镜像的恢复、缓存与并发发布检查,测试跳过即失败。
  • 建立 Go 测试、静态检查、前端检查与构建,验证集成后的前后端。

AWS 备份与模型工具

  • 构建 Python / CloudFormation 工具,将合成 SQLite 快照保存到私有 S3,配置加密、TLS-only 与生命周期。
  • 用 SQLite online backup API 创建 WAL 一致快照,以哈希、完整性、外键、migration 和数据指纹验证隔离恢复。
  • 校验 StackId、归属标签和删除回执,拒绝身份不一致或清理证据不足的删除。
  • 通过持久化账本在调用前预留 S3 / Bedrock 请求与字节预算,并计入失败尝试。
  • 构建 Bedrock Titan HTTP adapter,验证模型身份、请求范围与向量形状。
  • 在 Canada Central 完成六次成功的 live Titan 请求,检查 512 维向量的有限性、非零和归一化。
  • 用 82 项自动测试及 56 项独立故障注入观察覆盖本地 fake / SDK stub 异常路径。
  • 把可恢复 embedding 请求绑定到输入哈希和模型配置,防止错误复用并保留累计使用账目。

混合检索与工具界面

  • 以固定 RRF 合并 SQLite 关键词与 Qdrant 语义排名,限制候选并确定性处理同分,排序后回查当前记录。
  • 在 API 和 React 页面显示组件排名、匹配字段、相似度和融合分数。
  • 用独立 oracle 和真实 Qdrant 验证融合、过滤、只读行为、重启恢复及缓存修复。
  • 构建实验 dashboard,分别处理数据质量、指标、加载、错误和不可用状态。
  • 构建 PowerShell / Python embedding 生命周期工具,加入 readiness、进程身份、停止与日志管理。

只读演示、数据完整性与云部署

  • 用服务器路由白名单与 immutable SQLite 构建只读演示,拒绝写入,只开放合成记录。
  • 打包预计算 E5 文档与固定查询向量,让演示检索脱离 live encoder。
  • 以受 web root 限制的文件打开修复静态文件符号链接逃逸。
  • 通过版本化 domain fingerprint 和 artifact 校验,在启动前拒绝数据、模型元数据与抽取状态不一致。
  • 构建带源码信息、模型 artifact 和 SHA-256 的 Linux amd64 / arm64 发布包。
  • 为 HTTP / 浏览器演示加入 CI,覆盖受控失败探针、进程清理与有界诊断产物。
  • 为 Inspector 加入重新归属、INVALID 与恢复操作,以及未知写入结果的只读核对。
  • 以 typed message catalog 实现英文/简体中文 UI,切换时保留草稿、待完成操作与学习原文。
  • 用 Terraform、私有 S3、范围受限 IAM 和 SSM 部署 EC2 演示环境,无需开放入站 SSH。
  • 构建带校验和、release 切换、readiness / 身份校验及失败回滚的安装器。
  • 准备含 DNS preflight、nginx 校验、证书续期检查与显式 Terraform 开关的 HTTPS 上线工具。

日常工作流与性能

  • 加入记录直达、审阅位置恢复和概念内容渐进显示,返回旧记录无需重走队列。
  • 用参数化 SQLite substring 查询实现 Unicode 大小写不敏感搜索,组合状态过滤与 cursor 分页。
  • 以 keyset 分页和稳定 unit locator 替代全量队列,在保留适格规则的同时恢复上次位置。
  • 在 1,543 个可审阅单元的合成 fixture 中,将首屏从约 821 KB 降至 27 KB。
  • 统一手工问题与 JSON capture 入口,复用幂等导入,让分析和人工接受保持显式。
  • 对未知保存结果提供回执查询与同身份重发,处理丢响应后的重复记录风险。
  • 建立 1,000 条记录、3,000 个 unit、500 个 Concept 的隔离 fixture,测量读取并验证完整工作流。

最新进展:双语解释与 AI 辅助审阅

我加入了中英双语解释存储、独立解释语言选择与按语言纠正。旧记录保留原文和语言未知状态,不以翻译回填改写历史。

Concept 建议允许用户选择小批量 unit,在有限的已有候选中生成建议与理由,再逐项确认归属。后续实现覆盖同 key 重放、客户端取消、生成结果落库,以及后来纠正后仍可识别的历史确认。

双语解释 · AI 建议 · 恢复与正确性

部署记录确认 EC2 与 SSM 下的服务运行、身份校验和升级;公共 HTTPS 工具已准备,公开切换仍待执行。完整个人工作台与只读演示采用独立边界。

Personal AI Workbench — 可迁移的上下文与交接工具

2026 年 10 月至今 · Python、CLI、Markdown、TOML、GitHub Actions

仓库 · v0.2.0

我构建 PAI 来解决跨 coding session 的上下文丢失,把规则、人工决定和任务记录整理成有字符预算的输入,并创建可继续使用的交接草稿。

完整工程里程碑
  • 无第三方 Python 运行依赖的 CLI,从注册文档生成任务上下文和结构化 handoff。
  • 确定性选择内容,优先人工约束,再按任务相关度排序,并报告预算内省略的内容。
  • 分开记录实现、验证、commit、merge、部署,保留 UNKNOWN 和未批准提案。
  • 以原子目录创建、冲突命名和独占文件创建避免并发覆盖报告。
  • 对报告发现设置目录、数量、文件大小和元数据边界,诊断畸形或不可用文件。
  • 验证路径归属与文件身份,拒绝 symlink、Windows reparse point 和检查后变化的文件。
  • 构建 Windows / POSIX launcher,定位 Python 并固定从安装包导入。
  • 以 allowlist、manifest、SHA-256 打包内容一致的 ZIP / tar.gz,排除本地配置和私人 handoff。
  • 构建 10-job CI,在 Windows、macOS、Ubuntu 与四类 Linux container userspace 上验证测试、构建和解包 smoke。
  • 提供只读 doctor 检查 Python、校验和、配置和来源,报告缺失或变更。
  • 统一 CRLF Markdown、UTF-8 输出和 handoff 换行,支持跨系统迁移。
  • 初始化默认预览,显式写入且拒绝覆盖已有设备配置。

Novel Ontology Pi — 开源协作、数据工具与评估

2026 年 10 月至今 · 协作贡献者 · TypeScript、Node.js、JSONL、Ladybug、Cypher、SSE

上游仓库 · 我的已合并 PR

我通过 10 个已合并 PR 为小说本体系统补齐 CLI、数据迁移、查询、诊断、模型客户端和评估,并协作参与 Jev 提取流程。

完整贡献里程碑
  • 完成覆盖数据传输、诊断、模型集成和评估的十个个人 PR,并实现 workspace 初始化。
  • 实现 OpenAI-compatible client,设置有限重试、单次超时、token / latency 报告,并用本地 HTTP mock 测试 JSON mode 和异常路径。
  • 构建 golden-chapter evaluator,以确定性 ID 与规范化 key 比较预测和参考,报告 precision、recall、F1、漏项及多余项。
  • 构建 bundle-to-predictions adapter,使用已有章节证据、报告无法归属的记录并拒绝非空输出目录。
  • 以 staging、不覆盖和结构验证实现 JSONL bundle 导入导出,排除派生 graph DB 和疑似凭据文件。
  • 在既有 Ladybug API 上实现 Cypher query、文本 search、timeline 命令,处理资源释放与数据库缺失。
  • 提供处理日志上的只读 loopback SSE watcher,支持 replay cursor、重连及客户端清理。
  • 加入 clean-install CI 和只报告凭据状态、不打印值的配置诊断。
  • 修复损坏 JSONL 被静默当成空数据的问题。
  • 协作参与 Jev typed decisions 与可审阅 ChangeSet 流程,分开提议变更和 canonical records。

数据迁移 PR #5 · 模型客户端 PR #8 · 评估 PR #18 · 预测 adapter PR #22

MayaBot — 自托管媒体自动化服务

2025 年 10 月至今 · Python、SQLite、Docker、FFmpeg、Telegram、TOS

仓库

我把 MayaBot 做成运行于 Linux NAS 的模块化 Telegram 服务,连接音乐搜索和交付、基于历史的推荐、反馈、订阅,以及对象存储和图像生成流程。

完整工程里程碑
  • 将 Music Updater 接入 Telegram,按标题或歌手检索、用 FFmpeg 处理音乐;加入 SoundCloud handler 补充来源。
  • 分离 polling、路由、错误处理、feature handler 和 API adapter,支持扩展命令。
  • 根据下载历史、搜索词和歌手权重推荐,用加权随机抽样增加变化。
  • 以点赞/点踩调整歌手权重,提供每日三首的 opt-in 推送。
  • 将下载、搜索、偏好和订阅保存在挂载卷的 SQLite,跨容器重启保留。
  • 下载 worker 从一扩至四个;在 2 核、1 GiB 容器内验证八次下载,记录约 310 MiB 峰值内存。
  • 在三首歌曲样本中让音频加封面的体积降低约 34%,重复发送复用 Telegram file ID。
  • 用 14 项回归检查验证媒体发布,以约 1 MiB/s 总下载预算与串行上传控制资源。
  • 用 Docker Compose、环境配置、持久化数据库和自动重启部署服务,集成网络/API 异常处理。
  • 定位并记录 stale SOCKS proxy 变量引发的“ping 正常、HTTP 失败”。
  • 集成图像生成 API、TOS 上传和 Pillow 合成,将用户输入转成模板图像。
  • 提供关键词/链接的 inline-button 搜索结果,交付带 metadata 与封面的音频。

Linux NAS — 项目背后的运行环境

2025 年 10 月至今 · Arch Linux、systemd、Docker Compose、Samba、Tailscale

我把旧笔记本改造成 NAS,运行 MayaBot、Paperless-ngx、Jellyfin 和开发服务;配置 systemd、持久化存储和远程访问,排查 DNS、IPv6、存储与容器网络问题。通过 Samba 和 Tailscale 支持 Windows、macOS、Linux 之间的文件传输。

一次故障中,我从 curl 的代理信息定位到已失效的 SOCKS 环境变量,解释了 ICMP 正常而应用请求失败的原因,并记录修复。

故障文章:When ping works but curl fails

EngHack — 传感器、后端与设备交互

2026 年 3 月 · 团队原型 · Arduino、Python、FastAPI、Serial I/O、Gemini

我参与搭建含温度/光照传感器、servo 和 16×2 LCD 的环境监测原型,负责设备与处理服务间的双向 JSON 串口通信、FastAPI 接口,以及每请求 30 个传感器样本的聚合。Gemini 输出被约束为适合 LCD 的 JSON 内容,把测量连接到设备反馈。

早期工程基础

超声波拐杖 — ECE198

团队仓库

我的第一个正式工程项目涉及传感器、STM32、C 与软硬件协作,建立了从物理行为理解软件决策的基础。

Embedded Linux 学习 agent — 已归档实验

2026 年 6–7 月 · C、Go、Buildroot、QEMU、SQLite、Docker

在 QEMU 模拟的 AArch64 Buildroot Linux 上集成 quiz、daemon、HTTP 模式的 C agent,配置 SysV init、CSV 参数和日志;构建 Go / SQLite 设备状态、进度和任务接口,用多阶段 Docker 及 Telegram 命令查看状态。这个实验保留在项目历史中,当前重心已经转向 FLH、开发工具与基础设施。

个人博客与作品记录

我用 Hexo、Markdown 和 GitHub Pages 搭建本站,把系统故障、设计取舍和实现整理为可追溯源码的技术文章。

教育与技术基础

University of Waterloo · BASc in Computer Engineering, Co-op · 预计 2029 年 4 月毕业

  • 累计均分 82.94%,依据 2026 年 10 月成绩记录。
  • University of Waterloo President’s Scholarship,2025 年。
  • 已修编程、数据结构与算法、数字电路、计算机组成、线性/电子电路、数值方法、线性代数与工程数学。
  • 2026 Fall 在读:系统编程与并发、嵌入式微处理器、信号与系统、概率统计、离散逻辑、仪器与原型实验。
  • 工程设计、技术沟通与职业伦理基础;2024 年 10 月完成 WHMIS training milestone,并完成 Work Terms 1、2。
方向 使用过的技术
后端与数据 Go、Python、TypeScript/JavaScript、SQL、SQLite、Oracle SQL、FastAPI、REST API
前端与工具 React、Node.js CLI、Markdown、TOML、JSONL、SSE、Cypher/Ladybug
系统与云 Linux、Bash、systemd、Docker Compose、GitHub/Gitea Actions、AWS、Azure、Terraform、CloudFormation、ARM templates、Tailscale
检索与 AI BM25、embedding、Qdrant、RRF、Recall/MRR、precision/recall/F1、模型 API 集成
软硬件基础 C、C++、STM32、Arduino、串口;课程中的 MATLAB、VHDL

我的工作方式

我喜欢把“功能能跑”推进到“系统可以解释和维护”:明确数据归属,处理失败与未知状态,选择有意义的验证,把部署和恢复写清楚。我积极使用 AI 编码工具,也对需求、设计、审查和结果负责。

如果你的团队需要能在后端、基础设施、排错和沟通之间协作的工程学生,欢迎联系我。

联系我 · LinkedIn

更新于 2026 年 10 月 25 日。