Add scene type selector to the generator form:
- CSS styles for select element matching existing input style
- Dropdown with "报表收集类" (report_collection) and "监测类" (monitoring) options
- Pass sceneKind to /generate API endpoint
🤖 Generated with [Qoder][https://qoder.com]
Pass sceneKind to sg_scene_generate CLI when specified,
allowing generation of different scene kinds (report_collection,
monitoring, etc.).
🤖 Generated with [Qoder][https://qoder.com]
Add parent sgClaw directory to config search candidates so Node.js
server automatically finds the correct config with DeepSeek API
endpoint instead of the test config in claw-new directory.
🤖 Generated with [Qoder][https://qoder.com]
- server.js: sanitize static file paths to prevent directory traversal
(GET /../../sgclaw_config.json would expose API key)
- config-loader.js: fix normalizeBaseUrl to strip /v1 before appending,
preventing double /v1 for non-standard base URLs
🤖 Generated with [Qoder][https://qoder.com]
Add self-contained HTML page for the Scene Skill Generator frontend:
- Dual-column glass-morphism layout matching service-console style
- Left sidebar: status card, sourceDir input with analyze button,
sceneId/sceneName inputs, settings button, generate button
- Right panel: streaming log display with SSE event rendering
- Settings modal: outputRoot, lessons, llmBaseUrl, llmModel fields
- JavaScript: connects to http://127.0.0.1:3210, implements analyze()
via fetch POST /analyze, generate() via fetch POST /generate with
SSE stream reading, settings modal open/close
- Rust test verifying HTML file exists and contains required elements
🤖 Generated with [Qoder][https://qoder.com]
Add config-loader.js module for loading sgclaw_config.json credentials
and resolving project root directory. Add initial Rust source-guard test
to verify server file paths exist.
🤖 Generated with [Qoder][https://qoder.com]