๋ธŒ๋ผ์šฐ์ € ๋ฆด๋ ˆ์ด๊ฐ€ ์ž๊พธ ํ”๋“ค๋ฆด ๋•Œ ๋งŽ์€ ์‚ฌ๋žŒ์ด ํ™•์žฅ ์•„์ด์ฝ˜์ด๋‚˜ ํฌํŠธ ํฌ์›Œ๋”ฉ๋งŒ ์˜์‹ฌํ•œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์‹ค์ œ๋กœ๋Š” ๋” ์•ž๋‹จ์—์„œ ๊ตฌ์กฐ๋ฅผ ์ž˜๋ชป ์žก์€ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ๊ธฐ๋ณธ ์ž‘์—…์„ ์–ด๋–ค ํ”„๋กœํ•„๋กœ ์ฒ˜๋ฆฌํ• ์ง€, ๊ธฐ์กด ๋กœ๊ทธ์ธ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๊ผญ ํ•„์š”ํ•œ์ง€, ๋ฌธ์ œ๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์ธ์ง€ ๊ฒŒ์ดํŠธ์›จ์ด์ธ์ง€๋ฅผ ๋จผ์ € ๋‚˜๋ˆ„์ง€ ์•Š์œผ๋ฉด ๊ฐ™์€ ์ฆ์ƒ์ด ๊ณ„์† ๋ฐ˜๋ณต๋œ๋‹ค. ์ด ๋ฌธ์„œ๋Š” ๊ทธ ๋ถ„๊ธฐ์ ์„ ํ•œ ๋ฒˆ์— ์ •๋ฆฌํ•œ ์šด์˜ ๊ฐ€์ด๋“œ๋‹ค.

์•ˆ๋‚ด: ๋ณธ๋ฌธ์€ ์ƒ์„ฑํ˜• AI๋ฅผ ํ™œ์šฉํ•ด ์ดˆ์•ˆ์„ ์ž‘์„ฑํ•˜๊ณ , ๊ณต์‹ ๋ฌธ์„œ์™€ ์‹ค์ œ ์šด์˜ ๋กœ๊ทธ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์‚ฌ๋žŒ์ด ๊ฒ€์ˆ˜ํ•ด ๋ณด์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

flowchart LR
A[๋ธŒ๋ผ์šฐ์ € ์ž‘์—… ์š”์ฒญ] --> B{๊ธฐ์กด ๋กœ๊ทธ์ธ/์ฟ ํ‚ค๊ฐ€ ๊ผญ ํ•„์š”ํ•œ๊ฐ€?}
B -->|์•„๋‹ˆ์˜ค| C[profile=openclaw]
B -->|์˜ˆ| D{์‚ฌ์šฉ์ž ๋ธŒ๋ผ์šฐ์ € ์ œ์–ด์ธ๊ฐ€?}
D -->|์˜ˆ| E[profile=user]
D -->|ํ™•์žฅ attach ํƒญ ํ•„์š”| F[chrome-relay ๊ฒฝ๋กœ]
C --> G[status โ†’ tabs โ†’ snapshot]
E --> G
F --> H[ํˆด๋ฐ” ์•„์ด์ฝ˜ ON ํ™•์ธ]
H --> G
G --> I{์—ฌ์ „ํžˆ ์‹คํŒจ?}
I -->|์˜ˆ| J[gateway status / probe / SSH ํฌํŠธ ํ™•์ธ]
I -->|์•„๋‹ˆ์˜ค| K[์ž‘์—… ์ง„ํ–‰]

๊ฒฐ๋ก  ๋จผ์ €

๋ธŒ๋ผ์šฐ์ € ์ž‘์—…์„ ์•ˆ์ •์ ์œผ๋กœ ๊ตด๋ฆฌ๋ ค๋ฉด ๊ธฐ๋ณธ๊ฐ’์€ profile=openclaw, ๊ธฐ์กด ๋กœ๊ทธ์ธ ์„ธ์…˜์ด ๊ผญ ํ•„์š”ํ•  ๋•Œ๋งŒ profile=user, ํ™•์žฅ attach ํƒญ ํ๋ฆ„์ด ํ•„์š”ํ•œ ์˜ˆ์™ธ ์ƒํ™ฉ์—์„œ๋งŒ relay ๊ฒฝ๋กœ๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ๋œ ๊นจ์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์žฅ์•  ์ง„๋‹จ์€ status โ†’ tabs โ†’ snapshot์œผ๋กœ ๋๋‚ด์ง€ ๋ง๊ณ , ํ•„์š”ํ•  ๋•Œ openclaw gateway status --require-rpc์™€ openclaw gateway probe๊นŒ์ง€ ์ด์–ด์„œ ๋ด์•ผ ํ•œ๋‹ค.

