# softbus_orchestrator (Python) ## 包结构(按功能分目录) | 目录 | 职责 | |------|------| | `softbus_orchestrator/governance/` | catalog 路径与 JSON 读写、`/api/v1/objects`、`/api/v1/graphs` 等治理路由 | | `softbus_orchestrator/bridge/` | D-Bus `executeCommand`、`POST /v1/command` | | `softbus_orchestrator/compat/` | 旧形态 REST → 内部转 `executeCommand` | | `softbus_orchestrator/dag/` | Unix ingress、`DagExecutionService`、`runtime_planner`、`/api/v1/orchestrator/status` | | `softbus_orchestrator/app.py` | 组装 FastAPI、CORS、lifespan、挂载子路由、`GET /health` | Run (from `softbus_orchestrator_py/`): ```bash python -m venv .venv && source .venv/bin/activate pip install -r requirements.txt python -m softbus_orchestrator --http-port 19080 --ipc-socket softbus_orchestrator_bus ``` Requires `softbus_daemon` running as `CoreRouter` with D-Bus `com.softbus.Daemon` for `/v1/command` proxy. Environment: - `SOFTBUS_CONFIG_DIR`: optional override for `~/softbus/config` (catalog + `graph_catalog.json` for DAG). Graph catalog HTTP: - `POST /api/v1/graphs` upserts by `graphId` (does not duplicate entries). - `POST /api/v1/graphs/{id}/versions` appends `{ version, nodes, edges, ... }`; creates graph shell if missing. Pipeline–DOM binding is not a single built-in endpoint; extend `executeCommand` / config files after product sign-off.