58 lines
1.8 KiB
Markdown
58 lines
1.8 KiB
Markdown
# 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 开发指南(待补充)
|
||
- [配置说明](http://124.71.68.6:3000/chongming/chongming-config.git/README.md)
|