diff --git a/README.md b/README.md index c2cc5d3..96b5160 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@

- ARTEMIS Banner + ARTEMIS Banner

diff --git a/README_CN.md b/README_CN.md index 2613777..58df48f 100644 --- a/README_CN.md +++ b/README_CN.md @@ -1,5 +1,5 @@

- ARTEMIS Banner + ARTEMIS Banner

diff --git a/docs/assets/artemis-banner-cn.png b/docs/assets/artemis-banner-cn.png new file mode 100644 index 0000000..0ce6ba0 Binary files /dev/null and b/docs/assets/artemis-banner-cn.png differ diff --git a/docs/assets/artemis-banner-en.png b/docs/assets/artemis-banner-en.png index 0b532e7..39cbadc 100644 Binary files a/docs/assets/artemis-banner-en.png and b/docs/assets/artemis-banner-en.png differ diff --git a/docs/assets/artemis-banner.png b/docs/assets/artemis-banner.png index 127b931..39cbadc 100644 Binary files a/docs/assets/artemis-banner.png and b/docs/assets/artemis-banner.png differ diff --git a/docs/assets/generate_banner.py b/docs/assets/generate_banner.py index 17fa28e..182347c 100644 --- a/docs/assets/generate_banner.py +++ b/docs/assets/generate_banner.py @@ -16,8 +16,8 @@ import os import subprocess -def create_banner_html(): - return """ +def create_banner_html(lang="en"): + html_template = """ @@ -719,20 +719,20 @@ def create_banner_html():

- Test Any Pixel / Android App with Autonomous AI + __TAGLINE__
- Goal / Prompt + __PROMPT_LABEL__
- RUNNING ON DEVICE + __PROMPT_STATUS__
- > Connect to Bluetooth earbuds, play a song, and capture CPU usage metrics + > __PROMPT_TEXT__
@@ -745,51 +745,51 @@ def create_banner_html():
- Host Agent Console + __CONSOLE_TITLE__
- MONITORING + __CONSOLE_BADGE__
✓ - 1. Connect to Bluetooth earbuds + __STEP_1__
✓ - 2. Launch music player & play song + __STEP_2__
- ▶ 3. Capture CPU usage metrics - Active + __STEP_3_TITLE__ + __STEP_3_TIME__
- ADB polling top -n 1 (pid: 14208) + __STEP_3_DESC__
- Target App CPU + __METRIC_1_LABEL__ 4.2%
- Bluetooth Audio - ● Connected + __METRIC_2_LABEL__ + __METRIC_2_VAL__
- Sample Rate + __METRIC_3_LABEL__ 48kHz / A2DP
○ - 4. Assert CPU < 5.0% threshold + __STEP_4__
@@ -800,31 +800,31 @@ def create_banner_html():
- Now Playing - ● PIXEL LAB + __SCREEN_TITLE__ + __DEVICE_TAG__
🎵
Coldplay - Yellow - Output: Pixel Buds Pro + __ITEM_SUB__
- Playing ▶ + __ITEM_PRICE__
- Active Audio Output Device + __SEC_TEXT__ 🎧 Pixel Buds Pro (A2DP)
-
🎯 GROUNDED (0.99)
+
__GROUNDING_TAG__
- Media Output Controls + __MOCK_BTN__
@@ -840,6 +840,62 @@ def create_banner_html(): """ + if lang == "cn": + replacements = { + "__TAGLINE__": "用 自主 AI 测试任意安卓手机", + "__PROMPT_LABEL__": "目标 / 提示词", + "__PROMPT_STATUS__": "设备实机运行中", + "__PROMPT_TEXT__": "连接蓝牙耳机播放歌曲,并持续采集 CPU 性能指标", + "__CONSOLE_TITLE__": "宿主智能体控制台", + "__CONSOLE_BADGE__": "实时监控中", + "__STEP_1__": "1. 自动连接蓝牙耳机", + "__STEP_2__": "2. 打开播放器并播放歌曲", + "__STEP_3_TITLE__": "▶ 3. 持续采集 CPU 性能指标", + "__STEP_3_TIME__": "运行中", + "__STEP_3_DESC__": "ADB 轮询 top -n 1 (进程 ID: 14208)", + "__METRIC_1_LABEL__": "目标应用 CPU", + "__METRIC_2_LABEL__": "蓝牙音频状态", + "__METRIC_2_VAL__": "● 已连接", + "__METRIC_3_LABEL__": "音频采样率", + "__STEP_4__": "4. 断言验证 CPU < 5.0% 阈值", + "__SCREEN_TITLE__": "正在播放", + "__DEVICE_TAG__": "● PIXEL 实机", + "__ITEM_SUB__": "输出设备: Pixel Buds Pro", + "__ITEM_PRICE__": "播放中 ▶", + "__SEC_TEXT__": "当前音频输出设备", + "__GROUNDING_TAG__": "🎯 AI 视觉锚定 (0.99)", + "__MOCK_BTN__": "媒体输出控制器", + } + else: + replacements = { + "__TAGLINE__": "Test Any Android Phone with Autonomous AI", + "__PROMPT_LABEL__": "Goal / Prompt", + "__PROMPT_STATUS__": "RUNNING ON DEVICE", + "__PROMPT_TEXT__": "Connect to Bluetooth earbuds, play a song, and capture CPU usage metrics", + "__CONSOLE_TITLE__": "Host Agent Console", + "__CONSOLE_BADGE__": "MONITORING", + "__STEP_1__": "1. Connect to Bluetooth earbuds", + "__STEP_2__": "2. Launch music player & play song", + "__STEP_3_TITLE__": "▶ 3. Capture CPU usage metrics", + "__STEP_3_TIME__": "Active", + "__STEP_3_DESC__": "ADB polling top -n 1 (pid: 14208)", + "__METRIC_1_LABEL__": "Target App CPU", + "__METRIC_2_LABEL__": "Bluetooth Audio", + "__METRIC_2_VAL__": "● Connected", + "__METRIC_3_LABEL__": "Sample Rate", + "__STEP_4__": "4. Assert CPU < 5.0% threshold", + "__SCREEN_TITLE__": "Now Playing", + "__DEVICE_TAG__": "● PIXEL LAB", + "__ITEM_SUB__": "Output: Pixel Buds Pro", + "__ITEM_PRICE__": "Playing ▶", + "__SEC_TEXT__": "Active Audio Output Device", + "__GROUNDING_TAG__": "🎯 GROUNDED (0.99)", + "__MOCK_BTN__": "Media Output Controls", + } + + for key, val in replacements.items(): + html_template = html_template.replace(key, val) + return html_template def render_image(html_str, output_path): @@ -870,9 +926,11 @@ from pathlib import Path assets_dir = Path(__file__).resolve().parent os.makedirs(assets_dir, exist_ok=True) -html_content = create_banner_html() +# Generate English main banner and en banner +en_html = create_banner_html(lang="en") +render_image(en_html, str(assets_dir / "artemis-banner.png")) +render_image(en_html, str(assets_dir / "artemis-banner-en.png")) -# Generate main banner -render_image(html_content, str(assets_dir / "artemis-banner.png")) -# Also update en banner for consistency -render_image(html_content, str(assets_dir / "artemis-banner-en.png")) +# Generate Chinese banner +cn_html = create_banner_html(lang="cn") +render_image(cn_html, str(assets_dir / "artemis-banner-cn.png"))