核心项目
围绕 AI 应用后端、视觉部署、C++ 网络服务和权威服务器同步四条工程主线。
01
RAG Gateway Stack
面向全局文档知识库问答的分层式 RAG / Agent 后端。C++ Drogon Gateway 统一承载外部 API,FastAPI、Celery、MySQL、Redis、LanceDB 与 OpenAI-compatible LLM / vLLM 组成内部业务链路。
- 文档链路:上传、去重、解析、切片、向量化、全局索引构建和异步任务状态查询。
- 检索链路:LanceDB 召回 chunk id,MySQL 批量回表正文,再经 CrossEncoder rerank 组装 Prompt 与 citations。
- Agent 链路:循环决策只读工具,注入用户长期记忆、会话摘要与近期对话,并记录 SSE、citations 和 Trace。
02
YOLO Tracking
面向 BDD100K 道路场景的 C++ 图片与视频检测跟踪服务,使用 ONNX Runtime / OpenVINO、OpenCV、ByteTrack 和 LK 光流交付可观测的动态监测结果。
- 高低分辨率协同:高分辨率模型维护权威状态,低分辨率模型更频繁地进行轻量刷新。
- 质量感知调度:动态 stride 根据光流质量、尺度 / 速度突变、重复轨迹和类别冲突触发 low / high 紧急刷新。
- 时间连续性:LK 光流传播检测间隔的轨迹,ByteTrack 管理 ID 与生命周期,异步旧帧结果返回后先做时间补偿。
三场景 F1 0.7726
FP -63.2%
指标口径为 IoU=0.5,以 full high-res 结果作为伪标签的三场景回归。
03
Libevent Chat Server
基于 libevent 的聊天服务器,采用 1 个 Acceptor 与 N 个 Worker 的线程模型。Acceptor 只负责监听和接受 TCP 连接,并通过 UNIX socketpair 把 fd 分发给 Worker;每个 Worker 拥有独立 event_base,负责自己名下连接的 read/write callback、业务解析和连接生命周期。
- 协议层:line-delimited JSON,一行一条消息,支持 nick、join、leave、msg、pm 和错误回执。
- 并发模型:全局用户表、房间表、订阅表和发送队列受互斥锁保护;广播时先在锁内拍快照,再锁外写 bufferevent。
- 背压控制:根据输出缓冲长度切换直接写、入队等待、低水位续写和慢连接截断,避免单个慢客户端拖垮 Worker。
- 工程目标:把非阻塞 I/O、Reactor、多线程 fd 分发、连接清理和可测试 C++ 服务端结构串成一个最小闭环。
04
Fighting Netcode
基于 C++20 的实时动作游戏网络同步 Demo。项目核心不是完整游戏内容,而是把服务端权威、客户端预测、状态回滚、UDP 输入冗余和确定性状态校验做成可运行、可测试、可复盘的最小系统。
- 权威服务端:
lab_server统一分配 player slot,以 60Hz tick 推进World::Step,并周期性广播 Ack / State。 - 客户端预测:
lab_client本地先响应输入,收到权威 State 后从快照恢复,并重放本地输入历史追到当前 tick。 - 网络协议:UDP 包包含 magic、version、type、Input、Start、Ack 和 State,客户端每包携带最近 K 帧输入以降低丢包影响。
- 一致性验证:用网络量化后的 state hash 检测分叉,配合
lab_tests与lab_stress覆盖编解码、延迟 State、预测偏差和大量回滚。