๊ณต์‹ ๋ธŒ๋ผ์šฐ์ € ๋ฌธ์„œ๋Š” openclaw๋ฅผ ์ „์šฉ ๊ด€๋ฆฌํ˜• ๋ธŒ๋ผ์šฐ์ € ํ”„๋กœํ•„๋กœ, user๋ฅผ ๊ธฐ์กด ๋กœ๊ทธ์ธ ๋ธŒ๋ผ์šฐ์ € ์ œ์–ด ๊ฒฝ๋กœ๋กœ ์„ค๋ช…ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฆด๋ ˆ์ด ๋ฌธ์ œ๋ฅผ ์ค„์ด๋ ค๋ฉด โ€œ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ € ์ž‘์—…์„ ๊ธฐ์กด Chrome์œผ๋กœ ๋ถ™์ธ๋‹คโ€๊ฐ€ ์•„๋‹ˆ๋ผ โ€œ๊ธฐ๋ณธ์€ ์ „์šฉ ํ”„๋กœํ•„, ์˜ˆ์™ธ๋งŒ ๊ธฐ์กด ์„ธ์…˜โ€์œผ๋กœ ์„ค๊ณ„๋ฅผ ๋ฐ”๊พธ๋Š” ํŽธ์ด ์•ˆ์ „ํ•˜๋‹ค.

30์ดˆ ํŒ๋‹จํ‘œ

์•„๋ž˜ ์„ธ ์ค„๋งŒ ์ œ๋Œ€๋กœ ๊ตฌ๋ถ„ํ•ด๋„ ์žฅ์• ์œจ์ด ๋งŽ์ด ๋–จ์–ด์ง„๋‹ค.

์ง€๊ธˆ ํ•˜๋ ค๋Š” ์ผ๊ถŒ์žฅ ๊ฒฝ๋กœ์ด์œ 
๋ฌธ์„œ ์ ๊ฒ€, ์ผ๋ฐ˜ ์ž๋™ํ™”, ์žฌํ˜„ ๊ฐ€๋Šฅํ•œ ํ…Œ์ŠคํŠธprofile=openclawattach ํด๋ฆญ ์—†์ด ๋ฐ”๋กœ ์žฌํ˜„ ๊ฐ€๋Šฅํ•˜๊ณ , ์„ธ์…˜ ์˜ค์—ผ์ด ์ ๋‹ค
๋‚ด๊ฐ€ ์ด๋ฏธ ๋กœ๊ทธ์ธํ•œ ๋ธŒ๋ผ์šฐ์ € ์ƒํƒœ๋ฅผ ๊ทธ๋Œ€๋กœ ์จ์•ผ ํ•จprofile=user๊ธฐ์กด ๊ณ„์ •/์ฟ ํ‚ค/์—ด๋ฆฐ ํƒญ์„ ๊ทธ๋Œ€๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค
ํ™•์žฅ ํˆด๋ฐ” ์•„์ด์ฝ˜์„ ๋ˆŒ๋Ÿฌ ํŠน์ • ํƒญ์„ attachํ•ด์•ผ ํ•จrelay ๊ฒฝ๋กœํƒญ ๋‹จ์œ„ attach๊ฐ€ ํ•ต์‹ฌ์ด๋ผ, ๋ธŒ๋ผ์šฐ์ € ์ƒํƒœ๋ณด๋‹ค attach ์„ฑ๊ณต ์—ฌ๋ถ€๊ฐ€ ๋” ์ค‘์š”ํ•˜๋‹ค

์‹ค๋ฌด์—์„œ๋Š” ์ฒซ ์ค„์„ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๋‘๊ณ , ๋‘ ๋ฒˆ์งธ์™€ ์„ธ ๋ฒˆ์งธ๋ฅผ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋กœ ๋‘๋Š” ํŽธ์ด ๊ฐ€์žฅ ๋‹จ์ˆœํ•˜๋‹ค.

์™œ ์ž๊พธ ์‹คํŒจ์ฒ˜๋Ÿผ ๋ณด์ด๋‚˜

