modify: 进程插进目录结构更新

This commit is contained in:
2026-08-26 09:38:43 +08:00
parent a705d18e06
commit dfaca3ef3a
3 changed files with 14 additions and 13 deletions
+1 -1
View File
@@ -4,7 +4,7 @@ requires = ["hatchling"]
[project] [project]
name = "chongming-cli" name = "chongming-cli"
version = "0.1.0" version = "0.1.1"
description = "chongming 命令脚本集合:构建打包 / 进程插件打包 / 插件脚手架 / 模型生成" description = "chongming 命令脚本集合:构建打包 / 进程插件打包 / 插件脚手架 / 模型生成"
readme = "README.md" readme = "README.md"
requires-python = ">=3.12" requires-python = ">=3.12"
+1 -1
View File
@@ -17,7 +17,7 @@
├── config/zenoh_config.json5 Zenoh 会话配置 ├── config/zenoh_config.json5 Zenoh 会话配置
├── config.toml 最小根配置(仅 [zenoh] 节,worker 启动必需) ├── config.toml 最小根配置(仅 [zenoh] 节,worker 启动必需)
├── pyproject.toml uv 依赖清单(chongming-worker + 扩展依赖) ├── pyproject.toml uv 依赖清单(chongming-worker + 扩展依赖)
└── start.sh 容器入口: uv sync + uv run worker_serve --type <name> └── start.sh 容器入口: uv sync + uv run chongming-worker --type <name>
说明: 说明:
- 打包自动排除 __pycache__ / *.pyc / .venv / *.egg-info / .git - 打包自动排除 __pycache__ / *.pyc / .venv / *.egg-info / .git
+12 -11
View File
@@ -25,7 +25,7 @@
workers/<name>/config/zenoh_config.json5 Zenoh 会话配置(自仓库根复制) workers/<name>/config/zenoh_config.json5 Zenoh 会话配置(自仓库根复制)
workers/<name>/config.toml 最小根配置(仅 [zenoh] 节) workers/<name>/config.toml 最小根配置(仅 [zenoh] 节)
workers/<name>/pyproject.toml uv 依赖清单(chongming-worker + orjson) workers/<name>/pyproject.toml uv 依赖清单(chongming-worker + orjson)
workers/<name>/start.sh 入口脚本(uv sync + worker_serve) workers/<name>/start.sh 入口脚本(uv sync + chongming-worker)
生成内容(默认 inline): 生成内容(默认 inline):
config/workers/<name>/config.toml Worker 注册 + 运行时配置 config/workers/<name>/config.toml Worker 注册 + 运行时配置
@@ -76,7 +76,7 @@ module = "workers.{name}"
factory = "create_workers" factory = "create_workers"
cleanup = "cleanup" cleanup = "cleanup"
count = 1 count = 1
# 进程插件:由 Docker/K8s 编排拉起独立进程(容器入口 ./start.sh / worker_serve --type {name}), # 进程插件:由 Docker/K8s 编排拉起独立进程(容器入口 ./start.sh / chongming-worker --type {name}),
# 经 Zenoh 注册路由,网关动态挂载;与 src/plugins/ 下的 inline 插件可同时存在 # 经 Zenoh 注册路由,网关动态挂载;与 src/plugins/ 下的 inline 插件可同时存在
load_mode = "external" load_mode = "external"
@@ -272,7 +272,11 @@ json5_path = "config/zenoh_config.json5"
def _gen_pyproject_toml(name: str) -> str: def _gen_pyproject_toml(name: str) -> str:
"""插件 uv 依赖清单(chongming-worker + 扩展依赖,扩展依赖自行追加)。""" """插件 uv 依赖清单(chongming-worker + 扩展依赖,扩展依赖自行追加)。
注意:不声明 [project.scripts]——插件项目非打包项目(无 build-system),
uv sync 会跳过其入口点;worker 进程入口由 SDK 的 chongming-worker 脚本提供。
"""
deps = [ deps = [
"chongming-worker", "chongming-worker",
"orjson", # chongming-worker 运行时依赖(SDK metadata 未声明,容器内需显式安装) "orjson", # chongming-worker 运行时依赖(SDK metadata 未声明,容器内需显式安装)
@@ -288,9 +292,6 @@ dependencies = [
{deps_lines} {deps_lines}
] ]
[project.scripts]
worker_serve = "chongming_worker.process:worker_serve"
[[tool.uv.index]] [[tool.uv.index]]
url = "{PYPI_MIRROR}" url = "{PYPI_MIRROR}"
@@ -300,7 +301,7 @@ chongming-worker = {{ git = "{CHONGMING_WORKER_GIT}" }}
def _gen_start_sh(name: str) -> str: def _gen_start_sh(name: str) -> str:
"""容器入口脚本:uv 引导依赖 + 启动 worker 进程。""" """容器入口脚本:uv 引导依赖 + 启动 worker 进程(SDK 的 chongming-worker 脚本)。"""
return f"""#!/usr/bin/env bash return f"""#!/usr/bin/env bash
# {name} 进程插件容器入口(由 gen_plugin --process 生成) # {name} 进程插件容器入口(由 gen_plugin --process 生成)
# 要求: 镜像预装 uv(https://docs.astral.sh/uv/) # 要求: 镜像预装 uv(https://docs.astral.sh/uv/)
@@ -308,7 +309,7 @@ set -e
cd "$(dirname "$0")" cd "$(dirname "$0")"
uv sync --no-dev uv sync --no-dev
exec uv run worker_serve --type {name} "$@" exec uv run chongming-worker --type {name} "$@"
""" """
@@ -327,7 +328,7 @@ def _gen_readme(name: str) -> str:
│ └── workers/{name}/ 插件注册 + 端点配置(config.toml + <op>.toml) │ └── workers/{name}/ 插件注册 + 端点配置(config.toml + <op>.toml)
├── config.toml 最小根配置(仅 [zenoh] 节) ├── config.toml 最小根配置(仅 [zenoh] 节)
├── pyproject.toml uv 依赖清单(扩展依赖直接在此追加) ├── pyproject.toml uv 依赖清单(扩展依赖直接在此追加)
└── start.sh 入口脚本(uv sync + uv run worker_serve --type {name}) └── start.sh 入口脚本(uv sync + uv run chongming-worker --type {name})
``` ```
## 开发 ## 开发
@@ -339,7 +340,7 @@ uv run gen_models workers/{name}/config/workers/{name} workers/{name}/workers/{n
# 本地调试(在项目根执行,或直接 ./start.sh) # 本地调试(在项目根执行,或直接 ./start.sh)
cd workers/{name} cd workers/{name}
uv sync # 首次:安装依赖(项目独立 venv,与容器一致) uv sync # 首次:安装依赖(项目独立 venv,与容器一致)
uv run worker_serve --type {name} uv run chongming-worker --type {name}
``` ```
## 打包(在仓库根执行) ## 打包(在仓库根执行)
@@ -456,7 +457,7 @@ def generate_plugin(name: str, operations: list[str], process: bool = False) ->
print(f" 1. uv run gen_models {gen_models_cmd}") print(f" 1. uv run gen_models {gen_models_cmd}")
print(f" 2. 编辑 {code_dir.relative_to(ROOT)}/router/ 实现业务逻辑") print(f" 2. 编辑 {code_dir.relative_to(ROOT)}/router/ 实现业务逻辑")
if process: if process:
print(f" 3. cd {PROCESS_DIR.relative_to(ROOT)}/{name} && ./start.sh 或 uv run worker_serve --type {name}") print(f" 3. cd {PROCESS_DIR.relative_to(ROOT)}/{name} && ./start.sh 或 uv run chongming-worker --type {name}")
print(f" 4. uv run build_plugin {name}") print(f" 4. uv run build_plugin {name}")
else: else:
print(" 3. uv run serve") print(" 3. uv run serve")