Recommended mapping:
skills/site-builder/ -> your skills directoryapp/services/*.py -> your service/runtime directorytests/ -> your tests directoryYour agent or API layer should instantiate:
1
2
runtime = SiteBuilderRuntime()
result = runtime.handle_message(session_id, user_text)
Then return:
result["reply"]result["stage"]result["task"]result["build_job"]Replace InMemorySiteBuilderStore with your DB-backed store if you need persistence.
Replace SiteGeneratorClient.submit_build_job() with your real job submission API.
The current extractor is rule-based. For production, replace it with:
SiteBuilderExtractor is intentionally lightweighthandle_message(session_id, text) returns:
1
2
3
4
5
6
7
8
9
10
{
"ok": true,
"stage": "build_ready",
"action": "build_ready",
"state": {...},
"site_blueprint": {...},
"build_job": {...},
"task": {...},
"reply": "站点任务已提交,预览地址:https://..."
}