๊ฒ‰๋ณด๊ธฐ ์ฆ์ƒ์€ ๋น„์Šทํ•˜์ง€๋งŒ ์›์ธ์€ ํฌ๊ฒŒ ๋„ค ๊ฐˆ๋ž˜๋‹ค.

  1. ํ”„๋กœํ•„ ์„ ํƒ์ด ์ž˜๋ชป๋œ ๊ฒฝ์šฐ
    ๊ธฐ๋ณธ ์ž๋™ํ™”์ธ๋ฐ๋„ ๊ธฐ์กด ๋กœ๊ทธ์ธ ๋ธŒ๋ผ์šฐ์ €๋ถ€ํ„ฐ ๋ถ™์œผ๋ ค ํ•˜๋ฉด, ์ฟ ํ‚คยทํ™•์žฅยท์—ด๋ฆฐ ํƒญ ์ƒํƒœ์— ๋”ฐ๋ผ ์žฌํ˜„์„ฑ์ด ๊ธ‰๊ฒฉํžˆ ๋–จ์–ด์ง„๋‹ค.
  2. ํƒญ attach๊ฐ€ ๋น ์ง„ ๊ฒฝ์šฐ
    relay ๊ฒฝ๋กœ๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์—ด๋ ค ์žˆ์–ด๋„ ์‹ค์ œ ์ž‘์—… ํƒญ์— attach๊ฐ€ ์•ˆ ๋˜๋ฉด tabs=0์ฒ˜๋Ÿผ ๋ณด์ผ ์ˆ˜ ์žˆ๋‹ค.
  3. ๊ฒŒ์ดํŠธ์›จ์ด ์ชฝ ๋ฌธ์ œ๊ฐ€ ์„ž์ธ ๊ฒฝ์šฐ
    ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ฃฝ์€ ์ค„ ์•Œ์•˜๋Š”๋ฐ ์‹ค์ œ๋กœ๋Š” Gateway RPC๊ฐ€ ๋ถˆ์•ˆ์ •ํ•˜๊ฑฐ๋‚˜ ์›๊ฒฉ ํฌ์›Œ๋”ฉ์ด ๊ผฌ์ธ ์‚ฌ๋ก€๊ฐ€ ๋งŽ๋‹ค.
  4. ํƒ์ง€์™€ ์กฐ์ž‘ ๋‹จ๊ณ„๋ฅผ ์„ž๋Š” ๊ฒฝ์šฐ
    status์™€ tabs๋Š” ๋˜๋Š”๋ฐ snapshot์ด๋‚˜ navigate๊ฐ€ ์‹คํŒจํ•˜๋ฉด, ๋ธŒ๋ผ์šฐ์ € ์ „์ฒด๋ณด๋‹ค๋Š” ๊ถŒํ•œยท์ •์ฑ…ยท์ ‘๊ทผ ์ œํ•œ ๋ฌธ์ œ์ผ ๊ฐ€๋Šฅ์„ฑ์ด ๋” ๋†’๋‹ค.

๊ณต์‹ ๋ธŒ๋ผ์šฐ์ € ๋ฌธ์„œ๋„ ๋น„์Šทํ•œ ํ๋ฆ„์„ ๊ถŒํ•œ๋‹ค. status์™€ tabs๊ฐ€ ํ†ต๊ณผํ–ˆ๋Š”๋ฐ snapshot ๋˜๋Š” navigate๊ฐ€ ์‹คํŒจํ•˜๋ฉด, ๋ธŒ๋ผ์šฐ์ € ์ œ์–ด๋ฉด ์ „์ฒด๋ณด๋‹ค ๊ฐœ๋ณ„ ํŽ˜์ด์ง€ ์ ‘๊ทผ ์ •์ฑ…์ด๋‚˜ SSRF ์ œํ•œ ์ชฝ์„ ๋จผ์ € ์˜์‹ฌํ•˜๋ผ๊ณ  ์•ˆ๋‚ดํ•œ๋‹ค.

๊ฐ€์žฅ ๋œ ๊นจ์ง€๋Š” ์šด์˜ ๊ธฐ์ค€์„ 

1) ๊ธฐ๋ณธ๊ฐ’์€ openclaw

์ผ๋ฐ˜์ ์ธ ์›น ์ž๋™ํ™”, ๋ฌธ์„œ ์ ๊ฒ€, ํ…Œ์ŠคํŠธ ์žฌํ˜„์€ openclaw ํ”„๋กœํ•„์ด ๊ฐ€์žฅ ์•ˆ์ •์ ์ด๋‹ค. OpenClaw๊ฐ€ ๊ด€๋ฆฌํ•˜๋Š” ์ „์šฉ ๋ธŒ๋ผ์šฐ์ €๋ผ์„œ, โ€œ์–ด์ œ ๋ˆ„๊ฐ€ ์–ด๋–ค ํƒญ์„ ์—ด์–ด๋’€๋Š”์ง€โ€ ๊ฐ™์€ ์™ธ๋ถ€ ๋ณ€์ˆ˜๊ฐ€ ์ ๋‹ค.

์‹คํ–‰ ์˜ˆ์‹œ๋Š” ์•„๋ž˜์ฒ˜๋Ÿผ ์•„์ฃผ ์งง๊ฒŒ ๋๋‚œ๋‹ค.

