2026.05.29征图日记25(还要干一个月标注?那我……)

一个东西,如果知道的人不给你说,你可能永远都不知道。公司的webAi项目,分前后端,本来应该是前端发送数据,后端接受+返回,但是有时候为了单独测试前端,所以添加了一层mock,express层,也就是表示层,初衷是:开发前端时,有些接口后端还没写好,就用假数据先顶着,后端写好的接口,通过兜底代理转发到后端Django。
在创建新项目的时候,mock层把这个请求拦下来了,提示“该项目已存在”,但是后端有接口,前端拿到的永远是mock的假数据。这个如果不是Ai告诉我我不知道要什么时候才知道。

今天上午qxx目前还没有给任务给我,目前还在看代码,目前打算先把代码逻辑大概搞清楚之后再和mentor那边讨论,看能不能拿需求做一下,agent开发如果能参与还是能在秋招吹一波的~

中午快吃饭的时候问了leader说这个标注可能还要有一个月,之后有一个Qt的C++项目需要我参加,问了我会什么语言。我在想不能真让我干一个月标注吧?那我就要自己偷偷干自己的事了,下午一边标注,一边在改造我的搜索引擎项目。最后的目标是改成我自己的知识库,因为后续可能还会分享一些自己的东西,所以这就不仅仅是一个博客网站或者是一个搜索平台了,我希望是集个人知识库,个人分享平台,个人信息检索平台等等,反正后续还没想好,先把基本的搜索+Ai处理信息+前端界面搭建好。至少能在面试的时候能有东西讲。

并且我干标注要给自己规定时间,上午一共三个小时,我只干两小时,剩下一小时去看mentor在做的agent的代码,自己吸收了,最好能讲成自己做的。下午5h,最多干3h标注,剩下的时间要么刷力扣,背八股,要么改项目,学新技术。总之要为秋招做准备了!


今日工作内容

  1. 标注电解液133,破损36,软质异物146,脏污22,膜面气泡83
  2. 学习公司项目的技术栈

下阶段计划

  1. 继续参与标注
  2. 继续学习技术,参与agent项目(写给mentor看的)

Boost Searcher 重构:模糊搜索 + AI 增强 + 高并发 + MD 收录

Goal

将现有的 Boost HTML 文档搜索引擎重构为通用的 Markdown 文档搜索平台,支持模糊搜索、AI 增强搜索(类似 Bing 的 AI 摘要)、高并发后端、易改前端。

Architecture Decision

三层架构:C++ 搜索引擎 + Python FastAPI 中间层 + React 前端

1
2
3
4
5
6
7
浏览器 (React)
│ GET /search?q=xxx (SSE)

Python FastAPI (中间层)
├─→ C++ 搜索引擎 (HTTP, localhost:8080) → 返回 JSON
├─→ 立即通过 SSE 推送搜索结果给前端
└─→ 异步调 AI API → AI 摘要完成后通过 SSE 追加推送
  • C++ 负责:索引构建、搜索、模糊匹配(核心算法)
  • Python 负责:API 路由、SSE 流式推送、AI API 调用
  • React 负责:用户界面、SSE 消费、结果渲染

Requirements

1. C++ 搜索引擎 (engine/)

  • C++17 标准,零外部系统依赖(仅 cppjieba 在仓库内)
  • jsoncpp → nlohmann/json(单头文件)
  • pthread → std::thread/std::mutex(C++11 标准库)
  • Boost (filesystem/string) → std::filesystem + std::transform
  • Makefile → CMakeLists.txt
  • parser 支持 MD 文档解析(标题/内容/URL 提取)
  • 索引层加 Bigram 模糊搜索
  • HTTP JSON 接口(/search?q=xxx)

2. Python FastAPI 中间层 (server/)

  • 路由转发 + SSE 流式响应
  • AI API 调用(Claude/OpenAI)
  • 搜索结果先返回,AI 摘要异步追加

3. React 前端 (web/)

  • TypeScript + Vite
  • 组件化:SearchBar / SearchResults / AiSummary
  • SSE 消费 hook (useSearch)

Decision (ADR-lite)

Context: 项目是简历项目,核心必须保持 C++,同时支持 AI 增强搜索
Decision: C++ 搜索引擎 + Python FastAPI 中间层 + React 前端;C++ 依赖全部替换为标准库/头文件
Consequences: C++ 代码量不变,但依赖管理大幅简化;Python 层引入额外进程,但职责清晰

Out of Scope (explicit)

  • 分布式/集群部署
  • 用户认证/权限系统
  • Docker 部署(后续添加)
  • 多租户支持

Phase 1: C++ 引擎重构(当前任务)

将现有 C++ 代码迁移到 engine/ 目录,替换依赖,确保编译通过运行正常。

子任务

  1. 目录迁移: 源码 → engine/src/,词典 → engine/dict/,头文件 → engine/include/
  2. 依赖替换:
    • jsoncpp → nlohmann/json (third/json.hpp)
    • Boost::filesystem → std::filesystem (C++17)
    • boost::to_lower → std::transform + ::tolower
    • pthread → std::thread/std::mutex (已有,移除 pthread 链接)
  3. CMakeLists.txt: 替代 Makefile,支持 out-of-source 构建
  4. 编译验证: cmake .. && make,运行 parser + http_server + debug