Mosaic📔

服务端

Mosaic Go 后端概述

服务端

Mosaic 的生产服务端基于 Go、chi、pgx 和 PostgreSQL 构建。

Go 服务端位于 server-go/,发布镜像运行的就是它。server/ 目录是 Rust 参考实现(Actix Web + SQLx):它遵循同一份 HTTP 接口契约、读取同一套数据库结构,同时存放 Go 镜像构建时复用的共享管理后台。

技术栈

  • Web 框架: chi
  • 数据库驱动: pgx
  • 数据库: PostgreSQL + pgvector
  • 认证: JWT (access + refresh token)
  • 管理后台: server/admin-ui/ 构建的 React 产物,由 Go 服务端直接 serve

项目结构

server-go/
├── cmd/
│   ├── mosaic-server/    # 服务端入口
│   └── baseline-sqlx/    # 一次性迁移记账
├── internal/
│   ├── httpapi/    # 路由、处理器、中间件
│   ├── service/    # 业务逻辑
│   ├── store/      # PostgreSQL 数据访问
│   └── domain/     # 类型与共享契约
└── migrations/     # SQL 迁移

API 端点

端点说明
/api/auth/login登录
/api/memos笔记 CRUD
/api/diaries日记管理
/api/botsBot 配置
/openapi.json已提供 API 的 OpenAPI 3.1 文档

OpenAPI

运行中的服务端会在 http://localhost:8080/openapi.json 提供机器可读的 OpenAPI 3.1 文档。导入 Swagger Editor 或 Postman 的方法见 OpenAPI。

参考实现

server/ 中的 Rust 服务端仅作参考与回滚用途,并非已部署的后端。切换说明与回滚步骤见 server-go/CUTOVER.md。

On this page