openclaw browser --browser-profile openclaw status
openclaw browser --browser-profile openclaw open https://example.com
openclaw browser --browser-profile openclaw tabs
openclaw browser --browser-profile openclaw snapshot

๊ฒ€์ฆ ํฌ์ธํŠธ๋Š” ๊ฐ„๋‹จํ•˜๋‹ค.

  • status๊ฐ€ ์‚ด์•„ ์žˆ๋Š”๊ฐ€
  • tabs์— ์‹ค์ œ ํƒญ์ด ์žกํžˆ๋Š”๊ฐ€
  • snapshot์ด ํŽ˜์ด์ง€ ๋‚ด์šฉ์„ ์ฝ์–ด ์˜ค๋Š”๊ฐ€

์ด ์…‹์ด ๋ชจ๋‘ ํ†ต๊ณผํ•˜๋ฉด, ๋ธŒ๋ผ์šฐ์ € ์ œ์–ด๋ฉด์€ ๋Œ€์ฒด๋กœ ๊ฑด๊ฐ•ํ•˜๋‹ค๊ณ  ๋ด๋„ ๋œ๋‹ค.

2) ๊ธฐ์กด ๋กœ๊ทธ์ธ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๊ผญ ํ•„์š”ํ•  ๋•Œ๋งŒ user

Gmail, ๋‚ด๋ถ€ SaaS, ๊ธฐ์กด ๋กœ๊ทธ์ธ ์„ธ์…˜์ฒ˜๋Ÿผ โ€œ์ด๋ฏธ ๋กœ๊ทธ์ธํ•ด ๋‘” ๋ธŒ๋ผ์šฐ์ € ์ƒํƒœโ€๊ฐ€ ์ค‘์š”ํ•œ ์ž‘์—…์€ user ๊ฒฝ๋กœ๊ฐ€ ๋งž๋‹ค. ๋‹ค๋งŒ ์ด ๊ฒฝ๋กœ๋Š” ํŽธํ•œ ๋Œ€์‹ , ์‚ฌ์šฉ์ž์˜ ์‹ค์ œ ๋ธŒ๋ผ์šฐ์ € ์ƒํƒœ ์˜ํ–ฅ์„ ์ง์ ‘ ๋ฐ›๋Š”๋‹ค. ํ™•์žฅ ์ถฉ๋Œ, ํƒญ ์ •๋ฆฌ, ์„ธ์…˜ ๋งŒ๋ฃŒ ๊ฐ™์€ ๋ณ€์ˆ˜๊ฐ€ ๊ณง๋ฐ”๋กœ ๊ฒฐ๊ณผ์— ๋ฐ˜์˜๋œ๋‹ค.

๊ทธ๋ž˜์„œ ์šด์˜ ๊ธฐ์ค€์€ ๋‹จ์ˆœํ•ด์•ผ ํ•œ๋‹ค.

  1. ๊ธฐ๋ณธ ์ž๋™ํ™”๋Š” openclaw
  2. ๊ธฐ์กด ๋กœ๊ทธ์ธ ์ƒํƒœ๊ฐ€ ํ•„์š”ํ•œ ์š”์ฒญ๋งŒ user
  3. ํ•œ ๋ฒˆ ์‹คํŒจํ–ˆ๋‹ค๊ณ  ๊ณง๋ฐ”๋กœ ๋ฆด๋ ˆ์ด ์ „์ฒด๋ฅผ ์˜์‹ฌํ•˜์ง€ ๋ง๊ณ , ๋จผ์ € ํ˜„์žฌ ๋ธŒ๋ผ์šฐ์ € ์„ธ์…˜์ด ์‹ค์ œ๋กœ ์‚ด์•„ ์žˆ๋Š”์ง€ ํ™•์ธ

์ด ๋ถ„๋ฆฌ๋ฅผ ํ•ด ๋‘๋ฉด ๊ฐ™์€ โ€œ๋ธŒ๋ผ์šฐ์ € ์ž‘์—…โ€์ด๋ผ๋„ ์žฅ์•  ์›์ธ์„ ํ›จ์”ฌ ๋นจ๋ฆฌ ์ขํž ์ˆ˜ ์žˆ๋‹ค.

3) relay ๊ฒฝ๋กœ๋Š” ํ™•์žฅ attach๊ฐ€ ํ•„์š”ํ•œ ์˜ˆ์™ธ ํ๋ฆ„

