diff --git a/README.md b/README.md
index c2cc5d3..96b5160 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
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 @@
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 = """
✓
- 1. Connect to Bluetooth earbuds
+ __STEP_1__
✓
- 2. Launch music player & play song
+ __STEP_2__
- 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():
-
🎯 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"))