2026-07-21 16:12:13 +08:00
|
|
|
|
# chongming Core
|
|
|
|
|
|
|
|
|
|
|
|
基于 FastAPI 的微服务网关脚手架,集成 Zenoh、Worker 框架、动态路由、模块银行何对象存储。
|
|
|
|
|
|
|
|
|
|
|
|
## 核心特性
|
|
|
|
|
|
|
|
|
|
|
|
- **FastAPI + Uvicorn**:高性能异步 Web 框架
|
|
|
|
|
|
- **Zenoh 服务发现**:基于 Zenoh 的 Worker 注册与 RPC 调用
|
|
|
|
|
|
- **动态路由生成**:根据 `config/workers` 下的 TOML 配置自动生成 API 端点
|
|
|
|
|
|
- **Worker 框架**:使用 `@rpc_method` 装饰器定义 RPC 方法,支持自动生成 Pydantic 模型
|
|
|
|
|
|
- **模块银行(module-bank)**:将 Python 模块加密打包为 SQLite 数据库,支持动态导入
|
|
|
|
|
|
- **对象存储代理**:集成 `nanio` (S3 兼容)文件上传/下载
|
|
|
|
|
|
- **构建打包**:支持 PyInstaller / Nuitka 一键打包为独立可执行文件
|
|
|
|
|
|
|
|
|
|
|
|
## 项目结构
|
|
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
|
.
|
|
|
|
|
|
├── config/ # 配置文件目录
|
|
|
|
|
|
│ ├── workers/ # Worker 路由配置
|
|
|
|
|
|
│ └── zenoh_config.json5 # Zenoh 配置
|
|
|
|
|
|
├── public/ # 公共启动文件(main.py, server.py)
|
|
|
|
|
|
├── src/
|
|
|
|
|
|
│ ├── chongming/ # 核心应用
|
|
|
|
|
|
│ │ ├── app/ # FastAPI 应用、路由、核心组件
|
|
|
|
|
|
│ │ └── scripts/ # 工具脚本(build, gen_models)
|
|
|
|
|
|
│ └── plugins/ # Worker 插件源码
|
|
|
|
|
|
├── utils/ # 子工具包(worker, request, jwt)
|
|
|
|
|
|
├── build_nuitka/ # Nuitka 打包配置示例
|
|
|
|
|
|
└── pyproject.toml # 项目依赖与工具配置
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 快速开始
|
|
|
|
|
|
|
|
|
|
|
|
1. 安装依赖 (推荐使用 uv)
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
uv sync
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
2. 启动服务(开发模式)
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
uv run serve
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
3. 访问 API 文档:`http://localhost:8000/docs`
|
|
|
|
|
|
|
|
|
|
|
|
## 构建
|
|
|
|
|
|
|
|
|
|
|
|
- PyInstaller:`uv run build pyinstaller`
|
|
|
|
|
|
- Nuitka:`uv run build nuitka`
|
|
|
|
|
|
|
|
|
|
|
|
## 更多文档
|
|
|
|
|
|
|
|
|
|
|
|
- Worker 开发指南(待补充)
|
2026-07-23 17:29:26 +08:00
|
|
|
|
- [配置说明](http://124.71.68.6:3000/chongming/chongming-config/src/branch/master/README.md)
|