๋ธŒ๋ผ์šฐ์ € ๋ฆด๋ ˆ์ด๋ฅผ โ€œ๋ชจ๋“  ์‚ฌ์šฉ์ž ๋ธŒ๋ผ์šฐ์ € ์ œ์–ด์˜ ๊ธฐ๋ณธ๊ฐ’โ€์œผ๋กœ ๋†“์œผ๋ฉด ํ—ท๊ฐˆ๋ฆฐ๋‹ค. relay ๊ฒฝ๋กœ๋Š” ๋ณดํ†ต ๋ธŒ๋ผ์šฐ์ € ํˆด๋ฐ” ์•„์ด์ฝ˜์„ ๋ˆŒ๋Ÿฌ ํŠน์ • ํƒญ์„ attachํ•˜๋Š” ํ๋ฆ„์ด ํ•ต์‹ฌ์ด๋‹ค. ์ฆ‰, ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์—ด๋ ธ๋Š”์ง€๋ณด๋‹ค ์ž‘์—… ํƒญ์—์„œ attach๊ฐ€ ์„ฑ๊ณตํ–ˆ๋Š”์ง€๊ฐ€ ๋” ์ค‘์š”ํ•˜๋‹ค.

์‹คํŒจํ•  ๋•Œ๋Š” ์•„๋ž˜ ์ˆœ์„œ๋กœ ๋ณด๋Š” ํŽธ์ด ์ข‹๋‹ค.

  1. ์˜ต์…˜ ํŽ˜์ด์ง€๊ฐ€ ์•„๋‹ˆ๋ผ ์‹ค์ œ ์ž‘์—… ํƒญ์—์„œ relay ์•„์ด์ฝ˜์ด ON์ธ์ง€ ํ™•์ธ
  2. tabs์—์„œ attach๋œ ํƒญ์ด ๋ณด์ด๋Š”์ง€ ํ™•์ธ
  3. ๊ทธ๋ž˜๋„ ์•ˆ ๋˜๋ฉด ๋ธŒ๋ผ์šฐ์ €๋ณด๋‹ค ๊ฒŒ์ดํŠธ์›จ์ด/ํฌํŠธ ํฌ์›Œ๋”ฉ ์ชฝ์„ ํ™•์ธ

์ด ๊ฒฝ๋กœ๋Š” โ€œ๊ธฐ์กด ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๊ทธ๋Œ€๋กœ ์“ฐ๊ฒ ๋‹คโ€๋Š” ์š”๊ตฌ๊ฐ€ ์•„๋‹ˆ๋ผ, โ€œํŠน์ • ํƒญ attach๊ฐ€ ๊ผญ ํ•„์š”ํ•œ๊ฐ€โ€๋ผ๋Š” ์งˆ๋ฌธ์œผ๋กœ ํŒ๋‹จํ•ด์•ผ ๋œ ๊ผฌ์ธ๋‹ค.

์ง„๋‹จ ์ˆœ์„œ๋Š” status โ†’ tabs โ†’ snapshot โ†’ gateway

๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ์„ ๋•Œ ๋งŽ์€ ์‚ฌ๋žŒ์ด tabs=0๋งŒ ๋ณด๊ณ  ์›์ธ์„ ๋‹จ์ •ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์‹ค๋ฌด์—์„œ๋Š” ๋ธŒ๋ผ์šฐ์ €์™€ ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ๋ถ„๋ฆฌํ•ด์„œ ๋ณด๋Š” ์Šต๊ด€์ด ๋” ์ค‘์š”ํ•˜๋‹ค.

1๋‹จ๊ณ„. ๋ธŒ๋ผ์šฐ์ € ์ƒํƒœ ํ™•์ธ

openclaw browser --browser-profile openclaw status
openclaw browser --browser-profile openclaw tabs
openclaw browser --browser-profile openclaw snapshot

์—ฌ๊ธฐ์„œ status์™€ tabs๋Š” ๋˜๋Š”๋ฐ snapshot๋งŒ ์‹คํŒจํ•˜๋ฉด, ๋ธŒ๋ผ์šฐ์ € ํ”„๋กœ์„ธ์Šค ์ž์ฒด๋ณด๋‹ค๋Š” ๋Œ€์ƒ ํŽ˜์ด์ง€ ์ •์ฑ…์ด๋‚˜ ์ ‘๊ทผ ์ œํ•œ ์ชฝ์„ ๋จผ์ € ๋ณธ๋‹ค.

2๋‹จ๊ณ„. Gateway RPC ํ™•์ธ

openclaw gateway status --require-rpc
openclaw gateway probe

์ด ๋‘ ๋ช…๋ น์€ โ€œํ”„๋กœ์„ธ์Šค๊ฐ€ ๋–  ์žˆ๋ƒโ€๋ณด๋‹ค ํ•œ ๋‹จ๊ณ„ ๋” ๋‚˜์•„๊ฐ€, ์‹ค์ œ Gateway RPC๊ฐ€ ์‘๋‹ต ๊ฐ€๋Šฅํ•œ์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ๋ฐ ์œ ์šฉํ•˜๋‹ค. ๊ณต์‹ ๋ฌธ์„œ๋„ --require-rpc๋ฅผ ์Šคํฌ๋ฆฝํŠธ/์ž๋™ํ™”์—์„œ ๊ถŒ์žฅํ•œ๋‹ค. ๋‹จ์ˆœํžˆ ์„œ๋น„์Šค๊ฐ€ ๋–  ์žˆ๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋Š” ๋ธŒ๋ผ์šฐ์ € ํˆด์ด ์ •์ƒ์ด๋ผ๊ณ  ๋‹จ์ •ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

