跳到主要内容

技术栈

后端

  • FastAPI — Python 异步 Web 框架
  • SQLAlchemy 2.0 — ORM(User、Lesson、Presentation 模型)
  • Pydantic v2 — 数据校验
  • python-jose — JWT 创建/校验(HS256)
  • bcrypt — 直接 bcrypt 调用(ARM64 兼容,避免 passlib 自检 bug)
  • PVC 存储zhiheng-user-data-pvc(共享,per-user subPath 隔离)
  • httpx — 异步 HTTP 客户端
  • python-pptx — PPTX 生成与幻灯片计数
  • Redis — 速率限制(500 req/min per IP per path)、会话缓存、令牌存储

前端

  • Vue 3.5 + Vite — SPA + Vue Router 4
  • Tailwind CSS — OKLCH 设计系统令牌
  • react-i18next — 国际化(zh 主 / en 辅,JSON 语言文件)
  • Docusaurus — 文档站

AI / ML

  • vLLM(外部) — 远程 LLM 端点(Qwen3.6-35B-A3B-FP8 via vllm-fast.cxr-insight.com),SSE 流式生成已接入
  • RAG: LightRAG — 仓库分叉(PostgreSQL + pgvector + AGE 图谱,9621 端口),已完整集成
  • RAG: KohakuRAG — 本地引擎(嵌入后端,医学 X 光图像理解)
  • 嵌入模型 — Qwen3-Embedding-8B via OpenRouter(qwen/qwen3-embedding-8b),已集成
  • 对话智能体 — DeerFlow(SSE 流式对话,PPT 生成)
  • 语音识别 — 规划中:本地微调模型,教育术语纠错

已实现的 API 端点

  • 认证: POST /auth/registerPOST /auth/loginGET /auth/mePUT /auth/mePOST /auth/change-password
  • 教案: CRUD /lessonsPOST /lessons/:id/generate(SSE → vLLM)
  • 知识库: GET /knowledge/healthPOST /knowledge/qa(流式)、POST /knowledge/searchPOST /knowledge/ingestPOST /knowledge/upload
  • 对话: POST /chat(SSE 流式)、GET /chat/threadsGET /chat/files/:name
  • PPT: CRUD /presentationsPOST /presentations/:id/generate(DeerFlow PPT 生成)
  • 内部: GET /internal/lessonsGET /internal/presentations(服务间调用)
  • 健康检查: GET /health

基础设施

  • PVC 存储zhiheng-user-data-pvc(共享,sandbox-rwx RWX,per-user subPath 隔离)
  • PostgreSQL 16 — 主数据库(Docker,pgvector + AGE 图谱扩展)
  • Nginx — 反向代理(前端 + API,安全头、CSP、HSTS、gzip)
  • Kubernetes (k3s) — 生产部署(nginx、frontend、backend、db、redis、lightrag、deerflow、deerflow-mcp、sandbox-provisioner)
  • Cloudflare Tunnel — TLS 终止 → zhiheng.app
  • Cloudflare Worker — Session Cookie 认证门控(zhiheng-auth-gate
  • Cloudflare Pages — 文档站托管(docs-zhiheng.gxnu-agent.com
  • Redis 7 — 速率限制、对话线程存储、令牌存储
  • DeerFlow — AI 智能体平台(PPT 生成、多租户、沙箱)

设计系统

  • DESIGN.md — 正式令牌规范(已校验、通过 WCAG 审核)
  • Tailwind 导出DESIGN.tailwind.json,用于前端集成
  • 参考风格 — 参考 Mintlify,适配中国教育场景