# chat **Repository Path**: solidify-the-foundation/chat ## Basic Information - **Project Name**: chat - **Description**: 聊天 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-18 - **Last Updated**: 2026-06-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Chat 多模型 AI 聊天平台,目标是按微服务方式实现类似 ChatGPT / Poe 的聊天、模型切换、媒体生成、附件、通知和用量统计能力。 当前仓库处于 **M1 地基阶段**:先建立 monorepo、Go module、基础命令、proto 生成入口、本地中间件、`user-svc`、`gateway-svc` 和前端登录/WS 基础链路。 ## 架构方向 - 前端:React 18 + TypeScript + Vite - 后端:Go 1.26 - 对外入口:`gateway-svc`,负责 HTTP/WS、JWT、连接管理和协议转换 - 服务通信:gRPC + protobuf - 服务发现:etcd v3 - 数据库:PostgreSQL,按业务 schema 隔离 - 异步通知:RabbitMQ - 异步任务:Redis / Asynq - 对象存储:MinIO ## 计划中的服务 ```text services/ ├── gateway/ # M1: 对外 HTTP/WS 入口 ├── user/ # M1: 注册、登录、JWT、用户信息 ├── chat/ # M2: 对话主流程编排 ├── conversation/ # M2: 会话 CRUD、置顶、归档、标签 ├── message/ # M2: 消息持久化、历史分页、上下文裁剪 ├── llm/ # M2/M3: 多模型 Provider 抽象和流式输出 ├── usage/ # M3: token 用量、配额、限流 ├── media/ # M4/M5: 生图、生视频任务编排 ├── storage/ # M4: MinIO 上传、下载、预签名 URL └── notification/ # M4: RabbitMQ 事件分发 ``` ## 当前命令 ```bash make test make build make verify make proto make up make down make smoke ``` `proto`、Go 测试、Go 构建和前端构建已经纳入 M1 验证。`up` 和 `smoke` 依赖本机 Docker daemon:`make up` 会启动中间件、`user-svc`、`gateway-svc` 和前端容器,`make smoke` 会跑注册、登录、WS 连接、断线重连、resume 补发和 ack 验收。 ## 本地验证 ```bash make proto make test make build cd frontend && npm run build ``` 这些命令会验证当前 proto、Go 包、公共库、user-svc、gateway-svc、smoke 程序和前端构建。 ## 本地启动 ```bash make up make smoke ``` `make smoke` 默认访问 `http://127.0.0.1:8080`,也可以通过 `GATEWAY_URL` 指向其他 gateway 地址。 如果本机拉取 `postgres:16-alpine` 很慢,或 `2379` 已被占用,可用本地覆盖参数完成 M1 验收: ```bash make up POSTGRES_IMAGE=postgres:15-alpine ETCD_CLIENT_PORT=12379 ETCD_PEER_PORT=12380 make smoke ``` 如果只启动前端开发服务器: ```bash cd frontend npm install npm run dev ``` 前端默认代理到 `http://127.0.0.1:8080`,WebSocket 走 `/ws`。 ## 详细规划 - 总体方案:[docs/PLAN.md](docs/PLAN.md) - 当前进度:[docs/PROGRESS.md](docs/PROGRESS.md) - 详细执行计划:[docs/superpowers/plans/2026-06-19-chat-microservices-detailed-plan.md](docs/superpowers/plans/2026-06-19-chat-microservices-detailed-plan.md)