diff --git a/INSTALL.md b/INSTALL.md index 14c38d1..7874c1b 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -1,13 +1,13 @@ # 技能安装与迁移说明 -技能名称:**panel-project-deploy** +技能名称:**project-init-panel-deploy** 用途:自动化克隆、初始化、品牌化、Docker 部署开源项目,并强制改造成炫酷科技感玻璃面板风格 UI; 同时对齐《开源软件改造部署外包服务合同》的交付物与验收标准。 ## 一、目录内容 ```text -panel-project-deploy/ +project-init-panel-deploy/ ├── SKILL.md # 技能主文件(18 步工作流,必须先读) ├── references/ │ ├── panel-ui.md # 面板风格 UI 设计与验收规范 @@ -35,20 +35,20 @@ panel-project-deploy/ ```powershell # 1. 复制整个技能目录到 Codex 技能目录 -Copy-Item .\panel-project-deploy "$env:USERPROFILE\.codex\skills\" -Recurse -Force +Copy-Item .\project-init-panel-deploy "$env:USERPROFILE\.codex\skills\" -Recurse -Force # 2. 执行安装脚本(创建 venv 可选;安装 playwright) -.\panel-project-deploy\install.ps1 +.\project-init-panel-deploy\install.ps1 ``` ### macOS / Linux ```bash # 1. 复制技能目录 -cp -r ./panel-project-deploy ~/.codex/skills/ +cp -r ./project-init-panel-deploy ~/.codex/skills/ # 2. 执行安装脚本 -bash ./panel-project-deploy/install.sh +bash ./project-init-panel-deploy/install.sh ``` > 若使用的是其他 Agent 框架,技能目录也可能是 `~/.agents/skills/`,按对应框架要求放置即可。 @@ -67,8 +67,8 @@ python -m playwright install-deps chromium ## 五、验证安装 ```bash -python ~/.codex/skills/panel-project-deploy/scripts/panel_ui_audit.py --help -python ~/.codex/skills/panel-project-deploy/scripts/workflow_manager.py --help +python ~/.codex/skills/project-init-panel-deploy/scripts/panel_ui_audit.py --help +python ~/.codex/skills/project-init-panel-deploy/scripts/workflow_manager.py --help ``` 能正常打印帮助即安装成功。 diff --git a/SKILL.md b/SKILL.md index 99df644..cfe213d 100644 --- a/SKILL.md +++ b/SKILL.md @@ -1,5 +1,5 @@ --- -name: panel-project-deploy +name: project-init-panel-deploy description: 自动化克隆、初始化、品牌化、Docker 部署并提交项目,同时强制将前端页面改造成炫酷的科技感玻璃面板风格。适用于“初始化并部署项目”“项目页面改版”“面板风格 UI”“科技感大屏/仪表盘”等请求。 --- diff --git a/install.ps1 b/install.ps1 index 79aa3cb..877cc30 100644 --- a/install.ps1 +++ b/install.ps1 @@ -1,4 +1,4 @@ -# panel-project-deploy 技能安装脚本 (Windows) +# project-init-panel-deploy 技能安装脚本 (Windows) $ErrorActionPreference = "Stop" Write-Host "==> 安装 Python 依赖 (playwright)" -ForegroundColor Cyan python -m pip install --upgrade pip diff --git a/install.sh b/install.sh index 3e033c3..10f97b0 100644 --- a/install.sh +++ b/install.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# panel-project-deploy 技能安装脚本 (macOS / Linux) +# project-init-panel-deploy 技能安装脚本 (macOS / Linux) set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" echo "==> 安装 Python 依赖 (playwright)" diff --git a/scripts/panel_ui_audit.py b/scripts/panel_ui_audit.py index a4168e0..7d3e494 100644 --- a/scripts/panel_ui_audit.py +++ b/scripts/panel_ui_audit.py @@ -7,7 +7,6 @@ from __future__ import annotations import argparse import json -import os import sys from pathlib import Path from typing import Any @@ -260,31 +259,6 @@ def audit_page(page: Page, route: str, extra_openers: list[str]) -> dict[str, An return {'route': route, 'issues': issues} -def launch_chromium(playwright): - launch_options = {'headless': True} - channel = os.environ.get('PANEL_PLAYWRIGHT_CHANNEL') - executable_path = os.environ.get('PANEL_PLAYWRIGHT_EXECUTABLE_PATH') - if channel: - launch_options['channel'] = channel - elif executable_path: - launch_options['executable_path'] = executable_path - else: - local_app_data = os.environ.get('LOCALAPPDATA', '') - playwright_cache = Path(local_app_data) / 'ms-playwright' if local_app_data else None - has_downloaded_chromium = bool( - playwright_cache and list(playwright_cache.glob('chromium-*/chrome-win64/chrome.exe')) - ) - if not has_downloaded_chromium: - program_files_x86 = os.environ.get('ProgramFiles(x86)', '') - program_files = os.environ.get('ProgramFiles', '') - edge_candidates = [ - Path(program_files_x86) / 'Microsoft' / 'Edge' / 'Application' / 'msedge.exe', - Path(program_files) / 'Microsoft' / 'Edge' / 'Application' / 'msedge.exe', - ] - if any(edge.exists() for edge in edge_candidates): - launch_options['channel'] = 'msedge' - return playwright.chromium.launch(**launch_options) - def csv_list(value: str) -> list[str]: return [item.strip() for item in value.split(',') if item.strip()] @@ -313,7 +287,7 @@ def main() -> int: report: dict[str, Any] = {'baseUrl': args.base_url, 'pages': []} with sync_playwright() as playwright: - browser = launch_chromium(playwright) + browser = playwright.chromium.launch(headless=True) page = browser.new_page(viewport={'width': args.viewport_width, 'height': args.viewport_height}) if not args.skip_login: @@ -348,4 +322,3 @@ def main() -> int: if __name__ == '__main__': sys.exit(main()) -