| name | browser |
| display_name | ๋ธ๋ผ์ฐ์ ์ ์ด |
| description | Control the user's Chrome browser โ navigate pages, read page content, click elements, fill forms, take screenshots. Chrome is automatically launched and managed by the agent โ no manual setup required. |
| version | 1.0.0 |
| emoji | ๐ |
| category | browser |
| enabled_by_default | true |
| requires_api_key | false |
| platforms | web |
| uses_provider | false |
| allowed-tools | ["Bash","exec"] |
| triggers | {"keywords":["๋ธ๋ผ์ฐ์ ","ํฌ๋กฌ","์นํ์ด์ง","์ด์ด์ค","์ฌ์ดํธ","์คํฌ๋ฆฐ์ท","์บก์ฒ","ํด๋ฆญํด์ค","๊ฒ์ํด์ค","์
๋ ฅํด์ค","ํ๋ฉด","URL","browser","chrome","navigate","screenshot","webpage","click","fill form","open website","capture screen"],"when_to_use":["User asks to open a URL or website in the browser","User wants to take a screenshot of a web page","User asks to interact with a web page (click, fill form, navigate)","User says \"์ง๊ธ ํ๋ฉด ๋ณด์ฌ์ค\" or \"์ด ์ฌ์ดํธ ์ด์ด์ค\"","User wants to search something on a specific website (Naver, Google)"],"not_for":["General web search without browser interaction (use websearch skill)","Downloading files without browser automation"]} |
๋ธ๋ผ์ฐ์ ์ ์ด (browser)
Chrome ๋ธ๋ผ์ฐ์ ๋ฅผ ์๊ฒฉ์ผ๋ก ์ ์ดํฉ๋๋ค. ์์ด์ ํธ ์๋ฒ ๋ด์ฅ ๋ธ๋ผ์ฐ์ ์ปจํธ๋กค ์๋ฒ(http://127.0.0.1:18793)๋ฅผ ํตํด ๋์ํฉ๋๋ค. Chrome์ ์์ด์ ํธ๊ฐ ์๋์ผ๋ก ์คํํ๋ฏ๋ก ๋ณ๋ ์ค์ ์์ด ๋ฐ๋ก ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
Commands
์๋ฒ ์ํ ํ์ธ
python3 browser/scripts/starnion-browser.py status
์ด๋ฆฐ ํญ ๋ชฉ๋ก
python3 browser/scripts/starnion-browser.py tabs
์ ํญ ์ด๊ธฐ
python3 browser/scripts/starnion-browser.py open "https://www.naver.com"
ํ์ด์ง ๋ด์ฉ ์ฝ๊ธฐ (์ค๋
์ท)
python3 browser/scripts/starnion-browser.py snapshot
python3 browser/scripts/starnion-browser.py snapshot --target-id {targetId}
python3 browser/scripts/starnion-browser.py snapshot --format aria
ํ์ด์ง ์ด๋
python3 browser/scripts/starnion-browser.py act navigate \
--url "https://www.google.com" \
--target-id {targetId}
์์ ํด๋ฆญ
์ค๋
์ท์์ [ref=eN] ํ๊ทธ๋ฅผ ํ์ธํ ํ ํด๋น ref๋ฅผ ์ฌ์ฉํฉ๋๋ค.
python3 browser/scripts/starnion-browser.py act click \
--uid e3 \
--target-id {targetId}
ํ
์คํธ ์
๋ ฅ
python3 browser/scripts/starnion-browser.py act fill \
--uid e5 \
--value "๊ฒ์์ด" \
--target-id {targetId}
ํผ ํ ๋ฒ์ ์ฑ์ฐ๊ธฐ
python3 browser/scripts/starnion-browser.py act fill_form \
--elements '[{"uid":"e5","value":"์ด๋ฉ์ผ"},{"uid":"e6","value":"๋น๋ฐ๋ฒํธ"}]' \
--target-id {targetId}
ํค ์
๋ ฅ
python3 browser/scripts/starnion-browser.py act press \
--key Enter \
--target-id {targetId}
์คํฌ๋ฆฐ์ท
python3 browser/scripts/starnion-browser.py act screenshot \
--target-id {targetId} \
--fmt png
์คํฌ๋ฆฐ์ท ์๋ต์๋ url ํ๋๊ฐ ํฌํจ๋ฉ๋๋ค (์: "http://localhost:8080/api/files/browser/screenshots/uuid.png").
โ ๏ธ [CRITICAL] ์คํฌ๋ฆฐ์ท url์ ๋ฐ๋์ ๋งํฌ๋ค์ด ์ด๋ฏธ์ง ๋ฌธ๋ฒ  ์ผ๋ก ์๋ต์ ํฌํจํด์ผ ํฉ๋๋ค.
๋ฐฑํฑ ์ฝ๋(url), ํ
์คํธ ๋งํฌ, ๋๋ URL๋ง ๋จ๋
์ถ๋ ฅํ๋ฉด ์ด๋ฏธ์ง๊ฐ ์ ์ก๋์ง ์์ต๋๋ค.
์ฌ๋ฐ๋ฅธ ํ์ (ํญ์ ์ด๋ ๊ฒ):

์๋ชป๋ ํ์ (์ ๋ ์ฌ์ฉ ๊ธ์ง):
`http://localhost:8080/api/files/...` โ ์ฝ๋ ๋ธ๋ก ๊ธ์ง
**์คํฌ๋ฆฐ์ท URL**: http://... โ URL ํ
์คํธ ๊ธ์ง
- ์คํฌ๋ฆฐ์ท URL: `http://...` โ ํญ๋ชฉ + ์ฝ๋ ๊ธ์ง
์์ ์๋ต:
๋ค์ด๋ฒ ์ง๋ ๊ฒฝ๋ก ๊ฒ์ ๊ฒฐ๊ณผ์
๋๋ค.

ํ
์คํธ ๋๊ธฐ (ํ์ด์ง ๋ก๋ฉ ์๋ฃ ํ์ธ)
python3 browser/scripts/starnion-browser.py act wait \
--text "๊ฒ์๊ฒฐ๊ณผ" \
--target-id {targetId}
ํ์์์ ์กฐ์ (๋๋ฆฐ ํ์ด์ง / ์คํฌ๋ฆฐ์ท)
์คํฌ๋ฆฐ์ท์ด๋ ๋ณต์กํ ํ์ด์ง ์์
์ ๊ธฐ๋ณธ 60์ด๋ณด๋ค ๋ ๊ฑธ๋ฆด ์ ์์ต๋๋ค. --timeout ์ต์
์ผ๋ก ์ฐ์ฅํ์ธ์:
python3 browser/scripts/starnion-browser.py --timeout 90 act screenshot \
--target-id {targetId} --fmt png
python3 browser/scripts/starnion-browser.py --timeout 90 snapshot --target-id {targetId}
Typical Workflow
1. ํ์ฌ ํญ ํ์
python3 browser/scripts/starnion-browser.py tabs
2. ํ์ด์ง ๋ด์ฉ ํ์
python3 browser/scripts/starnion-browser.py snapshot --target-id {targetId}
3. ์ก์
์ํ
์ค๋
์ท์ ref๋ฅผ ์ด์ฉํด click/fill ์ํ ํ ๋ค์ snapshot์ผ๋ก ๊ฒฐ๊ณผ ํ์ธ.
Autocomplete / Dynamic UI Handling
์๋์์ฑ์ด ์๋ ์
๋ ฅ์ฐฝ(๊ฒ์์ฐฝ, ์ฃผ์ ์
๋ ฅ ๋ฑ)์ ์ฒ๋ฆฌํ ๋๋ ๋ฐ๋์ ์ด ํจํด์ ๋ฐ๋ฅด์ธ์:
fill ๋ก ํ
์คํธ ์
๋ ฅ
- ์ฆ์
snapshot ์ผ๋ก ์๋์์ฑ ๋ชฉ๋ก์ด ๋ํ๋ฌ๋์ง ํ์ธ
- ์๋์์ฑ ํญ๋ชฉ์
[ref=eN] ์ ์ฐพ์ click ์ผ๋ก ์ ํ
- ์ ํ ํ ๋ค์
snapshot ์ผ๋ก ๋ค์ ์
๋ ฅ ํ๋ ํ์ธ
python3 browser/scripts/starnion-browser.py act fill \
--uid e5 --value "์์ฌ" --target-id {targetId}
python3 browser/scripts/starnion-browser.py snapshot --target-id {targetId}
python3 browser/scripts/starnion-browser.py act click \
--uid e12 --target-id {targetId}
python3 browser/scripts/starnion-browser.py snapshot --target-id {targetId}
์ฃผ์: ์๋์์ฑ ํญ๋ชฉ์ด ์ค๋
์ท์ ๋ณด์ด์ง ์์ผ๋ฉด Enter ํค๋ฅผ ๋๋ฅด์ง ๋ง๊ณ ๋ค์ snapshot์ ์ฐ์ด ํ์ธํ์ธ์.
When to use
- User wants to open a website or navigate to a URL
- User asks to search something on Naver, Google, or any website
- User wants to know what's currently on their browser screen
- User wants to click a button, fill a form, or interact with a webpage
- User asks for a screenshot of the current page
- User wants the agent to read content from a specific webpage in their browser
Examples
User: "๋ค์ด๋ฒ ์ด์ด์ค"
python3 browser/scripts/starnion-browser.py tabs
python3 browser/scripts/starnion-browser.py act navigate \
--url "https://www.naver.com" \
--target-id {targetId}
User: "๊ตฌ๊ธ์์ ๋ ์จ ๊ฒ์ํด์ค"
python3 browser/scripts/starnion-browser.py act navigate \
--url "https://www.google.com" \
--target-id {targetId}
python3 browser/scripts/starnion-browser.py snapshot --target-id {targetId}
python3 browser/scripts/starnion-browser.py act fill \
--uid e1 --value "์ค๋ ๋ ์จ" --target-id {targetId}
python3 browser/scripts/starnion-browser.py act press \
--key Enter --target-id {targetId}
python3 browser/scripts/starnion-browser.py snapshot --target-id {targetId}
User: "์ง๊ธ ํ๋ฉด ๋ณด์ฌ์ค"
python3 browser/scripts/starnion-browser.py act screenshot \
--target-id {targetId} --fmt png
User: "ํ์ฌ ํ์ด์ง ๋ด์ฉ ์์ฝํด์ค"
python3 browser/scripts/starnion-browser.py snapshot --target-id {targetId}
User: "๋ค์ด๋ฒ ์ง๋์์ ์์ฌ์์ ํด์ด๋๊น์ง ๊ฒฝ๋ก ๊ฒ์ํด์ ํ๋ฉด ์บก์ฒํด์ค"
python3 browser/scripts/starnion-browser.py tabs
python3 browser/scripts/starnion-browser.py act navigate \
--url "https://map.naver.com" --target-id {targetId}
python3 browser/scripts/starnion-browser.py snapshot --target-id {targetId}
python3 browser/scripts/starnion-browser.py act click \
--uid {๊ธธ์ฐพ๊ธฐ_ref} --target-id {targetId}
python3 browser/scripts/starnion-browser.py snapshot --target-id {targetId}
python3 browser/scripts/starnion-browser.py act fill \
--uid {์ถ๋ฐ์ง_ref} --value "์์ฌ" --target-id {targetId}
python3 browser/scripts/starnion-browser.py snapshot --target-id {targetId}
python3 browser/scripts/starnion-browser.py act click \
--uid {์๋์์ฑ_ref} --target-id {targetId}
python3 browser/scripts/starnion-browser.py snapshot --target-id {targetId}
python3 browser/scripts/starnion-browser.py act fill \
--uid {๋์ฐฉ์ง_ref} --value "ํด์ด๋" --target-id {targetId}
python3 browser/scripts/starnion-browser.py snapshot --target-id {targetId}
python3 browser/scripts/starnion-browser.py act click \
--uid {์๋์์ฑ_ref} --target-id {targetId}
python3 browser/scripts/starnion-browser.py snapshot --target-id {targetId}
python3 browser/scripts/starnion-browser.py --timeout 90 act screenshot \
--target-id {targetId} --fmt png
ํต์ฌ ๊ท์น:
- ๊ฐ fill/click ํ์๋ ๋ฐ๋์ snapshot์ผ๋ก ํ์ฌ ์ํ๋ฅผ ํ์ธํ์ธ์.
- ์๋์์ฑ ๋๋กญ๋ค์ด์ ์ง์ ํด๋ฆญํด์ผ ํฉ๋๋ค (Enter ์
๋ ฅ ๊ธ์ง, ์ํ์ง ์๋ ํญ๋ชฉ์ด ์ ํ๋ ์ ์์).
- ๊ฒฝ๋ก ๊ฒฐ๊ณผ๊ฐ ๋ํ๋๊ธฐ ์ ์ ์คํฌ๋ฆฐ์ท์ ์ฐ์ผ๋ฉด ๋น ํ๋ฉด์ด ์บก์ฒ๋ฉ๋๋ค.
Notes
targetId๋ tabs ๋ช
๋ น์ผ๋ก ํ์ธ. ํญ์ด ํ๋๋ฟ์ด๋ฉด snapshot/act ์ ์๋ต ๊ฐ๋ฅ.
- ์ค๋
์ท์
[ref=eN]์ ์ธํฐ๋ํฐ๋ธ ์์(๋ฒํผ, ๋งํฌ, ์
๋ ฅ์ฐฝ ๋ฑ)์๋ง ๋ถ์.
- ๋ธ๋ผ์ฐ์ ๊ฐ ์ฒ์ ์คํ๋ ๋ Chrome์ด ์๋์ผ๋ก ์์๋ฉ๋๋ค (headless ๋๋ ์ผ๋ฐ ๋ชจ๋).
- ๋ธ๋ผ์ฐ์ ์ปจํธ๋กค ์๋ฒ๋ ์์ด์ ํธ ์์ ์ ์๋์ผ๋ก
127.0.0.1:18793์์ ์คํ๋จ (๊ธฐ๋ณธ ํฌํธ, BROWSER_CONTROL_PORT ํ๊ฒฝ๋ณ์๋ก ๋ณ๊ฒฝ ๊ฐ๋ฅ).
- ์ธ์
๊ฒฉ๋ฆฌ: ๊ฐ ์ฌ์ฉ์ ์ธ์
์
TASK_ID ํ๊ฒฝ๋ณ์ ({userId}:{sessionId} ํ์)๋ฅผ ํตํด ๊ณ ์ ํ๊ฒ ์๋ณ๋ฉ๋๋ค. ์ธ์
๋ณ ๊ฒฉ๋ฆฌ๊ฐ ํ์ํ ์คํฌ๋ฆฝํธ๋ $TASK_ID๋ฅผ ์ฐธ์กฐํ์ธ์.