3๋‹จ๊ณ„. ์›๊ฒฉ ์ ‘์†์ด๋ฉด SSH ํฌ์›Œ๋”ฉ ํ™•์ธ

lsof -nP -iTCP:18789 -sTCP:LISTEN
lsof -nP -iTCP:18792 -sTCP:LISTEN
ssh -G relay39 | egrep '^(hostname|user|identityfile) '
ssh -o BatchMode=yes relay39 'echo relay39-ok'

์—ฌ๊ธฐ์„œ ๋ง‰ํžˆ๋ฉด ๋ธŒ๋ผ์šฐ์ € ๋ช…๋ น์„ ๋” ์Œ“์•„๋„ ํ•ด๊ฒฐ๋˜์ง€ ์•Š๋Š”๋‹ค. ์ด ๋‹จ๊ณ„๋Š” ํŠนํžˆ ๋ฉ€ํ‹ฐ ๋จธ์‹ ์—์„œ ์ค‘์š”ํ•˜๋‹ค.

ํ•œ ๋ฒˆ์— ๋๋‚ด๋Š” ๊ธฐ๋ณธ ์„ธํŒ…

A. ๋‹จ์ผ ๋จธ์‹  ๊ธฐ๋ณธ ์šด์˜

ํ•œ ๋Œ€์˜ ๋จธ์‹ ์—์„œ๋งŒ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์“ด๋‹ค๋ฉด, ์•„๋ž˜์ฒ˜๋Ÿผ ๋‹จ์ˆœํ•˜๊ฒŒ ๋‘๋Š” ํŽธ์ด ์ข‹๋‹ค.

  1. ๊ธฐ๋ณธ ํ”„๋กœํ•„์€ openclaw
  2. ๊ธฐ์กด ๋กœ๊ทธ์ธ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ•„์š”ํ•  ๋•Œ๋งŒ user
  3. ํ™•์žฅ attach๊ฐ€ ํ•„์š”ํ•œ ์˜ˆ์™ธ์—์„œ๋งŒ relay
  4. ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋ฉด browser status ๋‹ค์Œ์— ๋ฐ”๋กœ gateway status --require-rpc

์ด ๊ตฌ์กฐ๋Š” ๋ฌธ์„œํ™”๋„ ์‰ฝ๊ณ , ํŒ€ ๋‚ด ์„ค๋ช… ๋น„์šฉ๋„ ๋‚ฎ๋‹ค.

B. ์›๊ฒฉ ๋จธ์‹  2๋Œ€ ์ด์ƒ ์šด์˜

๋‘ ๋Œ€ ์ด์ƒ์˜ ์›๊ฒฉ ๋จธ์‹ ์„ ์˜ค๊ฐˆ ๋•Œ๋Š” ํฌํŠธ๋ฅผ ๋ถ„๋ฆฌํ•˜์ง€ ์•Š์œผ๋ฉด ๊ธˆ๋ฐฉ ๊ผฌ์ธ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 37๋ฒˆ ๋จธ์‹ ๊ณผ 39๋ฒˆ ๋จธ์‹ ์„ ๋™์‹œ์— ์“ด๋‹ค๋ฉด ๋กœ์ปฌ ํฌํŠธ๋ฅผ ๊ฒน์น˜์ง€ ์•Š๊ฒŒ ์žก์•„์•ผ ํ•œ๋‹ค.

# ์˜ˆ์‹œ: 37๋ฒˆ์€ 28789/28792, 39๋ฒˆ์€ 38789/38792
ssh -fN -M -S "$HOME/.ssh/rel37.sock" \
  -o ExitOnForwardFailure=yes \
  -L 28789:127.0.0.1:18789 \
  -L 28792:127.0.0.1:18792 \
  relay37
 
ssh -fN -M -S "$HOME/.ssh/rel39.sock" \
  -o ExitOnForwardFailure=yes \
  -L 38789:127.0.0.1:18789 \
  -L 38792:127.0.0.1:18792 \
  relay39

