🛠️ CommonServices — 一套后端,服务所有应用
别再为每个项目重复造轮子。部署一次,所有应用共享用户体系、授权管理和运维能力。
你一定遇到过这样的问题
每次启动新项目,你都要写一遍用户注册、密码重置、JWT 鉴权、角色权限。然后是文件上传、邮件通知、License 激活码管理。每个项目各有一套数据库、一套认证模块、一套管理后台。
- 周末都花在重复工作上 — 登录流程和权限系统已经写过好几遍了,每次还是要从头来
- 安全标准不统一 — 项目 A 用 bcrypt,项目 B 用 MD5,Token 过期策略各不相同
- 数据各自为政 — 用户信息、反馈工单、授权记录分散在不同数据库,没有统一视图
- 版本升级全靠手动 — 发了新版本,没有好的方式通知用户,更别提灰度发布
你花在基础设施上的时间,远远超过了打磨产品本身的时间。
解决方案
CommonServices 是一个私有部署的通用后端平台,把每个应用都需要的基础能力 — 用户认证、软件授权、反馈收集、文件存储、消息通知、版本升级 — 整合到一套统一的 API 中。你只需要部署一次,注册你的应用,就能立即获得生产级的后端能力,不用再写一行重复代码。
核心价值
| 你获得的能力 | 实现方式 |
|---|---|
| 一套用户体系,所有应用共用 | 用户注册一次,即可访问你开发的任何应用。内置 GitHub 和微信 OAuth 登录。 |
| 软件授权管理,无需第三方服务 | 生成激活码、绑定设备、设置试用期、追踪使用情况 — 全部在自己的服务器上完成。 |
| 多渠道反馈统一管理 | 从 GitHub Issues、Gitee、微信公众号拉取反馈,汇总到一个收件箱,支持自动回复和 AI 去重。 |
| 版本升级灰度发布 | 发布新版本、设置灰度比例,客户端自动检查更新 — 无需自建升级服务器。 |
| 按应用隔离的存储和数据库 | 每个应用拥有独立的文件存储和数据库,配额可控,自动创建。 |
| 完整审计日志 | 每一次操作都有记录 — 谁、做了什么、什么时候、从哪里,按月分区存储,查询高效。 |
核心功能
1. 统一认证与用户管理
一套登录系统覆盖所有应用。支持邮箱密码注册和 GitHub、微信 OAuth 登录。JWT 会话管理、Argon2 密码加密、个人访问令牌(PAT)带作用域权限控制、可配置的刷新令牌过期时间 — 全部开箱即用。
2. 软件授权与激活管理
为你的应用提供完整的授权引擎。定义定价方案、批量生成激活码、将 License 绑定到具体设备、设置试用期(支持离线宽限期),从管理后台或命令行工具管理完整的授权生命周期 — 试用、激活、暂停、吊销。
3. 多渠道反馈收集
连接 GitHub Issues、Gitee 或微信公众号作为反馈渠道。所有反馈汇入统一收件箱,支持分类标注、回复、自动回复规则(关键词、正则、AI 匹配),以及 AI 智能去重聚合。
4. 版本升级与发布管理
创建发布版本,附带版本号、更新日志和多平台安装包(Windows、macOS、Linux、Android、iOS)。通过灰度百分比控制发布节奏,客户端调用一个接口即可检查更新,支持强制升级。
5. 多租户应用管理
为每个应用注册独立的标识、API 凭证、团队成员和角色权限(用户、开发者、管理员)。每个应用拥有隔离的用户配额、数据库配额和文件存储配额,随时可以暂停、恢复或轮换凭证。
6. 管理后台与命令行工具
Vue 3 构建的 Web 管理后台,集成了仪表盘、用户管理、激活码生成、反馈处理、配置编辑和审计日志查看。csctl 命令行工具覆盖同样的操作,适合脚本和自动化场景。
快速开始
- 克隆仓库 并将
.env.example复制为.env,填写配置 - 启动基础设施 — 执行
docker compose up -d postgres caddy启动 PostgreSQL 和 Caddy - 执行数据库迁移 — 运行
sqlx migrate run创建所有数据表 - 启动 API 服务 — 运行
cargo run -p server,服务将监听 8000 端口 - 打开管理后台 — 进入
admin-console目录,执行npm install && npm run dev,注册第一个用户并创建应用
获取方式
| 组件 | 获取方式 | 环境要求 |
|---|---|---|
| API 服务 | 源码 | Rust stable, PostgreSQL 17 |
| 管理后台 | 源码 | Node.js 18+ |
| 命令行工具 | cargo install --path crates/csctl |
Rust stable |
| Docker 部署 | docker compose up |
Docker 24+, Docker Compose v2 |
CommonServices 为私有部署方案。克隆仓库后部署到你自己的服务器上。
隐私与数据
- 数据完全在你的服务器上 — CommonServices 运行在你自己的基础设施上,没有外部遥测,不依赖任何云服务。
- 无需注册第三方账号 — 平台本身不需要向任何外部服务注册。
- 数据库完全可控 — PostgreSQL 存储,每个应用 Schema 隔离,数据完全归你所有。
路线图
CommonServices 目前处于 原型 阶段。
已实现的能力:
- 用户认证(JWT + OAuth:GitHub、微信)
- 多租户应用注册与管理
- 软件授权管理(激活码、设备绑定、试用期)
- 多渠道反馈收集与自动回复
- 版本升级管理与灰度发布
- 证书签发与生命周期管理(CA)
- 多渠道通知(邮件、短信、微信、应用内)
- 配置管理与功能开关
- 审计日志(按月分区存储)
- 可观测性集成(Prometheus、Loki、Grafana)
- Vue 3 管理后台与 csctl 命令行工具
即将到来:
- 生产环境部署指南与 Helm Charts
- 插件系统,支持自定义服务模块
- 常用语言客户端 SDK
- 增强版数据分析仪表盘
社区与支持
不想再重复造后端轮子? 立即开始