minimal-agent 0.8.2 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -12
- package/package.json +34 -1
- package/plugins/cron-runner/.claude-plugin/plugin.json +5 -0
- package/plugins/cron-runner/commands/cron.md +26 -0
- package/plugins/cron-runner/commands/crons.md +7 -0
- package/plugins/cron-runner/plugin.js +34 -0
- package/plugins/cron-runner/src/commands.js +348 -0
- package/plugins/cron-runner/src/cronTime.js +148 -0
- package/plugins/cron-runner/src/lock.js +68 -0
- package/plugins/cron-runner/src/runs.js +89 -0
- package/plugins/cron-runner/src/scheduleEngine.js +72 -0
- package/plugins/cron-runner/src/scheduler.js +355 -0
- package/plugins/cron-runner/src/schema.js +140 -0
- package/plugins/cron-runner/src/service.js +167 -0
- package/plugins/cron-runner/src/store.js +298 -0
- package/plugins/cron-runner/src/types.js +1 -0
- package/plugins/workflow-runner/commands/workflow.md +4 -4
- package/plugins/workflow-runner/commands/workflows.md +1 -1
- package/plugins/workflow-runner/plugin.js +3 -1
- package/plugins/workflow-runner/src/agentCommon.js +249 -51
- package/plugins/workflow-runner/src/dslManifest.js +72 -0
- package/plugins/workflow-runner/src/expressions.js +198 -15
- package/plugins/workflow-runner/src/index.js +40 -8
- package/plugins/workflow-runner/src/jsonPayload.js +1 -1
- package/plugins/workflow-runner/src/loader.js +286 -72
- package/plugins/workflow-runner/src/multimodal.js +37 -0
- package/plugins/workflow-runner/src/recovery.js +49 -39
- package/plugins/workflow-runner/src/runner.js +802 -287
- package/plugins/workflow-runner/src/stepExecutors/agent.js +157 -39
- package/plugins/workflow-runner/src/stepExecutors/assert.js +16 -3
- package/plugins/workflow-runner/src/stepExecutors/llm.js +60 -111
- package/plugins/workflow-runner/src/stepExecutors/skill.js +47 -47
- package/plugins/workflow-runner/src/stepExecutors/tool.js +76 -10
- package/plugins/workflow-runner/src/stepExecutors/verify.js +27 -10
- package/plugins/workflow-runner/src/taskIdentity.js +296 -0
- package/plugins/workflow-runner/src/types.js +19 -9
- package/plugins/workflow-runner/src/workflowState.js +516 -33
- package/skills/adversarial-review/SKILL.md +0 -1
- package/skills/ai-image/SKILL.md +89 -0
- package/skills/ai-image/scripts/generate.mjs +497 -0
- package/skills/ai-image/scripts/generate_from_plan.mjs +469 -0
- package/skills/ai-image/scripts/generate_from_plan_test.mjs +223 -0
- package/skills/ai-image/scripts/generate_test.mjs +74 -0
- package/skills/browser-automation/SKILL.md +47 -0
- package/skills/docx/SKILL.md +25 -3
- package/skills/docx/scripts/office/helpers/__pycache__/__init__.cpython-314.pyc +0 -0
- package/skills/docx/scripts/office/helpers/__pycache__/merge_runs.cpython-314.pyc +0 -0
- package/skills/docx/scripts/office/helpers/__pycache__/simplify_redlines.cpython-314.pyc +0 -0
- package/skills/docx/scripts/office/validators/__pycache__/__init__.cpython-314.pyc +0 -0
- package/skills/docx/scripts/office/validators/__pycache__/base.cpython-314.pyc +0 -0
- package/skills/docx/scripts/office/validators/__pycache__/docx.cpython-314.pyc +0 -0
- package/skills/docx/scripts/office/validators/__pycache__/pptx.cpython-314.pyc +0 -0
- package/skills/docx/scripts/office/validators/__pycache__/redlining.cpython-314.pyc +0 -0
- package/skills/docx/scripts/opc_check.py +253 -0
- package/skills/image-gen-openrouter/SKILL.md +10 -2
- package/skills/image-stats/SKILL.md +65 -0
- package/skills/image-stats/scripts/__pycache__/image_stats.cpython-314.pyc +0 -0
- package/skills/image-stats/scripts/__pycache__/image_stats_test.cpython-314.pyc +0 -0
- package/skills/image-stats/scripts/image_stats.py +368 -0
- package/skills/image-stats/scripts/image_stats_test.py +181 -0
- package/skills/pptx/SKILL.md +123 -95
- package/skills/pptx/design.md +82 -0
- package/skills/pptx/examples/README.md +29 -0
- package/skills/pptx/examples/hybrid_example.mjs +107 -0
- package/skills/pptx/examples/hybrid_example.pptx +0 -0
- package/skills/pptx/pptxgenjs.md +41 -0
- package/skills/pptx/scripts/deck_helpers.mjs +224 -0
- package/skills/pptx/scripts/layout_lint.py +293 -0
- package/skills/pptx/scripts/layout_lint_test.py +160 -0
- package/skills/pptx/scripts/opc_check.py +339 -0
- package/skills/pptx/scripts/svg_fallback.mjs +145 -0
- package/skills/pptx/svg.md +67 -0
- package/skills/tts-zh/SKILL.md +19 -2
- package/skills/ui-design/SKILL.md +158 -0
- package/skills/ui-design/claude_design.md +309 -0
- package/skills/ui-design/evals/evals.json +254 -0
- package/skills/ui-design/references/aesthetic-direction.md +83 -0
- package/skills/ui-design/references/claude-design-protocol.md +36 -0
- package/skills/ui-design/references/design-context.md +53 -0
- package/skills/ui-design/references/design-execution-playbook.md +82 -0
- package/skills/ui-design/references/export-pptx.md +124 -0
- package/skills/ui-design/references/layout-composition.md +654 -0
- package/skills/ui-design/references/preview-feedback.md +37 -0
- package/skills/ui-design/references/source-image-layout.md +189 -0
- package/skills/ui-design/references/starter-components.md +78 -0
- package/skills/ui-design/references/vi-aegis-vector.md +144 -0
- package/skills/ui-design/references/vi-amber-prism.md +133 -0
- package/skills/ui-design/references/vi-aqua-glass.md +200 -0
- package/skills/ui-design/references/vi-comfort-vision.md +147 -0
- package/skills/ui-design/references/vi-ember-prism.md +140 -0
- package/skills/ui-design/references/vi-nebula-console.md +151 -0
- package/skills/ui-design/references/vi-obsidian-optics.md +139 -0
- package/skills/ui-design/references/vi-obsidian-xui.md +143 -0
- package/skills/ui-design/references/vi-precision-horizon-dark.md +117 -0
- package/skills/ui-design/references/vi-precision-horizon.md +215 -0
- package/skills/ui-design/references/vi-solar-relay.md +130 -0
- package/skills/ui-design/references/vi-template-workflow.md +48 -0
- package/skills/ui-design/references/vi-verdant-grid.md +141 -0
- package/skills/ui-design/references/vi-violet-meridian.md +172 -0
- package/skills/ui-design/scripts/__pycache__/assemble_material.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/assemble_material_test.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/chart_sanity_check.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/check_language_policy.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/check_ui_artifact.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/check_ui_artifact_pptx_test.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/deck_pages_check.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/deck_pages_check_test.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/deck_visual_style_check.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/deck_visual_style_check_test.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/design_budget_check.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/design_budget_check_test.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/design_repair_hints.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/design_repair_hints_test.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/design_style_check.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/design_style_check_test.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/draft_coverage_check.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/extract_source_assets.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/extract_source_assets_test.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/generated_image_review_collect.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/generated_image_review_collect_test.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/image_plan_lint.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/image_plan_lint_test.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/image_prompt_rewrite.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/image_prompt_rewrite_test.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/layout_balance.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/layout_balance_test.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/normalize_design_json.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/normalize_design_json_test.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/plan_source_layout.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/plan_source_layout_test.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/resolve_source_hint.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/resolve_source_hint_test.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/resolve_source_input.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/resolve_source_input_test.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/scaffold_ui_artifact.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/source_usage_check.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/source_usage_check_test.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/text_readability_pixel.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/visual_quality_gate.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/__pycache__/visual_quality_gate_test.cpython-314.pyc +0 -0
- package/skills/ui-design/scripts/assemble_material.py +217 -0
- package/skills/ui-design/scripts/assemble_material_test.py +149 -0
- package/skills/ui-design/scripts/browser_check_ui_artifact.mjs +221 -0
- package/skills/ui-design/scripts/chart_sanity_check.py +261 -0
- package/skills/ui-design/scripts/chart_sanity_check_test.py +165 -0
- package/skills/ui-design/scripts/check_language_policy.py +351 -0
- package/skills/ui-design/scripts/check_ui_artifact.py +435 -0
- package/skills/ui-design/scripts/check_ui_artifact_pptx_test.py +251 -0
- package/skills/ui-design/scripts/deck_pages_check.py +158 -0
- package/skills/ui-design/scripts/deck_pages_check_test.py +134 -0
- package/skills/ui-design/scripts/deck_visual_style_check.py +767 -0
- package/skills/ui-design/scripts/deck_visual_style_check_test.py +713 -0
- package/skills/ui-design/scripts/design_budget_check.py +271 -0
- package/skills/ui-design/scripts/design_budget_check_test.py +183 -0
- package/skills/ui-design/scripts/design_repair_hints.py +162 -0
- package/skills/ui-design/scripts/design_repair_hints_test.py +54 -0
- package/skills/ui-design/scripts/design_style_check.py +397 -0
- package/skills/ui-design/scripts/design_style_check_test.py +233 -0
- package/skills/ui-design/scripts/draft_coverage_check.py +184 -0
- package/skills/ui-design/scripts/draft_coverage_check_test.py +131 -0
- package/skills/ui-design/scripts/export_pptx_from_html.mjs +2367 -0
- package/skills/ui-design/scripts/extract_source_assets.py +607 -0
- package/skills/ui-design/scripts/extract_source_assets_test.py +256 -0
- package/skills/ui-design/scripts/generated_image_review_collect.py +206 -0
- package/skills/ui-design/scripts/generated_image_review_collect_test.py +91 -0
- package/skills/ui-design/scripts/image_plan_lint.py +571 -0
- package/skills/ui-design/scripts/image_plan_lint_test.py +515 -0
- package/skills/ui-design/scripts/image_prompt_rewrite.py +713 -0
- package/skills/ui-design/scripts/image_prompt_rewrite_test.py +966 -0
- package/skills/ui-design/scripts/layout_balance.py +881 -0
- package/skills/ui-design/scripts/layout_balance_test.py +927 -0
- package/skills/ui-design/scripts/normalize_design_json.py +272 -0
- package/skills/ui-design/scripts/normalize_design_json_test.py +119 -0
- package/skills/ui-design/scripts/plan_source_layout.py +1450 -0
- package/skills/ui-design/scripts/plan_source_layout_test.py +1136 -0
- package/skills/ui-design/scripts/resolve_source_input.py +270 -0
- package/skills/ui-design/scripts/resolve_source_input_test.py +98 -0
- package/skills/ui-design/scripts/scaffold_ui_artifact.py +377 -0
- package/skills/ui-design/scripts/source_usage_check.py +581 -0
- package/skills/ui-design/scripts/source_usage_check_test.py +427 -0
- package/skills/ui-design/scripts/text_readability_pixel.py +340 -0
- package/skills/ui-design/scripts/text_readability_pixel_test.py +219 -0
- package/skills/ui-design/scripts/visual_quality_gate.py +301 -0
- package/skills/ui-design/scripts/visual_quality_gate_test.py +233 -0
- package/skills/ui-design/tests/e2e/prompts/deck.md +19 -0
- package/skills/ui-design/tests/e2e/prompts/webpage.md +17 -0
- package/skills/ui-design/tests/e2e/render_check.mjs +101 -0
- package/skills/ui-design/tests/e2e/rubric.json +54 -0
- package/skills/ui-design/tests/e2e/runs/aegis-vector-preview-1/checks/browser-check.json +49 -0
- package/skills/ui-design/tests/e2e/runs/aegis-vector-preview-1/checks/language-check.txt +12 -0
- package/skills/ui-design/tests/e2e/runs/aegis-vector-preview-1/checks/static-check.txt +15 -0
- package/skills/ui-design/tests/e2e/runs/aegis-vector-preview-1/outputs/index.html +837 -0
- package/skills/ui-design/tests/e2e/runs/aegis-vector-preview-1/prompt.md +12 -0
- package/skills/ui-design/tests/e2e/runs/aegis-vector-preview-1/review.md +21 -0
- package/skills/ui-design/tests/e2e/runs/aegis-vector-preview-1/screenshots/desktop.png +0 -0
- package/skills/ui-design/tests/e2e/runs/aegis-vector-preview-1/screenshots/mobile.png +0 -0
- package/skills/ui-design/tests/e2e/runs/amber-prism-screenshot-check-1/outputs/homepage.html +373 -0
- package/skills/ui-design/tests/e2e/runs/amber-prism-screenshot-check-1/outputs/platform.html +378 -0
- package/skills/ui-design/tests/e2e/runs/amber-prism-screenshot-check-1/prompt.md +13 -0
- package/skills/ui-design/tests/e2e/runs/amber-prism-screenshot-check-1/review.md +26 -0
- package/skills/ui-design/tests/e2e/runs/amber-prism-screenshot-check-1/screenshots/homepage/browser-check.json +49 -0
- package/skills/ui-design/tests/e2e/runs/amber-prism-screenshot-check-1/screenshots/homepage/desktop.png +0 -0
- package/skills/ui-design/tests/e2e/runs/amber-prism-screenshot-check-1/screenshots/homepage/mobile.png +0 -0
- package/skills/ui-design/tests/e2e/runs/amber-prism-screenshot-check-1/screenshots/platform/browser-check.json +49 -0
- package/skills/ui-design/tests/e2e/runs/amber-prism-screenshot-check-1/screenshots/platform/desktop.png +0 -0
- package/skills/ui-design/tests/e2e/runs/amber-prism-screenshot-check-1/screenshots/platform/mobile.png +0 -0
- package/skills/ui-design/tests/e2e/runs/aqua-glass-iteration-1/checks/static-check.txt +2 -0
- package/skills/ui-design/tests/e2e/runs/aqua-glass-iteration-1/outputs/index.html +656 -0
- package/skills/ui-design/tests/e2e/runs/aqua-glass-iteration-1/prompt.md +12 -0
- package/skills/ui-design/tests/e2e/runs/aqua-glass-iteration-1/render_check.mjs +67 -0
- package/skills/ui-design/tests/e2e/runs/aqua-glass-iteration-2/checks/static-check.txt +2 -0
- package/skills/ui-design/tests/e2e/runs/aqua-glass-iteration-2/outputs/index.html +587 -0
- package/skills/ui-design/tests/e2e/runs/aqua-glass-iteration-2/prompt.md +12 -0
- package/skills/ui-design/tests/e2e/runs/aqua-glass-iteration-2/review.md +36 -0
- package/skills/ui-design/tests/e2e/runs/aqua-glass-volcano-refresh-1/checks/browser-check.json +49 -0
- package/skills/ui-design/tests/e2e/runs/aqua-glass-volcano-refresh-1/checks/language-check.txt +8 -0
- package/skills/ui-design/tests/e2e/runs/aqua-glass-volcano-refresh-1/checks/static-check.txt +16 -0
- package/skills/ui-design/tests/e2e/runs/aqua-glass-volcano-refresh-1/outputs/index.html +739 -0
- package/skills/ui-design/tests/e2e/runs/aqua-glass-volcano-refresh-1/prompt.md +11 -0
- package/skills/ui-design/tests/e2e/runs/aqua-glass-volcano-refresh-1/review.md +22 -0
- package/skills/ui-design/tests/e2e/runs/aqua-glass-volcano-refresh-1/screenshots/desktop.png +0 -0
- package/skills/ui-design/tests/e2e/runs/aqua-glass-volcano-refresh-1/screenshots/mobile.png +0 -0
- package/skills/ui-design/tests/e2e/runs/comfort-vision-preview-1/checks/browser-check.json +52 -0
- package/skills/ui-design/tests/e2e/runs/comfort-vision-preview-1/outputs/index.html +641 -0
- package/skills/ui-design/tests/e2e/runs/comfort-vision-preview-1/screenshots/desktop.png +0 -0
- package/skills/ui-design/tests/e2e/runs/comfort-vision-preview-1/screenshots/mobile.png +0 -0
- package/skills/ui-design/tests/e2e/runs/ember-prism-red-preview-1/outputs/index.html +467 -0
- package/skills/ui-design/tests/e2e/runs/ember-prism-red-preview-1/screenshots/browser-check.json +49 -0
- package/skills/ui-design/tests/e2e/runs/ember-prism-red-preview-1/screenshots/desktop.png +0 -0
- package/skills/ui-design/tests/e2e/runs/ember-prism-red-preview-1/screenshots/mobile.png +0 -0
- package/skills/ui-design/tests/e2e/runs/ember-prism-screenshot-check-1/outputs/homepage.html +373 -0
- package/skills/ui-design/tests/e2e/runs/ember-prism-screenshot-check-1/outputs/platform.html +378 -0
- package/skills/ui-design/tests/e2e/runs/ember-prism-screenshot-check-1/prompt.md +13 -0
- package/skills/ui-design/tests/e2e/runs/ember-prism-screenshot-check-1/review.md +26 -0
- package/skills/ui-design/tests/e2e/runs/ember-prism-screenshot-check-1/screenshots/homepage/browser-check.json +49 -0
- package/skills/ui-design/tests/e2e/runs/ember-prism-screenshot-check-1/screenshots/homepage/desktop.png +0 -0
- package/skills/ui-design/tests/e2e/runs/ember-prism-screenshot-check-1/screenshots/homepage/mobile.png +0 -0
- package/skills/ui-design/tests/e2e/runs/ember-prism-screenshot-check-1/screenshots/platform/browser-check.json +49 -0
- package/skills/ui-design/tests/e2e/runs/ember-prism-screenshot-check-1/screenshots/platform/desktop.png +0 -0
- package/skills/ui-design/tests/e2e/runs/ember-prism-screenshot-check-1/screenshots/platform/mobile.png +0 -0
- package/skills/ui-design/tests/e2e/runs/empty-agent-protocol-check/checks/browser-check.json +49 -0
- package/skills/ui-design/tests/e2e/runs/empty-agent-protocol-check/checks/language-check.txt +4 -0
- package/skills/ui-design/tests/e2e/runs/empty-agent-protocol-check/checks/static-check.txt +2 -0
- package/skills/ui-design/tests/e2e/runs/empty-agent-protocol-check/execution_notes.md +10 -0
- package/skills/ui-design/tests/e2e/runs/empty-agent-protocol-check/outputs/index.html +587 -0
- package/skills/ui-design/tests/e2e/runs/empty-agent-protocol-check/prompt.md +14 -0
- package/skills/ui-design/tests/e2e/runs/empty-agent-protocol-check/review.md +13 -0
- package/skills/ui-design/tests/e2e/runs/empty-agent-protocol-check/screenshots/desktop.png +0 -0
- package/skills/ui-design/tests/e2e/runs/empty-agent-protocol-check/screenshots/mobile.png +0 -0
- package/skills/ui-design/tests/e2e/runs/iteration-1/deck/checks/browser-check.json +24 -0
- package/skills/ui-design/tests/e2e/runs/iteration-1/deck/checks/static-check.txt +2 -0
- package/skills/ui-design/tests/e2e/runs/iteration-1/deck/execution_notes.md +21 -0
- package/skills/ui-design/tests/e2e/runs/iteration-1/deck/outputs/deck.html +451 -0
- package/skills/ui-design/tests/e2e/runs/iteration-1/deck/screenshots/slide-01.png +0 -0
- package/skills/ui-design/tests/e2e/runs/iteration-1/deck/screenshots/slide-02.png +0 -0
- package/skills/ui-design/tests/e2e/runs/iteration-1/review.md +79 -0
- package/skills/ui-design/tests/e2e/runs/iteration-1/webpage/checks/browser-check.json +26 -0
- package/skills/ui-design/tests/e2e/runs/iteration-1/webpage/checks/static-check.txt +2 -0
- package/skills/ui-design/tests/e2e/runs/iteration-1/webpage/execution_notes.md +20 -0
- package/skills/ui-design/tests/e2e/runs/iteration-1/webpage/outputs/index.html +534 -0
- package/skills/ui-design/tests/e2e/runs/iteration-1/webpage/screenshots/desktop.png +0 -0
- package/skills/ui-design/tests/e2e/runs/iteration-1/webpage/screenshots/mobile.png +0 -0
- package/skills/ui-design/tests/e2e/runs/nebula-console-iteration-1/checks/browser-check.json +64 -0
- package/skills/ui-design/tests/e2e/runs/nebula-console-iteration-1/checks/language-check.txt +7 -0
- package/skills/ui-design/tests/e2e/runs/nebula-console-iteration-1/checks/quick-validate.txt +1 -0
- package/skills/ui-design/tests/e2e/runs/nebula-console-iteration-1/checks/static-console.txt +2 -0
- package/skills/ui-design/tests/e2e/runs/nebula-console-iteration-1/checks/static-homepage.txt +2 -0
- package/skills/ui-design/tests/e2e/runs/nebula-console-iteration-1/outputs/console.html +600 -0
- package/skills/ui-design/tests/e2e/runs/nebula-console-iteration-1/outputs/homepage.html +556 -0
- package/skills/ui-design/tests/e2e/runs/nebula-console-iteration-1/prompt.md +29 -0
- package/skills/ui-design/tests/e2e/runs/nebula-console-iteration-1/review.md +57 -0
- package/skills/ui-design/tests/e2e/runs/nebula-console-iteration-1/screenshots/console-desktop.png +0 -0
- package/skills/ui-design/tests/e2e/runs/nebula-console-iteration-1/screenshots/console-mobile.png +0 -0
- package/skills/ui-design/tests/e2e/runs/nebula-console-iteration-1/screenshots/homepage-desktop.png +0 -0
- package/skills/ui-design/tests/e2e/runs/nebula-console-iteration-1/screenshots/homepage-mobile.png +0 -0
- package/skills/ui-design/tests/e2e/runs/obsidian-optics-iteration-1/checks/browser-check.json +33 -0
- package/skills/ui-design/tests/e2e/runs/obsidian-optics-iteration-1/checks/language-check.txt +6 -0
- package/skills/ui-design/tests/e2e/runs/obsidian-optics-iteration-1/checks/quick-validate.txt +1 -0
- package/skills/ui-design/tests/e2e/runs/obsidian-optics-iteration-1/checks/static-check.txt +2 -0
- package/skills/ui-design/tests/e2e/runs/obsidian-optics-iteration-1/outputs/index.html +682 -0
- package/skills/ui-design/tests/e2e/runs/obsidian-optics-iteration-1/prompt.md +13 -0
- package/skills/ui-design/tests/e2e/runs/obsidian-optics-iteration-1/review.md +59 -0
- package/skills/ui-design/tests/e2e/runs/obsidian-optics-iteration-1/screenshots/desktop.png +0 -0
- package/skills/ui-design/tests/e2e/runs/obsidian-optics-iteration-1/screenshots/mobile.png +0 -0
- package/skills/ui-design/tests/e2e/runs/obsidian-xui-screenshot-check-1/outputs/page-01.html +466 -0
- package/skills/ui-design/tests/e2e/runs/obsidian-xui-screenshot-check-1/outputs/page-02.html +433 -0
- package/skills/ui-design/tests/e2e/runs/obsidian-xui-screenshot-check-1/prompt.md +13 -0
- package/skills/ui-design/tests/e2e/runs/obsidian-xui-screenshot-check-1/screenshots/page-01/browser-check.json +49 -0
- package/skills/ui-design/tests/e2e/runs/obsidian-xui-screenshot-check-1/screenshots/page-01/desktop.png +0 -0
- package/skills/ui-design/tests/e2e/runs/obsidian-xui-screenshot-check-1/screenshots/page-01/mobile.png +0 -0
- package/skills/ui-design/tests/e2e/runs/obsidian-xui-screenshot-check-1/screenshots/page-02/browser-check.json +49 -0
- package/skills/ui-design/tests/e2e/runs/obsidian-xui-screenshot-check-1/screenshots/page-02/desktop.png +0 -0
- package/skills/ui-design/tests/e2e/runs/obsidian-xui-screenshot-check-1/screenshots/page-02/mobile.png +0 -0
- package/skills/ui-design/tests/e2e/runs/precision-horizon-iteration-1/checks/browser-check.json +49 -0
- package/skills/ui-design/tests/e2e/runs/precision-horizon-iteration-1/checks/language-check.txt +3 -0
- package/skills/ui-design/tests/e2e/runs/precision-horizon-iteration-1/checks/static-check.txt +2 -0
- package/skills/ui-design/tests/e2e/runs/precision-horizon-iteration-1/execution_notes.md +24 -0
- package/skills/ui-design/tests/e2e/runs/precision-horizon-iteration-1/outputs/index.html +723 -0
- package/skills/ui-design/tests/e2e/runs/precision-horizon-iteration-1/prompt.md +15 -0
- package/skills/ui-design/tests/e2e/runs/precision-horizon-iteration-1/review.md +26 -0
- package/skills/ui-design/tests/e2e/runs/precision-horizon-iteration-1/screenshots/desktop.png +0 -0
- package/skills/ui-design/tests/e2e/runs/precision-horizon-iteration-1/screenshots/mobile.png +0 -0
- package/skills/ui-design/tests/e2e/runs/precision-horizon-iteration-2/checks/browser-dark.json +49 -0
- package/skills/ui-design/tests/e2e/runs/precision-horizon-iteration-2/checks/browser-light.json +49 -0
- package/skills/ui-design/tests/e2e/runs/precision-horizon-iteration-2/checks/language-check.txt +11 -0
- package/skills/ui-design/tests/e2e/runs/precision-horizon-iteration-2/checks/static-dark.txt +2 -0
- package/skills/ui-design/tests/e2e/runs/precision-horizon-iteration-2/checks/static-light.txt +3 -0
- package/skills/ui-design/tests/e2e/runs/precision-horizon-iteration-2/execution_notes.md +23 -0
- package/skills/ui-design/tests/e2e/runs/precision-horizon-iteration-2/outputs/dark.html +392 -0
- package/skills/ui-design/tests/e2e/runs/precision-horizon-iteration-2/outputs/light.html +476 -0
- package/skills/ui-design/tests/e2e/runs/precision-horizon-iteration-2/prompt.md +23 -0
- package/skills/ui-design/tests/e2e/runs/precision-horizon-iteration-2/review.md +41 -0
- package/skills/ui-design/tests/e2e/runs/precision-horizon-iteration-2/screenshots/dark/desktop.png +0 -0
- package/skills/ui-design/tests/e2e/runs/precision-horizon-iteration-2/screenshots/dark/mobile.png +0 -0
- package/skills/ui-design/tests/e2e/runs/precision-horizon-iteration-2/screenshots/light/desktop.png +0 -0
- package/skills/ui-design/tests/e2e/runs/precision-horizon-iteration-2/screenshots/light/mobile.png +0 -0
- package/skills/ui-design/tests/e2e/runs/solar-relay-iteration-1/checks/browser-check.json +54 -0
- package/skills/ui-design/tests/e2e/runs/solar-relay-iteration-1/checks/language-check.txt +5 -0
- package/skills/ui-design/tests/e2e/runs/solar-relay-iteration-1/checks/quick-validate.txt +1 -0
- package/skills/ui-design/tests/e2e/runs/solar-relay-iteration-1/checks/static-check.txt +2 -0
- package/skills/ui-design/tests/e2e/runs/solar-relay-iteration-1/outputs/index.html +765 -0
- package/skills/ui-design/tests/e2e/runs/solar-relay-iteration-1/prompt.md +15 -0
- package/skills/ui-design/tests/e2e/runs/solar-relay-iteration-1/review.md +59 -0
- package/skills/ui-design/tests/e2e/runs/solar-relay-iteration-1/screenshots/desktop.png +0 -0
- package/skills/ui-design/tests/e2e/runs/solar-relay-iteration-1/screenshots/mobile.png +0 -0
- package/skills/ui-design/tests/e2e/runs/verdant-grid-preview-1/outputs/index.html +508 -0
- package/skills/ui-design/tests/e2e/runs/verdant-grid-preview-1/screenshots/browser-check.json +49 -0
- package/skills/ui-design/tests/e2e/runs/verdant-grid-preview-1/screenshots/desktop.png +0 -0
- package/skills/ui-design/tests/e2e/runs/verdant-grid-preview-1/screenshots/mobile.png +0 -0
- package/skills/ui-design/tests/e2e/runs/violet-meridian-iteration-1/checks/browser-check.json +54 -0
- package/skills/ui-design/tests/e2e/runs/violet-meridian-iteration-1/checks/language-check.txt +6 -0
- package/skills/ui-design/tests/e2e/runs/violet-meridian-iteration-1/checks/quick-validate.txt +1 -0
- package/skills/ui-design/tests/e2e/runs/violet-meridian-iteration-1/checks/static-check.txt +2 -0
- package/skills/ui-design/tests/e2e/runs/violet-meridian-iteration-1/outputs/index.html +788 -0
- package/skills/ui-design/tests/e2e/runs/violet-meridian-iteration-1/prompt.md +14 -0
- package/skills/ui-design/tests/e2e/runs/violet-meridian-iteration-1/review.md +60 -0
- package/skills/ui-design/tests/e2e/runs/violet-meridian-iteration-1/screenshots/desktop.png +0 -0
- package/skills/ui-design/tests/e2e/runs/violet-meridian-iteration-1/screenshots/mobile.png +0 -0
- package/skills/video-compose/SKILL.md +8 -1
- package/skills/web-crawler/SKILL.md +70 -0
- package/skills/web-crawler/scripts/crawl.mjs +538 -0
- package/skills/web-crawler/scripts/crawl.test.mjs +204 -0
- package/skills/xlsx/SKILL.md +12 -0
- package/skills/xlsx/scripts/opc_check.py +253 -0
- package/src/advisorState.js +22 -0
- package/src/askBridge.js +97 -3
- package/src/bootstrap/workingDir.js +12 -1
- package/src/cli/args.js +17 -1
- package/src/cli/configMenu.js +236 -0
- package/src/cli/configWizard.js +7 -5
- package/src/cli/print.js +37 -4
- package/src/cli/streamJson.js +77 -24
- package/src/cli/wizards/advisorWizard.js +147 -0
- package/src/cli/wizards/fieldForm.js +149 -0
- package/src/cli/wizards/imageWizard.js +60 -0
- package/src/cli/wizards/openRouterWizard.js +23 -0
- package/src/cli/wizards/providerPresets.js +95 -0
- package/src/cli/wizards/providerWizard.js +219 -0
- package/src/cli/wizards/searchWizard.js +23 -0
- package/src/cli/wizards/ttsWizard.js +34 -0
- package/src/config/configFile.js +441 -83
- package/src/config/configService.js +446 -0
- package/src/config.js +24 -64
- package/src/context/agentHome.js +9 -0
- package/src/context/archive.js +7 -2
- package/src/context/compact.js +8 -5
- package/src/context/contextLock.js +81 -0
- package/src/context/persistContext.js +30 -11
- package/src/context/reactiveCompact.js +4 -2
- package/src/context/recentDirs.js +21 -61
- package/src/context/sessionPath.js +97 -23
- package/src/context/sessionRegistry.js +303 -24
- package/src/context/tokenCounter.js +18 -0
- package/src/context/workspaceIndex.js +731 -0
- package/src/infra/verification.js +28 -15
- package/src/llm/client.js +394 -159
- package/src/llm/providers/anthropicFormat.js +241 -0
- package/src/llm/providers/openaiFormat.js +190 -0
- package/src/loop.js +219 -32
- package/src/main.js +61 -11
- package/src/messageQueue.js +97 -0
- package/src/multimodal.js +203 -0
- package/src/plugin-sdk.js +15 -0
- package/src/plugins/commandRouter.js +3 -0
- package/src/plugins/hookEngine.js +5 -1
- package/src/plugins/pluginLifecycle.js +28 -0
- package/src/plugins/pluginLoader.js +2 -1
- package/src/plugins/pluginRunner.js +49 -21
- package/src/plugins/transcript.js +4 -3
- package/src/prompts/pluginList.js +5 -5
- package/src/prompts/projectInstructions.js +3 -3
- package/src/prompts/promptAssembly.js +133 -144
- package/src/prompts/skillList.js +12 -22
- package/src/prompts/system.js +0 -1
- package/src/session/runAgentTurn.js +70 -0
- package/src/session/runTurn.js +41 -6
- package/src/toolGate.js +17 -0
- package/src/tools/advisor/advisor.js +379 -0
- package/src/tools/agent/agent.js +555 -0
- package/src/tools/agent/agentTypes.js +59 -0
- package/src/tools/agent/coordinator.js +93 -0
- package/src/tools/agent/worktree.js +270 -0
- package/src/tools/ask/ask.js +7 -2
- package/src/tools/bash/bash.js +112 -18
- package/src/tools/download/download.js +144 -0
- package/src/tools/edit/edit.js +1 -0
- package/src/tools/edit/multi-edit.js +1 -0
- package/src/tools/genimage/genimage.js +242 -0
- package/src/tools/genspeech/genspeech.js +67 -0
- package/src/tools/glob/glob.js +1 -0
- package/src/tools/grep/grep.js +3 -0
- package/src/tools/grep/rgPath.js +2 -0
- package/src/tools/index.js +25 -2
- package/src/tools/read/read.js +1 -0
- package/src/tools/shared/killTree.js +52 -0
- package/src/tools/toolProgressBridge.js +48 -0
- package/src/tools/webbrowser/agentBrowserPath.js +258 -0
- package/src/tools/webbrowser/browser.js +59 -42
- package/src/tools/webbrowser/browserControl.js +118 -0
- package/src/tools/webbrowser/browserDaemon.js +97 -0
- package/src/tools/webbrowser/browserService.js +27 -0
- package/src/tools/webbrowser/browserStream.js +119 -0
- package/src/tools/webbrowser/webbrowser.js +699 -130
- package/src/tools/webfetch/webfetch.js +1 -0
- package/src/tools/websearch/websearch.js +134 -51
- package/src/tools/write/write.js +1 -0
- package/src/ui/App.js +249 -22
- package/src/ui/AskQuestion.js +29 -10
- package/src/ui/InputBox.js +104 -12
- package/src/ui/LiveArea.js +112 -19
- package/src/ui/MessageList.js +100 -14
- package/src/ui/ModelPicker.js +56 -0
- package/src/ui/QueuedMessagesBanner.js +14 -0
- package/src/ui/Root.js +18 -10
- package/src/ui/SessionPicker.js +102 -0
- package/src/ui/StatusLine.js +13 -4
- package/src/ui/WorkspacePicker.js +55 -0
- package/src/ui/figures.js +44 -0
- package/src/ui/hooks/askSlot.js +82 -0
- package/src/ui/hooks/useChat.js +358 -64
- package/src/ui/hooks/usePasteHandler.js +11 -1
- package/src/ui/hooks/useTextBuffer.js +1 -3
- package/src/ui/liveViewport.js +5 -1
- package/src/ui/markdown.js +206 -0
- package/src/ui/textBuffer.js +0 -7
- package/src/ui/theme.js +32 -0
- package/src/utils/debugLog.js +0 -4
- package/src/utils/resourcePaths.js +2 -2
- package/src/utils/stripThink.js +50 -0
- package/src/web/browserBridge.js +447 -0
- package/src/web/protocol.js +19 -0
- package/workflows/adaptive-research.yaml +13 -5
- package/workflows/book-review-short.yaml +36 -10
- package/workflows/e2e-write-greet.yaml +6 -2
- package/workflows/illustrate.yaml +227 -0
- package/workflows/plan.yaml +460 -179
- package/workflows/ppt.yaml +1659 -0
- package/workflows/ralph-loop.yaml +199 -0
- package/workflows/schema.json +81 -23
- package/workflows/webppt.yaml +496 -0
- package/workflows/word.yaml +710 -0
- package/workflows/youtube-shorts.yaml +46 -15
- package/MINIMAL-TRACE.md +0 -77
- package/plugins/HOW-TO-WRITE-A-PLUGIN.md +0 -186
- package/plugins/ralph-wiggum/.claude-plugin/plugin.json +0 -9
- package/plugins/ralph-wiggum/README.md +0 -197
- package/plugins/ralph-wiggum/commands/cancel-ralph.md +0 -18
- package/plugins/ralph-wiggum/commands/help.md +0 -137
- package/plugins/ralph-wiggum/commands/ralph-loop.md +0 -85
- package/plugins/ralph-wiggum/hooks/hooks.json +0 -15
- package/plugins/ralph-wiggum/hooks/stop-hook.sh +0 -191
- package/plugins/ralph-wiggum/plugin.js +0 -280
- package/plugins/ralph-wiggum/src/goalState.js +0 -258
- package/plugins/ralph-wiggum/src/sentinels.js +0 -76
- package/plugins/ralph-wiggum/src/stopHookRunner.js +0 -104
- package/plugins/ralph-wiggum/src/verificationGate.js +0 -202
- package/plugins/workflow-runner/src/miniReAct.js +0 -223
- package/plugins/workflow-runner/src/voteHelpers.js +0 -110
- package/skills/config/SKILL.md +0 -123
- package/skills/frontend-design/LICENSE.txt +0 -177
- package/skills/frontend-design/SKILL.md +0 -42
- package/src/ui/ProgressPanel.js +0 -54
- package/src/ui/StreamingBlock.js +0 -11
- package/src/ui/ToolStatus.js +0 -11
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# `Solar Relay` VI 模板
|
|
2
|
+
|
|
3
|
+
当用户需要“红橙、多彩、彩色弧带、网络加速、隐私连接、移动应用、活力科技、类似 `Cloudflare WARP+` 配色气质”这类前端设计方向,或明确提到 `Solar Relay / 日冕中继` 时,使用这个模板。版式走**编辑式图文融合**(日冕弧带/网络路径背景打底、连接状态与速度数据浮前景、数据用图表),保持红橙多彩的活力连接气质,不是套餐卡/广告卡堆叠的营销页。
|
|
4
|
+
|
|
5
|
+
这是原创视觉系统,不是 `Cloudflare`、`WARP+` 或 `1.1.1.1` 品牌复刻。可以借鉴“红橙、珊瑚、黄色、青蓝、深蓝、洋红、多彩弧带、流量加速”的气质,但不能复制真实品牌名称、标识、图标轮廓、广告卡片结构、专有 UI 或原始文案。
|
|
6
|
+
|
|
7
|
+
## 视觉定位
|
|
8
|
+
|
|
9
|
+
- **气质**:红橙主导、多彩、轻快、网络科技、移动端友好、可信但不沉重。
|
|
10
|
+
- **情绪**:像一条被阳光照亮的网络中继路径,彩色流带表达连接、加速、绕行和保护。
|
|
11
|
+
- **核心原则**:遵循 SKILL.md 的**编辑式最高原则**——图作背景、文字浮前景、数据用图表、特写用插图,不堆卡海。日冕弧带/网络路径/同色系暖色渐变光打底(叠 scrim 或落在深蓝稳定底上保对比),标题、连接状态、速度/延迟数据**直接浮在背景上**并做成图表(进度环/速度计/折线/参数胶囊),不靠白底套餐卡/广告卡分区。彩色是“流量路径”和“加速轨迹”,不是满屏装饰;前景主信息必须有 scrim 或深蓝稳定底兜对比。
|
|
12
|
+
- **第一印象**:明快、快速、安全、有移动应用活力,像图文融合的连接产品,但不是儿童化糖果色、不是套餐卡墙营销页,也不是复制真实网络品牌。
|
|
13
|
+
|
|
14
|
+
## 色彩 token
|
|
15
|
+
|
|
16
|
+
以下作为起始色盘。可以根据用户领域调低彩度或替换辅助色,但不要破坏“红橙日冕 + 青蓝网络 + 深蓝稳定底”的结构。
|
|
17
|
+
|
|
18
|
+
```css
|
|
19
|
+
:root {
|
|
20
|
+
--ink: #101326; /* 深墨蓝:主文字 */
|
|
21
|
+
--ink-soft: #262b42; /* 次级标题 */
|
|
22
|
+
--muted: #596174; /* 蓝灰:辅助文字 */
|
|
23
|
+
--paper: #fffaf7; /* 冷暖白页面背景 */
|
|
24
|
+
--surface: #ffffff; /* 主内容面板 */
|
|
25
|
+
--surface-warm: #fff3ea; /* 暖白信息区 */
|
|
26
|
+
--line: rgba(16, 19, 38, 0.12);
|
|
27
|
+
--accent: #ff6b4a; /* 主红橙:主行动、连接状态 */
|
|
28
|
+
--coral: #f45b6c; /* 珊瑚红:加速轨迹 */
|
|
29
|
+
--orange: #ff9f2f; /* 暖橙:高亮和渐变中段 */
|
|
30
|
+
--sun: #ffc640; /* 金黄:权益、增益、能量 */
|
|
31
|
+
--teal: #1dbb9c; /* 青绿:安全、保护、已连接 */
|
|
32
|
+
--cyan: #16b8d8; /* 亮青:网络流动、同步 */
|
|
33
|
+
--blue: #1857b8; /* 深蓝:稳定底、技术背板 */
|
|
34
|
+
--indigo: #27328f; /* 靛蓝:深层路径 */
|
|
35
|
+
--magenta: #d81b8c; /* 洋红:分享、社交、活动 */
|
|
36
|
+
--shadow: rgba(255, 107, 74, 0.22);
|
|
37
|
+
}
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### 色彩使用
|
|
41
|
+
|
|
42
|
+
- `--accent`、`--coral`、`--orange` 和 `--sun` 构成日冕主轴,用于主行动、连接按钮、弧带和加速状态。
|
|
43
|
+
- `--teal` 与 `--cyan` 表达安全、在线、保护和流量通畅。
|
|
44
|
+
- `--blue` 与 `--indigo` 用于技术背板、夜间卡片和需要白字的彩色区域。
|
|
45
|
+
- `--magenta` 只用于分享、活动、奖励或少量视觉跳点,不做主色。
|
|
46
|
+
- 大面积正文仍使用 `--ink` 和 `--muted`,不要在彩色弧带上直接放长段文字。
|
|
47
|
+
- 彩色背景上的文字必须使用白字、深蓝底或半透明稳定底保证对比。
|
|
48
|
+
|
|
49
|
+
### 数据可视化分类色(图表/点缀,与本 VI 协调)
|
|
50
|
+
|
|
51
|
+
本 VI 本就多彩,图表(柱/饼/折线/进度环)直接用这组**原生分类色**即可,别只用强调色一种(见 `layout-composition.md` §0.9 配色解耦)。
|
|
52
|
+
按系列数依次取用(暖主轴 + 冷对比,彼此分得开):
|
|
53
|
+
|
|
54
|
+
`#ff6b4a 红橙` · `#ff9f2f 暖橙` · `#ffc640 金黄` · `#1dbb9c 青绿` · `#16b8d8 亮青` · `#d81b8c 洋红`
|
|
55
|
+
|
|
56
|
+
单系列图(单进度环/单柱)用 `accent` `#ff6b4a` 一色即可;多系列按上面顺序取(暖冷交替更易分辨)。A 路线插图以画面真实色为准、不受此约束,只需与 VI 协调不冲突。
|
|
57
|
+
|
|
58
|
+
## 渐变与材质
|
|
59
|
+
|
|
60
|
+
- 背景可以使用大曲率弧带:红橙到金黄表达加速,青蓝到深蓝表达网络路径,洋红只做局部活力。
|
|
61
|
+
- 弧带要有方向,建议从左上到右下或从底部向右上流动,模拟“流量被中继加速”。
|
|
62
|
+
- 前景文字落在弧带背景上时优先用 scrim、深蓝稳定底或半透明底兜对比,避免彩色背景干扰阅读;图表/指标面板这类前景容器可用轻阴影细边框,但不堆白底分区卡海。
|
|
63
|
+
- 深蓝面板适合做连接状态、夜间加速模式、安全通道或移动端 App 屏幕的前景容器/背景层,浮在彩带之上提供稳定阅读区。
|
|
64
|
+
- 按钮可以使用红橙到洋红或红橙到金黄的渐变,但按钮面积要克制。
|
|
65
|
+
- 彩带之间的过渡要干净,避免脏灰混色和低质霓虹。
|
|
66
|
+
|
|
67
|
+
## 字体与排版
|
|
68
|
+
|
|
69
|
+
- 中文优先使用系统无衬线栈:`"PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", "Inter", sans-serif`。
|
|
70
|
+
- 标题可以活泼、有冲击力,但不要幼稚;字重 780-880,字距保持 0。
|
|
71
|
+
- H1 建议 2-4 行,上限 72px 左右;移动端避免单字孤行。
|
|
72
|
+
- 正文建议 15-17px,行高 1.55 左右;彩色区域中的说明文字要更短。
|
|
73
|
+
- 数字、套餐、延迟、速度、流量可以用更强字重形成产品节奏。
|
|
74
|
+
- 英文缩写如 VPN、App、GB、`Mbps` 可以保留;说明性文案仍使用简体中文。
|
|
75
|
+
|
|
76
|
+
## 结构语言
|
|
77
|
+
|
|
78
|
+
这个模板适合移动互联网和网络连接产品。**版式遵循 SKILL.md 编辑式最高原则:日冕弧带/网络路径打底、状态与速度浮前景、数据用图表,不堆套餐卡/广告卡分区。**
|
|
79
|
+
|
|
80
|
+
- **彩色弧带背景(核心母题)**:日冕弧带表达流量路径、加速绕行和中继轨迹,作为品牌记忆点和**内容页的背景层**,标题/状态/数据浮在其上。
|
|
81
|
+
- **连接状态(前景浮层)**:已连接、保护中、延迟降低、路径优化等状态直接浮在弧带背景上,用状态点 + 参数胶囊呈现,不做一排白底状态卡。
|
|
82
|
+
- **加速开关**:可使用红橙渐变开关浮在背景上,但不要复刻真实产品开关样式。
|
|
83
|
+
- **移动端 App 展示区**:适合用原创手机框做前景特写浮在弧带背景上,展示连接状态和权益,不复制真实 App UI。
|
|
84
|
+
- **权益/速度数据**:奖励、流量、加速额度、延迟降幅用**图表**(进度环/速度计/对比列/参数胶囊)浮在背景上,不做白底套餐卡墙或广告卡结构。
|
|
85
|
+
- **安全说明(前景浮层)**:用青绿和亮青表达安全、加密、保护、无日志等可信信息,做成前景要点列/状态点浮在背景上,而非并排白底说明卡。
|
|
86
|
+
- **路径模块**:用节点、弧线、速度标记、地区或通道说明组成网络路径浮在背景上,是替代卡片墙的主结构语言。
|
|
87
|
+
|
|
88
|
+
卡片圆角建议 14-22px(仅用于图表/指标面板/手机框这类前景容器);移动 App 展示可以更圆润,但工具型控制台应收敛到 8-12px。彩色越强,结构越要简单。**卡片只保留为「图表/指标面板/手机框浮背景」例外**,弧带路径 + 前景数据是主角,不做白底套餐卡/广告卡海。
|
|
89
|
+
|
|
90
|
+
## 视觉母题
|
|
91
|
+
|
|
92
|
+
选择一个母题并持续复用:
|
|
93
|
+
|
|
94
|
+
- 日冕弧带:表达加速能量、网络中继和流量绕行。
|
|
95
|
+
- 流量节点:表达入口、通道、加速节点和出口。
|
|
96
|
+
- 保护气泡:表达隐私、安全、加密和连接保护。
|
|
97
|
+
- 速度轨迹:表达延迟降低、下载提升和路径优化。
|
|
98
|
+
|
|
99
|
+
不要使用真实品牌云朵、数字标识、原广告卡片布局、原移动界面或相似图标轮廓。
|
|
100
|
+
|
|
101
|
+
## 适用场景
|
|
102
|
+
|
|
103
|
+
适合:
|
|
104
|
+
|
|
105
|
+
- 网络加速、VPN、隐私连接、移动应用
|
|
106
|
+
- 通信工具、云网络、流量管理、边缘网络
|
|
107
|
+
- 消费级安全产品、加速权益页、推荐奖励页
|
|
108
|
+
- 活力科技官网、产品发布页、移动端推广页和 deck
|
|
109
|
+
|
|
110
|
+
不适合:
|
|
111
|
+
|
|
112
|
+
- 严肃金融风控、政企后台、医疗信任场景
|
|
113
|
+
- 黑白硬件、暗色电影器材、重工业设备
|
|
114
|
+
- 长文内容站、低调奢侈品牌、极简企业官网
|
|
115
|
+
- 高密度专业控制台,除非大幅降低彩色面积
|
|
116
|
+
|
|
117
|
+
## 迁移方式
|
|
118
|
+
|
|
119
|
+
复用模板时:
|
|
120
|
+
|
|
121
|
+
1. 先明确用户任务中的网络路径:入口、加速、中继、保护、出口和结果。
|
|
122
|
+
2. 保留红橙主轴和青蓝安全信号,不复制模板示例内容。
|
|
123
|
+
3. 先声明彩带职责:哪些弧带表达加速,哪些表达保护,哪些只是背景深度。
|
|
124
|
+
4. 主标题和核心信息浮在弧带背景上时,用 scrim、深蓝稳定底或半透明底兜对比,不直接压在复杂彩带上裸放文字。
|
|
125
|
+
5. 移动端减少弧带数量,优先保证标题、按钮和连接状态前景浮层清楚(状态点 + 参数胶囊,非白底状态卡)。
|
|
126
|
+
6. 截图确认:红橙是否明快但不刺眼,彩带是否服务结构,是否像原创网络产品。
|
|
127
|
+
|
|
128
|
+
## 质量标准
|
|
129
|
+
|
|
130
|
+
成功的 `Solar Relay` 变体应该像成熟移动网络产品:颜色有活力但不乱,弧带有方向,连接状态一眼可读,安全感和速度感同时成立。检验标准是:用户第一眼感到“连接更快更安全”,第二眼能读懂当前状态、主行动和权益。
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# VI 模板制作流程
|
|
2
|
+
|
|
3
|
+
当用户要求新增、总结、优化或复用 VI 模板时,读取本文件。它记录的是 `ui-design` 当前已验证的制作闭环,不替代具体 VI 模板。
|
|
4
|
+
|
|
5
|
+
## 标准流程
|
|
6
|
+
|
|
7
|
+
1. **理解风格意图**:先把用户的模糊描述转译成可执行的视觉关键词、适用行业和明确禁区。
|
|
8
|
+
2. **命名模板**:给模板一个可记忆的英文代号和中文名。名称只用于识别视觉系统,不代表后续输出必须出现该品牌。
|
|
9
|
+
3. **写 VI 文档**:独立创建 `references/vi-*.md`,不要把完整模板塞进 `SKILL.md`。
|
|
10
|
+
4. **更新模板库索引**:在 `SKILL.md` 的视觉模板库中加入触发词、适用场景和原创边界。
|
|
11
|
+
5. **补充评测题**:在 `evals/evals.json` 增加真实提示词,验证模板能迁移到具体产品,不只停留在色盘。
|
|
12
|
+
6. **生成样张**:至少生成一个中文 HTML 样张,包含真实信息结构、`data-screen-label` 和 Tweaks。
|
|
13
|
+
7. **静态检查**:运行 `check_ui_artifact.py`、`check_language_policy.py` 和必要的 JSON/Python 校验(浏览器截图检查见下一步 `browser_check_ui_artifact.mjs`)。
|
|
14
|
+
8. **浏览器检查**:截图桌面和移动端,检查控制台错误、横向溢出、中文断行、文字对比和响应式。
|
|
15
|
+
9. **视觉评审**:写 `review.md`,诚实判断是否高级、是否可复用、哪里像通用 AI 味。
|
|
16
|
+
10. **反推优化**:如果效果一般,先改 VI 模板和样张,再复测;不要只改截图结论。
|
|
17
|
+
|
|
18
|
+
## VI 文档结构
|
|
19
|
+
|
|
20
|
+
每个 VI 模板建议包含:
|
|
21
|
+
|
|
22
|
+
- 触发场景:用户怎样描述时读取该模板。
|
|
23
|
+
- 视觉定位:气质、情绪、核心原则和第一印象。
|
|
24
|
+
- 色彩 token:主文字、次级文字、背景、surface、边框、主强调、辅助信号、风险/提醒、阴影。
|
|
25
|
+
- 渐变与材质:背景、面板、按钮、状态和视觉焦点如何使用渐变。
|
|
26
|
+
- 中文排版:字体栈、标题尺度、正文大小、行高、数字和短标签处理。
|
|
27
|
+
- 结构语言:导航、首屏、卡片、状态、行动、deck 或控制台的组织方式。
|
|
28
|
+
- 视觉母题:选择 1-3 个可迁移的图形语言,避免每次重做。
|
|
29
|
+
- 适用与不适用场景:防止模板被硬套。
|
|
30
|
+
- 迁移方式:如何换行业语义、换强调色、换密度,同时保留视觉 DNA。
|
|
31
|
+
- 质量标准:用几句话定义“什么才算这个模板做对了”。
|
|
32
|
+
|
|
33
|
+
## 最新协议约束
|
|
34
|
+
|
|
35
|
+
- 用户可见内容默认简体中文,只有必要英文名称、代码标识和行业缩写可保留。
|
|
36
|
+
- 模板可以借鉴风格方向,但不能复制真实品牌的名称、标识、图标轮廓、商标、专有 UI 或独特字形。
|
|
37
|
+
- 新产物的 Tweaks 持久化优先使用 `{ edits: patch }`。
|
|
38
|
+
- 高级屏幕或 slide 必须有 `data-screen-label`,编号从 1 开始并包含中文标题。
|
|
39
|
+
- 移动端优先保证中文阅读和 44px 可点击目标。
|
|
40
|
+
- 样张必须跑静态检查、语言检查和浏览器截图;评审要记录不足,而不是只写“通过”。
|
|
41
|
+
|
|
42
|
+
## 常见失败模式
|
|
43
|
+
|
|
44
|
+
- 只写色值,没有结构语言,导致执行者仍生成普通卡片页。
|
|
45
|
+
- 只强调半透明、发光或渐变,忽略文字对比和信息层级。
|
|
46
|
+
- 样张内容太空,无法判断模板是否能服务真实产品。
|
|
47
|
+
- 复制真实品牌的视觉资产或专有符号。
|
|
48
|
+
- 模板写得太绝对,导致不同领域迁移时没有弹性。
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# `Verdant Grid` VI 模板
|
|
2
|
+
|
|
3
|
+
中文名:绿脉电网。
|
|
4
|
+
|
|
5
|
+
当用户需要“能源行业、电力公司、电网调度、绿色、浅绿、白色、黑色、国家电网风格灵感、央企/国企能源报告、智能电网、能源管理平台、电力汇报 deck/PPT”这类前端或 deck 设计方向,或明确提到 `Verdant Grid / 绿脉电网` 时,使用这个模板。版式走**编辑式图文融合**(能源场景图/电网线稿打底、结论与负荷数据浮前景),稳健可信、像成熟电网企业的汇报视觉,不是老旧绿色表格 PPT。
|
|
6
|
+
|
|
7
|
+
这是原创视觉系统,不是国家电网或任何真实能源企业品牌复刻。可以借鉴公开能源行业官网与电力汇报模板常见的“白底、深绿、浅绿、黑字、输电线、网格、圆形图片、章节横条、绿色数据可视化”的气质,但不能复制真实企业名称、标识、标准色手册、PPT 模板版式、摄影资产、图标或专有 UI。
|
|
8
|
+
|
|
9
|
+
## 视觉定位
|
|
10
|
+
|
|
11
|
+
- **气质**:稳健、可信、清洁、现代、公共基础设施感强。
|
|
12
|
+
- **情绪**:像一套面向能源集团、电网公司、调度中心和政府/企业汇报的视觉系统:白底清楚,绿色代表能源与秩序,黑色提供权威,浅绿表达低碳和安全。
|
|
13
|
+
- **核心原则**:遵循 SKILL.md 的**编辑式最高原则**——图作背景、文字浮前景、数据用图表、特写用插图,不堆卡海。能源场景图/电网线稿/同色系浅绿渐变纹理打底(叠 scrim 保对比),结论、负荷、碳减排等数据**直接浮在背景上**并做成图表(柱/折线/进度环/指标面板),不靠白底悬浮卡片分区、不堆绿色表格对比。白底负责阅读,黑色负责权威,深绿负责品牌记忆,浅绿负责分区和安全感,线稿/网格表达电力网络。
|
|
14
|
+
- **第一印象**:专业、清爽、有组织,像成熟电网企业的图文融合汇报,不是泛泛环保风,也不是过时的绿色表格模板 PPT。
|
|
15
|
+
|
|
16
|
+
## 色彩 token
|
|
17
|
+
|
|
18
|
+
以下作为起始色盘。深绿接近中国电力行业常见主色,但不声明为任何真实企业标准色。
|
|
19
|
+
|
|
20
|
+
```css
|
|
21
|
+
:root {
|
|
22
|
+
--ink: #111513; /* 主文字黑 */
|
|
23
|
+
--ink-soft: #27302b; /* 次级标题 */
|
|
24
|
+
--muted: #5f6b64; /* 辅助文字 */
|
|
25
|
+
--paper: #fbfdfb; /* 近白背景 */
|
|
26
|
+
--paper-green: #eef8f1; /* 浅绿分区底 */
|
|
27
|
+
--surface: #ffffff; /* 主内容面板 */
|
|
28
|
+
--surface-soft: #f7fbf8; /* 柔白绿面板 */
|
|
29
|
+
--line: rgba(17, 21, 19, 0.10);
|
|
30
|
+
--line-green: rgba(0, 122, 61, 0.22);
|
|
31
|
+
--grid-green: #007a3d; /* 深电网绿:主记忆色 */
|
|
32
|
+
--energy-green: #0b9b55; /* 鲜绿:行动、状态、增长 */
|
|
33
|
+
--leaf-green: #74c88a; /* 浅绿:辅助图形、分区 */
|
|
34
|
+
--pale-green: #dff3e5; /* 极浅绿:标签、底纹 */
|
|
35
|
+
--blue: #1769d1; /* 调度蓝:数字化、电力数据 */
|
|
36
|
+
--amber: #d99722; /* 预警琥珀 */
|
|
37
|
+
--danger: #c93d3d; /* 风险红 */
|
|
38
|
+
--shadow: rgba(0, 122, 61, 0.12);
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### 色彩使用
|
|
43
|
+
|
|
44
|
+
- `--paper` 是默认背景,保持清洁、留白和中文可读。
|
|
45
|
+
- `--ink` 用于标题、正文、数据和导航;能源/政企场景不能用低对比小灰字承载重要信息。
|
|
46
|
+
- `--grid-green` 用于导航重点、标题短线、章节横条、主按钮、关键编号和电网线稿。
|
|
47
|
+
- `--energy-green` 用于运行正常、负荷健康、低碳增长、完成状态和正向指标。
|
|
48
|
+
- `--leaf-green` 与 `--pale-green` 用于浅色分区、卡片底、表格隔行和柔和背景,不做大面积饱和绿。
|
|
49
|
+
- `--blue` 用于数字化、调度、监测、云平台、AI 预测和数据链路,不和绿色抢主色。
|
|
50
|
+
- `--amber` 和 `--danger` 只用于告警、风险和异常,不做装饰。
|
|
51
|
+
|
|
52
|
+
### 数据可视化分类色(图表/点缀,与本 VI 协调)
|
|
53
|
+
|
|
54
|
+
图表(柱/饼/折线/进度环)与辅助图形要用**可区分的数据系列色**,别全用电网绿一种(见 `layout-composition.md` §0.9 配色解耦)。
|
|
55
|
+
本 VI 现成分类色序列(能源语义清楚,绿色为主但不单色),按系列数依次取用:
|
|
56
|
+
|
|
57
|
+
`#007a3d 深电网绿` · `#0b9b55 鲜绿` · `#1769d1 调度蓝` · `#74c88a 浅绿` · `#d99722 预警琥珀` · `#c93d3d 风险红`
|
|
58
|
+
|
|
59
|
+
单系列图(单进度环/单柱)用 `--grid-green` 一色即可;多系列按上面顺序取。A 路线能源插图以真实场景色为准,不要把风机、光伏、地图和设备全部染成同一种绿色。
|
|
60
|
+
|
|
61
|
+
## 渐变与材质
|
|
62
|
+
|
|
63
|
+
- 背景以白色和极浅绿为主,局部使用从白到浅绿的线性渐变,表达清洁能源和安全运行。
|
|
64
|
+
- 深绿不铺满全屏;它适合做顶部导航、章节横条、重点按钮、表头和切角装饰。
|
|
65
|
+
- 可以使用非常细的电网线稿、输电塔轮廓、等值线、地理网格和节点连线,但透明度要低,不能压过文字。
|
|
66
|
+
- 数据面板优先做成图表(柱/折线/进度环/指标面板)浮在背景上;仅在真·密集明细需要逐行核对时才退回白底浅绿表头细线表格,不把表格当主叙事。
|
|
67
|
+
- 汇报型 deck 可以使用斜切绿条、圆形图片、编号胶囊、章节横幅作前景标记浮在背景层上,但每页结构走编辑式图文融合、现代化,不能照搬白底分区卡墙的老模板。
|
|
68
|
+
|
|
69
|
+
## 字体与排版
|
|
70
|
+
|
|
71
|
+
- 中文优先使用系统无衬线栈:`"PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", "Inter", sans-serif`。
|
|
72
|
+
- 标题用黑色或深绿,字重 700-850;中文不使用负字距。
|
|
73
|
+
- 官网/平台 H1 建议 44-72px;deck 封面标题可到 72-88px,但要避免单字孤行。
|
|
74
|
+
- 正文建议 15-17px,行高 1.55 左右;报告说明和指标注释不能小于 13px。
|
|
75
|
+
- 数据、编号、站点编码和设备编号可以使用等宽字体栈:`"SFMono-Regular", "Cascadia Mono", "Roboto Mono", monospace`。
|
|
76
|
+
- 汇报页标题要短,优先“结论 + 数据”,不要写空泛大词。
|
|
77
|
+
|
|
78
|
+
## 结构语言
|
|
79
|
+
|
|
80
|
+
这个模板适合能源行业官网、调度 dashboard、智能电网平台、电力汇报 deck、绿色能源专题页。**版式遵循 SKILL.md 编辑式最高原则:电网/能源场景图或线稿打底、结论与数据浮前景、数据一律用图表,不堆卡海/表格分区。**
|
|
81
|
+
|
|
82
|
+
- **顶部导航**:白底或深绿底,黑字/白字清楚;重点入口用深绿按钮。
|
|
83
|
+
- **首屏**:电网地图/调度场景/输电线稿做背景层(叠 scrim),左侧强标题和关键指标**浮在背景上**,右侧用进度环/趋势线呈现能源态势,不靠并排白卡分区。
|
|
84
|
+
- **负荷态势(编辑式前景浮层)**:负荷、发电、储能、碳减排、供电可靠性、告警数量用**图表 + 参数胶囊**直接浮在背景上(柱/折线/进度环/指标面板),不做整页白底指标卡墙。
|
|
85
|
+
- **电网拓扑**:节点、线路、区域负荷和状态色组成清晰网络浮在背景上,绿色正常、琥珀预警、红色风险、蓝色数据链路。
|
|
86
|
+
- **章节汇报页**:用一张低透明能源场景图/线稿打底 + 深绿半透明横幅 + 章节标题浮前景,不要让装饰压过内容。
|
|
87
|
+
- **数据呈现**:优先趋势线、对比列、占比环、指标面板浮背景;左对齐文字、右对齐数字。**真·并列指标矩阵**才用图表化指标面板(仍浮在背景上),不用绿色隔行表格做主叙事。
|
|
88
|
+
- **行动呈现**:明确“调度建议 / 风险处置 / 设备巡检 / 低碳优化”,每条带真实动作和责任字段,做成前景要点列/参数胶囊浮在背景上,而非一排白底行动卡。
|
|
89
|
+
|
|
90
|
+
卡片圆角建议 8-14px;政企汇报可更方正,互联网产品页可稍柔和。**别用大量漂浮卡片**:能源汇报需要稳定的基线、网格和层级——但这条"稳定"靠**编辑式图打底 + 前景数据图表浮层**来实现,而非白底卡海。卡片只保留为「图表/指标面板浮背景」这一例外容器。
|
|
91
|
+
|
|
92
|
+
## 视觉母题
|
|
93
|
+
|
|
94
|
+
选择一个母题并持续复用:
|
|
95
|
+
|
|
96
|
+
- 电网脉络:输电线、节点、站点、区域网络。
|
|
97
|
+
- 绿色调度:负荷曲线、储能进度、低碳指标、运行状态。
|
|
98
|
+
- 基建线稿:输电塔、变电站、风机、光伏、抽蓄水库的低透明线稿。
|
|
99
|
+
- 汇报横条:深绿标题条、浅绿信息块、编号圆点和结论短线。
|
|
100
|
+
|
|
101
|
+
不要使用真实国家电网标识、真实企业建筑照片、真实 PPT 模板截图或未经授权的电力摄影。不要把页面做成“环保叶子风”;这是电网/能源基础设施 VI,不是普通绿色公益海报。
|
|
102
|
+
|
|
103
|
+
## PPT/deck 方向
|
|
104
|
+
|
|
105
|
+
如果用于 HTML deck 或 PPT 风格页面:
|
|
106
|
+
|
|
107
|
+
1. 封面用能源场景图/输电线稿打底(叠 scrim)+ 深绿横条/斜切块 + 标题浮前景,不要把整页染成深绿、也不做空白底封面。
|
|
108
|
+
2. 目录页用 4-6 个编号锚点浮在背景层上(深绿编号、黑色标题),不做并排白底分区卡。
|
|
109
|
+
3. 章节页用一张低透明能源场景图或线稿打底,叠加深绿半透明横幅 + 章节标题浮前景。
|
|
110
|
+
4. 数据页优先趋势线、占比环、流程图、对比列等图表浮在背景上,仅密集明细才用表格;不要只放装饰图、也不堆白底指标卡墙。
|
|
111
|
+
5. 结论页用“关键结论 + 调度行动 + 责任/时间”结构做成前景要点列浮在背景上,避免感谢页空泛、避免白卡分区。
|
|
112
|
+
|
|
113
|
+
## 适用场景
|
|
114
|
+
|
|
115
|
+
适合:
|
|
116
|
+
|
|
117
|
+
- 电网公司、电力集团、能源央企/国企、城市能源平台
|
|
118
|
+
- 调度中心、配网运维、负荷预测、储能管理、碳排管理
|
|
119
|
+
- 智能电网、虚拟电厂、新能源并网、输变电工程
|
|
120
|
+
- 工作汇报、经营分析、项目验收、年度总结、能源安全专题
|
|
121
|
+
|
|
122
|
+
不适合:
|
|
123
|
+
|
|
124
|
+
- 消费娱乐、儿童产品、潮流品牌、奢侈时尚
|
|
125
|
+
- 高度科幻的蓝黑控制台、摄影器材、游戏 UI
|
|
126
|
+
- 需要强烈创意冲击而非可信汇报的营销页面
|
|
127
|
+
|
|
128
|
+
## 迁移方式
|
|
129
|
+
|
|
130
|
+
复用模板时:
|
|
131
|
+
|
|
132
|
+
1. 先明确任务类型:官网、dashboard、汇报 deck、专题页或数据报告。
|
|
133
|
+
2. 先声明能源对象:电网、储能、新能源、调度、巡检、碳排、虚拟电厂等。
|
|
134
|
+
3. 保留白底、黑字、深绿主色、浅绿分区和蓝色数字化信号,不复制真实品牌内容。
|
|
135
|
+
4. 每个绿色元素必须服务层级:导航、章节、状态、编号、行动,不做无意义装饰。
|
|
136
|
+
5. 移动端减少线稿和表格列数,优先保证指标、状态和操作按钮可读可点。
|
|
137
|
+
6. 截图确认:是否可信、是否现代、是否像能源行业,是否过度模板化,是否把绿色用得太满。
|
|
138
|
+
|
|
139
|
+
## 质量标准
|
|
140
|
+
|
|
141
|
+
成功的 `Verdant Grid` 变体应该像一个成熟能源企业或智能电网产品团队做出的视觉系统:白底清晰、绿色有权威、浅绿有呼吸感、黑字稳、蓝色表达数字化,电网线稿和节点结构服务信息而不是装饰。用户第一眼应感到可信和专业,第二眼能读懂负荷、风险、调度、行动和结果。
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# `Violet Meridian` VI 模板
|
|
2
|
+
|
|
3
|
+
当用户需要“紫色、白色、黑色、清爽紫蓝、智能科技、AI 工作台、开发者工具、智能路径/任务编排、类似 `Codex` 配色灵感、图标配色”这类前端设计方向,或明确提到 `Violet Meridian / 紫曜经线` 时,使用这个模板。版式走**编辑式图文融合**(AI 氛围图/经线路径示意打底、智能路径与数据浮前景),清爽、智能、有路径感,不是白底三栏面板堆叠的工具页。
|
|
4
|
+
|
|
5
|
+
这是原创视觉系统,不是 `Codex` 或 `OpenAI` 品牌复刻。可以借鉴“白底、紫色、黑色高对比、协调蓝色、智能路径、清晰科技”的气质,但不能复制真实品牌名称、标识、图标轮廓、专有形状、专有 UI 或字体风格。
|
|
6
|
+
|
|
7
|
+
## 视觉定位
|
|
8
|
+
|
|
9
|
+
- **气质**:明亮、智能、精确、轻科技、可信,带一点创造力和黑色界面的利落感。
|
|
10
|
+
- **情绪**:像一个会把复杂任务拆成清晰路径的智能工作台,有稳定紫色焦点、黑色信息锚点和清透蓝色信号,但信息仍然清楚。
|
|
11
|
+
- **核心原则**:遵循 SKILL.md 的**编辑式最高原则**——图作背景、文字浮前景、数据用图表、特写用插图,不堆卡海。AI 氛围图/经线路径示意/同色系冷白渐变光打底(叠极淡 scrim 保对比),标题、智能路径、节点、状态**直接浮在背景上**,数据做成图表(进度环/折线/参数胶囊),不靠白底面板/三栏卡分区。白底清晰信息 + 黑色结构锚点 + 紫色路径系统 + 钴蓝状态信号;紫色用于路径、行动和焦点,不铺满整个页面。
|
|
12
|
+
- **第一印象**:干净、聪明、现代、可协作,像图文融合的智能工作台,但不是廉价紫色渐变页,也不是一整屏发灰的淡紫界面,更不是白底三栏面板堆叠。
|
|
13
|
+
|
|
14
|
+
## 色彩 token
|
|
15
|
+
|
|
16
|
+
以下作为起始色盘。**主紫 `#7c3aed` 不要随意改变**,它是模板记忆点。新增黑色用于标题、导航、关键面板和高对比区域;新增钴蓝用于状态、数据、链接和辅助行动。不要破坏“冷白底 + 黑色结构 + 固定主紫 + 清透钴蓝”的结构。
|
|
17
|
+
|
|
18
|
+
```css
|
|
19
|
+
:root {
|
|
20
|
+
--ink: #11121a; /* 近黑紫:主文字 */
|
|
21
|
+
--ink-soft: #27243a; /* 次级标题、强调文本 */
|
|
22
|
+
--muted: #5d6274; /* 灰蓝紫:辅助文字 */
|
|
23
|
+
--black: #08080f; /* 纯净黑:强标题、深色锚点 */
|
|
24
|
+
--black-soft: #171622; /* 柔黑:深色面板、代码区 */
|
|
25
|
+
--black-line: rgba(8, 8, 15, 0.12);
|
|
26
|
+
--paper: #fbfbff; /* 冷白页面背景 */
|
|
27
|
+
--paper-violet: #f4f0ff; /* 淡紫纸色 */
|
|
28
|
+
--surface: #ffffff; /* 主内容面板 */
|
|
29
|
+
--surface-soft: rgba(255, 255, 255, 0.82);
|
|
30
|
+
--line: rgba(30, 25, 70, 0.12);
|
|
31
|
+
--line-violet: rgba(124, 58, 237, 0.22);
|
|
32
|
+
--accent: #7c3aed; /* 主紫:主行动、焦点路径,保持不变 */
|
|
33
|
+
--accent-blue: #5865f2; /* 蓝紫:次级行动、连接节点 */
|
|
34
|
+
--clear-blue: #2563eb; /* 清透钴蓝:状态、链接、数据强调 */
|
|
35
|
+
--blue-soft: #e8f0ff; /* 浅蓝底:蓝色状态浅底 */
|
|
36
|
+
--glow: #a78bfa; /* 亮紫光:边缘和路径高光 */
|
|
37
|
+
--signal: #22c7d8; /* 青蓝:同步、在线、完成 */
|
|
38
|
+
--amber: #d89a24; /* 提醒 */
|
|
39
|
+
--danger: #d9485f; /* 风险 */
|
|
40
|
+
--shadow: rgba(80, 60, 180, 0.16);
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### 色彩使用
|
|
45
|
+
|
|
46
|
+
- `--paper` 用于大背景,保持冷白和可读,不要让页面被紫色吞掉。
|
|
47
|
+
- `--paper-violet` 用于轻微分区、渐变底和空状态,不做大面积饱和色块。
|
|
48
|
+
- `--black` 用于主标题、深色导航、代码/命令面板、关键数字和底部强对比区,让浅色页面有重量。
|
|
49
|
+
- `--ink` 用于正文主信息,确保白底可读;不要把正文做成淡紫灰。
|
|
50
|
+
- `--accent` 用于主按钮、当前路径、关键节点和激活状态,主紫保持 `#7c3aed`。
|
|
51
|
+
- `--clear-blue` 用于链接、数据状态、同步完成、辅助行动和蓝色细线;它是清透钴蓝,不是把主紫调蓝。
|
|
52
|
+
- `--accent-blue` 只用于紫蓝过渡、路径节点和渐变中间色,不承担主要状态语义。
|
|
53
|
+
- `--signal` 仅在需要更轻的运行/在线提示时使用;如果页面已经有 `--clear-blue`,不要再堆太多青色。
|
|
54
|
+
- 紫色阴影要轻,避免页面变脏或像游戏界面。
|
|
55
|
+
|
|
56
|
+
### 数据可视化分类色(图表/点缀,与本 VI 协调)
|
|
57
|
+
|
|
58
|
+
图表(柱/饼/折线/进度环)与辅助图形要用**可区分的数据系列色**,别全用主紫一种(这正是「整页一片紫、数据分不清」的根因;见 `layout-composition.md` §0.9 配色解耦)。
|
|
59
|
+
本 VI 现成分类色序列(冷调为主、彼此分得开,冷白底上都可读),按系列数依次取用:
|
|
60
|
+
|
|
61
|
+
`#7c3aed 主紫` · `#5865f2 蓝紫` · `#22c7d8 青蓝` · `#d89a24 琥珀` · `#3fb27f 草绿` · `#d9485f 珊瑚红`
|
|
62
|
+
|
|
63
|
+
单系列图(单进度环/单柱)用 `accent` `#7c3aed` 一色即可;多系列按上面顺序取。A 路线插图以画面真实色为准、不受此约束,只需与 VI 协调不冲突。
|
|
64
|
+
|
|
65
|
+
## 渐变与材质
|
|
66
|
+
|
|
67
|
+
- 背景使用冷白到淡紫的低对比渐变,局部加入极淡紫光或极淡蓝光,制造智能空间感。
|
|
68
|
+
- 主面板以白色或高不透明白为主,边缘可以有淡紫高光,不牺牲文字对比。
|
|
69
|
+
- 主按钮优先使用固定主紫,必要时加入很短的紫到钴蓝方向渐变;面积要小、文字要稳。
|
|
70
|
+
- 黑色面板用于代码区、实时运行日志、关键结果摘要和底部行动区;黑色面板上用白字、紫色焦点线和钴蓝状态点。
|
|
71
|
+
- 路径线、流程轨道、连接节点和图标底可以使用紫到钴蓝的细线渐变,表达“推理路径”和“任务经线”,不要做大面积发光色块。
|
|
72
|
+
- 状态标签使用浅底深字,不做高饱和整块紫底。
|
|
73
|
+
- 如果去掉所有发光后页面就失去结构,说明视觉系统没有成立;先强化布局和信息层级。
|
|
74
|
+
|
|
75
|
+
## 页面级背景变化(deck 多页防雷同)
|
|
76
|
+
|
|
77
|
+
多页 deck 最常见的败笔:除首页 AI 图外,**所有页背景一模一样**,缺变化与美感。本 VI 的色 token 已够用——
|
|
78
|
+
在**同色系内**做深浅 / 黑白对比 / 光位变化即可,不破坏「冷白底 + 黑色锚点 + 紫色经线 + 钴蓝信号」的一致性:
|
|
79
|
+
|
|
80
|
+
- **页型分层**:封面 / 章节分隔页用**更沉的底**(`--paper-violet` 满铺 + 较强径向紫光,或 AI 氛围底图 + scrim);
|
|
81
|
+
内容页用**冷白** `--paper` + 极淡径向光,保证大段文字可读。两者交替,节奏自然出来。
|
|
82
|
+
- **径向光位置轮换**:相邻内容页把那束 `radial-gradient` 极淡蓝紫光放在**不同角**(左上 / 右上 / 右下…),
|
|
83
|
+
即便底色相同,光位一换观感就不同。
|
|
84
|
+
- **黑色锚点轮换**:部分页面加入黑色代码面板、黑色底部行动条或黑色参数面板(图表/指标容器),让浅色紫色页面不再漂浮;这是「黑色执行台」母题,不是白底分区卡海。
|
|
85
|
+
- **蓝色信号轮换**:`--clear-blue` 用在状态、链接、节点编号和数据线,帮助紫色体系产生清晰信息分工。
|
|
86
|
+
- **强调带 / 分隔光**:每页用 `--line-violet` / `--glow` 画一条经线或顶部强调带,位置/长度随页变化,是低成本的"每页不同"。
|
|
87
|
+
|
|
88
|
+
铁律:**变化服务信息层级**,不是把页面染花。冷白底与文字对比永远优先;紫色仍只做焦点与路径、不铺满;黑色只做结构锚点;蓝色只做信号和辅助行动。
|
|
89
|
+
相邻页**至少有一处不同**(底深浅 / 光位 / 强调带),但整套 deck 一眼仍是同一个 Violet Meridian。
|
|
90
|
+
|
|
91
|
+
## 字体与排版
|
|
92
|
+
|
|
93
|
+
- 中文优先使用系统无衬线栈:`"PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", "Inter", sans-serif`。
|
|
94
|
+
- 标题用近黑或纯净黑,字重 750-850;中文不使用负字距。紫色可以用于标题中的少量关键词,但不要整行渐变紫字。
|
|
95
|
+
- H1 建议 2-4 行,上限 72px 左右;移动端优先自然断行,避免单字孤行。
|
|
96
|
+
- 正文建议 15-17px,行高约 1.55;辅助说明不要低对比小灰字。
|
|
97
|
+
- 代码、任务编号、模型状态可以使用等宽字体栈:`"SFMono-Regular", "Cascadia Mono", "Roboto Mono", monospace`。
|
|
98
|
+
- 英文缩写如 AI、API、CLI、SDK 可以保留;说明性文案仍使用简体中文。
|
|
99
|
+
|
|
100
|
+
推荐尺度:
|
|
101
|
+
|
|
102
|
+
```css
|
|
103
|
+
h1 {
|
|
104
|
+
font-size: clamp(38px, 5.2vw, 72px);
|
|
105
|
+
line-height: 1.06;
|
|
106
|
+
letter-spacing: 0;
|
|
107
|
+
color: var(--ink);
|
|
108
|
+
text-wrap: balance;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.body-copy {
|
|
112
|
+
font-size: 16px;
|
|
113
|
+
line-height: 1.55;
|
|
114
|
+
color: var(--muted);
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## 结构语言
|
|
119
|
+
|
|
120
|
+
这个模板适合白底科技产品、AI 工具和开发者工作台。**版式遵循 SKILL.md 编辑式最高原则:AI 氛围图/经线路径示意打底、标题与路径浮前景、数据用图表,不堆白底面板/三栏卡分区。**
|
|
121
|
+
|
|
122
|
+
- **清晰导航**:白色或半透明白底,淡紫边线;当前页面、主入口或账号入口可以用黑色胶囊增强识别。
|
|
123
|
+
- **主视觉区**:背景层用 AI 氛围图或经线路径示意(叠极淡 scrim),强中文标题、具体价值说明、主/次行动**直接浮在背景上**,「智能路径」用线 + 节点示意浮在前景,而非装进白底面板。
|
|
124
|
+
- **经线路径(核心母题)**:用紫到钴蓝的线、节点、步骤和轻量图标**浮在背景上**表达任务拆解、推理链路、自动化流程和协作关系,这是本 VI 替代卡片墙的主结构语言。
|
|
125
|
+
- **智能建议(前景浮层)**:建议标题 + 下一步行动直接浮在背景上、用紫蓝经线/编号节点串联,不做并排白底建议卡墙。
|
|
126
|
+
- **数据呈现**:用量、耗时、成功率、上下文占用等用图表(进度环/折线/参数胶囊)浮在背景上,不用白底数据卡或对比表。
|
|
127
|
+
- **代码/任务模块**:柔黑面板承载代码、命令、运行日志和关键结果(这是「黑色执行台」母题,浮在浅色背景上提供结构重量,属合理例外,非白底分区卡)。
|
|
128
|
+
- **状态系统**:钴蓝表示链接、同步、完成和数据状态,紫色表示进行中/当前焦点,琥珀和红色低面积使用。
|
|
129
|
+
|
|
130
|
+
卡片圆角建议 12-16px(仅用于图表/指标面板/黑色执行台这类容器);工具型 dashboard 可降到 8-12px。页面可以轻盈,但不要空泛,大块留白由经线路径、节点示意、图表或真实内容锚定——而非靠白底卡海填满。**卡片只保留为「图表/指标面板/黑色执行台浮背景」例外**,路径与数据是主角。
|
|
131
|
+
|
|
132
|
+
## 视觉母题
|
|
133
|
+
|
|
134
|
+
选择一个母题并持续复用:
|
|
135
|
+
|
|
136
|
+
- 紫色经线 + 钴蓝信号点:表达任务路径、推理过程、上下文连接和自动化链路。
|
|
137
|
+
- 智能节点:表达模型、工具、文件、步骤、结果和协作者。
|
|
138
|
+
- 轻量光标:表达输入、编辑、生成和确认动作。
|
|
139
|
+
- 分层白板 + 黑色运行台:白板表达规划和建议,黑色模块表达执行、代码和结果回放。
|
|
140
|
+
|
|
141
|
+
不要使用大量抽象球体、廉价蓝紫雾团、无意义霓虹线框、复杂 3D 图标或真实 Codex/OpenAI 标志化图形。不要把钴蓝和紫色混成一片渐变雾;蓝色必须有明确的信息角色。
|
|
142
|
+
|
|
143
|
+
## 适用场景
|
|
144
|
+
|
|
145
|
+
适合:
|
|
146
|
+
|
|
147
|
+
- AI 工具、开发者平台、智能工作台、自动化产品
|
|
148
|
+
- 知识协作、代码辅助、任务编排、内容生成、数据分析
|
|
149
|
+
- 官网首屏、产品介绍页、功能发布页、轻量 dashboard
|
|
150
|
+
- deck、设计探索画布和需要清晰紫蓝科技感的原型
|
|
151
|
+
|
|
152
|
+
不适合:
|
|
153
|
+
|
|
154
|
+
- 高风险运营台、重金融风控、军事/安全大屏
|
|
155
|
+
- 摄影器材、电影机、暗色硬件官网
|
|
156
|
+
- 儿童娱乐、复古编辑风、自然生活方式品牌
|
|
157
|
+
- 需要长篇阅读、极强权威感或温暖手工感的页面
|
|
158
|
+
|
|
159
|
+
## 迁移方式
|
|
160
|
+
|
|
161
|
+
复用模板时:
|
|
162
|
+
|
|
163
|
+
1. 先明确用户任务中的核心路径:输入、理解、拆解、执行、检查、交付。
|
|
164
|
+
2. 保留冷白底、黑色结构锚点、固定主紫、钴蓝状态,不复制模板示例内容。
|
|
165
|
+
3. 先声明路径系统:哪些节点、连线、状态和行动承载用户目标。
|
|
166
|
+
4. 主内容走编辑式图文融合(背景层 + 前景要点/路径/图表浮层),黑色用于执行台和重点摘要,紫色只做焦点和路径,不做整屏底色、不堆白底三栏面板。
|
|
167
|
+
5. 移动端减少经线和光效,优先保证中文标题、按钮和前景浮层(图表/指标面板)可读可点。
|
|
168
|
+
6. 截图确认:是否像成熟 AI 产品,是否紫色过量,是否白底太空,黑色是否增强结构而不是压暗页面,蓝色是否清楚承担状态/链接角色,是否有廉价渐变感。
|
|
169
|
+
|
|
170
|
+
## 质量标准
|
|
171
|
+
|
|
172
|
+
成功的 `Violet Meridian` 变体应该像成熟 AI 产品团队做出的白底紫色界面:信息清楚,路径有方向,紫色有纪律,黑色提供结构重量,钴蓝承担状态和数据信号,中文阅读舒服。检验标准是:用户第一眼知道产品在帮他组织复杂任务,第二眼能读懂主行动、关键节点和下一步。
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/skills/ui-design/scripts/__pycache__/generated_image_review_collect_test.cpython-314.pyc
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|