๊ณต์‹ ๊ฒŒ์ดํŠธ์›จ์ด ๋ฌธ์„œ๋„ ์—ฌ๋Ÿฌ ๊ฒŒ์ดํŠธ์›จ์ด๊ฐ€ ๋™์‹œ์— ๋ณด์ผ ์ˆ˜๋Š” ์žˆ์ง€๋งŒ, ๋Œ€๋ถ€๋ถ„์˜ ์šด์˜์—์„œ๋Š” ํ•œ ๋จธ์‹ ์— ํ•œ ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ณด๊ณ  ์ง„๋‹จํ•˜๋ผ๊ณ  ์„ค๋ช…ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ํฌํŠธ๋ฅผ ๋ถ„๋ฆฌํ•˜์ง€ ์•Š์œผ๋ฉด โ€œ์–ด๋А ๋จธ์‹ ์— ๋ถ™์€ ์ƒํƒœ์ธ์ง€โ€๋ถ€ํ„ฐ ํ—ท๊ฐˆ๋ฆฌ๊ธฐ ์‰ฝ๋‹ค.

๋ฏธ๋‹ˆ ์‚ฌ๋ก€๋กœ ์ดํ•ดํ•˜๊ธฐ

์‚ฌ๋ก€ A. ์ž˜ ๋œ ๊ฒฝ์šฐ

์šด์˜ํŒ€์ด ๊ธฐ๋ณธ๊ฐ’์„ openclaw๋กœ ๊ณ ์ •ํ•˜๊ณ , Gmail์ฒ˜๋Ÿผ ๋กœ๊ทธ์ธ ์ƒํƒœ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋งŒ user๋ฅผ ์—ด์—ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ ๋ธŒ๋ผ์šฐ์ € ์žฅ์•  ๋ฌธ์˜๊ฐ€ โ€œ์ „์ฒด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์•ˆ ๋œ๋‹คโ€๊ฐ€ ์•„๋‹ˆ๋ผ โ€œ์ด ์ž‘์—…๋งŒ user ์ชฝ ์„ธ์…˜์ด ๋งŒ๋ฃŒ๋๋‹คโ€์ฒ˜๋Ÿผ ํ›จ์”ฌ ๊ตฌ์ฒด์ ์œผ๋กœ ๋ฐ”๋€Œ์—ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ์ขํžˆ๋Š” ์‹œ๊ฐ„์ด ํฌ๊ฒŒ ์ค„์—ˆ๋‹ค.

์‚ฌ๋ก€ B. ์ž์ฃผ ๊ผฌ์ด๋Š” ๊ฒฝ์šฐ

๋‹ค๋ฅธ ํŒ€์€ ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ € ์ž‘์—…์„ ๊ธฐ์กด ๋กœ๊ทธ์ธ ๋ธŒ๋ผ์šฐ์ €์—์„œ๋งŒ ์ฒ˜๋ฆฌํ–ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ํŽธํ–ˆ์ง€๋งŒ, ๋ˆ„๊ตฐ๊ฐ€ ํƒญ์„ ๋‹ซ๊ฑฐ๋‚˜ ํ™•์žฅ์„ ๊บผ ๋‘๋ฉด ์ž๋™ํ™”๊ฐ€ ์žฌํ˜„๋˜์ง€ ์•Š์•˜๋‹ค. ๊ฒฐ๊ตญ ํ…Œ์ŠคํŠธ๋Š” openclaw, ์‹ค์ œ ์„ธ์…˜ ์˜์กด ์ž‘์—…๋งŒ user๋กœ ๋‚˜๋ˆˆ ๋’ค์—์•ผ ์‹คํŒจ ํŒจํ„ด์ด ์ •๋ฆฌ๋๋‹ค.

์‚ฌ๋ก€ C. ๋ธŒ๋ผ์šฐ์ € ๋ฌธ์ œ์ฒ˜๋Ÿผ ๋ณด์˜€์ง€๋งŒ ์‚ฌ์‹ค์€ Gateway ๋ฌธ์ œ์˜€๋˜ ๊ฒฝ์šฐ

tabs๊ฐ€ ๋“ค์ญ‰๋‚ ์ญ‰ํ•˜๊ณ  snapshot์ด ๊ฐ„ํ—์ ์œผ๋กœ ์‹คํŒจํ•ด ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์žฌ์„ค์น˜ํ•˜๋ ค ํ–ˆ์ง€๋งŒ, ์‹ค์ œ ์›์ธ์€ ์›๊ฒฉ ํฌํŠธ ํฌ์›Œ๋”ฉ ์ถฉ๋Œ์ด์—ˆ๋‹ค. openclaw gateway status --require-rpc์™€ gateway probe๋ฅผ ๋จผ์ € ๋ดค๋‹ค๋ฉด ํ›จ์”ฌ ๋นจ๋ฆฌ ์›์ธ์„ ์ฐพ์„ ์ˆ˜ ์žˆ์—ˆ๋˜ ์‚ฌ๋ก€๋‹ค.

ํŒ€์— ๋ฐ”๋กœ ์ ์šฉํ•  ์šด์˜ ์ˆœ์„œ

  1. ์šด์˜ ๋‹ด๋‹น์ž๋Š” ํŒ€ ๊ธฐ๋ณธ๊ฐ’์„ openclaw๋กœ ๋ฌธ์„œํ™”ํ•œ๋‹ค.
  2. ์‹ค์‚ฌ์šฉ์ž๋Š” ๊ธฐ์กด ๋กœ๊ทธ์ธ ์ƒํƒœ๊ฐ€ ๊ผญ ํ•„์š”ํ•œ ์ž‘์—…๋งŒ user๋กœ ์š”์ฒญํ•œ๋‹ค.
  3. ๊ณ ๊ธ‰ ์‚ฌ์šฉ์ž๋Š” ํŠน์ • ํƒญ attach๊ฐ€ ํ•„์š”ํ•œ ์˜ˆ์™ธ ์ƒํ™ฉ์—์„œ๋งŒ relay ๊ฒฝ๋กœ๋ฅผ ์“ด๋‹ค.
  4. ์žฅ์•  ๋Œ€์‘ ๋‹ด๋‹น์ž๋Š” status โ†’ tabs โ†’ snapshot โ†’ gateway status --require-rpc โ†’ gateway probe ์ˆœ์„œ๋ฅผ ๋Ÿฐ๋ถ์œผ๋กœ ๊ณ ์ •ํ•œ๋‹ค.
  5. ๋ฉ€ํ‹ฐ ๋จธ์‹  ์šด์˜์ž๋Š” ๋จธ์‹ ๋ณ„ ๋กœ์ปฌ ํฌํŠธ๋ฅผ ๋ถ„๋ฆฌํ•˜๊ณ , SSH ๋ณ„์นญ๊ณผ ์ข…๋ฃŒ ๋ช…๋ น๊นŒ์ง€ ํ•จ๊ป˜ ๊ด€๋ฆฌํ•œ๋‹ค.

์ด ๋‹ค์„ฏ ์ค„๋งŒ ํŒ€ ๊ธฐ์ค€์„ ์œผ๋กœ ์žก์•„๋„ โ€œ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์•ˆ ๋œ๋‹คโ€๋Š” ๋ง‰์—ฐํ•œ ์žฅ์•  ๋ณด๊ณ ๊ฐ€ ๋งŽ์ด ์ค„์–ด๋“ ๋‹ค.

์ ์šฉ ์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • ์ผ๋ฐ˜ ์ž๋™ํ™” ๊ธฐ๋ณธ๊ฐ’์„ openclaw๋กœ ๋‘์—ˆ๋‹ค.
  • ๊ธฐ์กด ๋กœ๊ทธ์ธ ์„ธ์…˜์ด ํ•„์š”ํ•œ ์ž‘์—…๋งŒ user๋กœ ๋ถ„๋ฆฌํ–ˆ๋‹ค.
  • relay ๊ฒฝ๋กœ๋Š” ํƒญ attach๊ฐ€ ํ•„์š”ํ•œ ์˜ˆ์™ธ ํ๋ฆ„์œผ๋กœ๋งŒ ์‚ฌ์šฉํ•œ๋‹ค.
  • ๋ธŒ๋ผ์šฐ์ € ์ง„๋‹จ ๋’ค์— openclaw gateway status --require-rpc๋ฅผ ํ™•์ธํ•œ๋‹ค.
  • ์›๊ฒฉ ๋จธ์‹ ์ด ๋‘˜ ์ด์ƒ์ด๋ฉด ๋กœ์ปฌ ํฌํŠธ๋ฅผ ๋ถ„๋ฆฌํ–ˆ๋‹ค.
  • ํŒ€ ๋Ÿฐ๋ถ์— status โ†’ tabs โ†’ snapshot โ†’ gateway probe ์ˆœ์„œ๋ฅผ ์ ์–ด ๋‘์—ˆ๋‹ค.

๋‹ค์Œ ์ฝ๊ธฐ

AI ์ƒ์„ฑ ๊ฒฐ๊ณผ๋ฌผ์„ ํฌํ•จํ•œ ๋ฌธ์„œ์ž…๋‹ˆ๋‹ค. ๋ฐฐํฌ ์ „ ๋ธŒ๋ผ์šฐ์ € ํ”„๋กœํ•„ ์ •์ฑ…, SSH ํฌ์›Œ๋”ฉ, Gateway ์ธ์ฆ ๋ฐฉ์‹์€ ๊ฐ ์šด์˜ ํ™˜๊ฒฝ์— ๋งž๊ฒŒ ์ตœ์ข… ํ™•์ธํ•˜์„ธ์š”.