☰
Terminal
Editor
Settings
tmux
Devices
Design Tour

Settings

Passcode ์ ‘์† ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ
โš ๏ธ ์ด๊ฒƒ์€ ๋กœ๊ทธ์ธ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ์—์ด์ „ํŠธยทํƒ€ ๋จธ์‹  ํฌํƒˆยทwebhook ์ด ์“ฐ๋Š” ํ†ต์‹  ํ† ํฐ(Authorization: Bearer)์ด๋ฉฐ, ๋ฐ”๊พธ๋ฉด ๊ทธ ๊ฒฝ๋กœ๋“ค์„ ํ•จ๊ป˜ ๊ฐฑ์‹ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋กœ๊ทธ์ธ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ์œ„ [๋‚ด ๋น„๋ฐ€๋ฒˆํ˜ธ]์—์„œ ๋ณ€๊ฒฝํ•˜์„ธ์š”.
๐Ÿ”ต ๋ฐ”๊พธ๋ฉด ์˜ต์‹œ๋””์–ธ ๊ธˆ๊ณ  _secrets/๊ธˆ๊ณ .md ยซํฌํ„ธ passcodeยป ์ ˆ๊ณผ ~/.claude/harness.env ์˜ PORTAL_PASSCODE ๋„ ๊ฐ™์€ ๊ฐ’์œผ๋กœ ๊ณ ์นœ๋‹ค โ€” ์•ˆ ๊ณ ์น˜๋ฉด ์—์ด์ „ํŠธ๊ฐ€ ์˜› ๊ฐ’์„ ์“ด๋‹ค.
์•Œ๋ฆผ์Œ ์ž‘์—… ์™„๋ฃŒยท์ž…๋ ฅ ๋Œ€๊ธฐ ๋•Œ ๋‚˜๋Š” ์†Œ๋ฆฌ
๐Ÿ”ต ์ •๋ณธ์€ ์˜ต์‹œ๋””์–ธ โ€” ๊ด€์ œ/seoul/starian-portal/์•Œ๋ฆผ์Œ/์„ค์ •.md ์˜ ์™„๋ฃŒ:ยท๋Œ€๊ธฐ: ๋ฅผ ๊ณ ์น˜๋ฉด ๋ชจ๋“  ๋จธ์‹  ํฌํ„ธ์ด ๋”ฐ๋ฅธ๋‹ค. ์•„๋ž˜๋Š” ์ด ๋ธŒ๋ผ์šฐ์ €๋งŒ ๋”ฐ๋กœ ๋ฐ”๊ฟ€ ๋•Œ ์“ด๋‹ค(๋น„์›Œ ๋‘๋ฉด ์˜ต์‹œ๋””์–ธ ์„ค์ •).
Passkey passkey/FIDO2 device ๋“ฑ๋ก (์ƒ์ฒด ์ธ์ฆยทhardware key)
passkey๋ฅผ ๋“ฑ๋กํ•˜๋ฉด passcode ์—†์ด device ์ธ์ฆ(Touch IDยทFace IDยทyubikey ๋“ฑ)์œผ๋กœ ๋กœ๊ทธ์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. brute forceยทtiming attack ๋ฉด์—ญ.
์นด๋“œ ์ƒํƒœ ์•Œ๋ฆผ ์ƒํƒœ๊ฐ€ ๋ฐ”๋€Œ๋ฉด ์Œ์„ฑ์œผ๋กœ ์•Œ๋ฆผ
ํ„ฐ๋ฏธ๋„ ์นด๋“œ๊ฐ€ ์ž‘์—…์ค‘(active) โ†’ ์ž…๋ ฅ ๋Œ€๊ธฐ(waiting) ๋˜๋Š” ์ž‘์—… ์™„๋ฃŒ(idle) ๋กœ ๋ฐ”๋€Œ๋ฉด, ๊ทธ๋ฆฌ๊ณ  ์˜ค๋ฅ˜(error) ๊ฐ€ ๋‚˜๋ฉด "์นด๋“œ์ด๋ฆ„ + ์ƒํƒœ"๋ฅผ ์Œ์„ฑ์œผ๋กœ ์•Œ๋ฆฝ๋‹ˆ๋‹ค. ์ž‘์—…์ค‘ ์ง„์ž…์€ ์•Œ๋ฆฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค(๊ณ„์† ์šธ๋ ค์„œ ์•Œ๋ฆผ์ด ๋ฌด์˜๋ฏธํ•ด์ง).
UI ์˜ต์…˜ ํ™”๋ฉด ํ‘œ์‹œ ์„ค์ •
Portal UI ํ‘œ์‹œ ๋ฐฉ์‹์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ์„ฑ์š”์†Œ ๋ผ๋ฒจ์€ ๋””๋ฒ„๊น…/์Šคํฌ๋ฆฐ์ƒท์šฉ์œผ๋กœ, data-label ์†์„ฑ์„ ํ™”๋ฉด์— ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
Auto Update ์ƒˆ commit ์ž๋™ git pull + restart
GitHub origin/main์— ์ƒˆ commit์ด ์˜ฌ๋ผ์˜ค๋ฉด 5๋ถ„๋งˆ๋‹ค ์ž๋™์œผ๋กœ git pull โ†’ npm install โ†’ systemctl restart ์‹คํ–‰. ์ด ์„œ๋ฒ„์— sudo NOPASSWD ๋˜๋Š” user systemd ๊ถŒํ•œ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
Portal Base URL ์™ธ๋ถ€ ๊ณต๊ฐœ URL (webhook + identity injection)
peer webhook URL ๋ฐ ACP self-identity ์ฃผ์ž…์— ์‚ฌ์šฉ๋˜๋Š” portal ์™ธ๋ถ€ ๊ณต๊ฐœ URL. ์šฐ์„ ์ˆœ์œ„: PORTAL_BASE_URL env > portal.baseUrl setting > ํด๋ฐฑ(https://portal-seoul.starian.us). env๊ฐ€ ์„ค์ •๋˜์–ด ์žˆ์œผ๋ฉด ์ด ์ž…๋ ฅ์€ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.
ํ”„๋กœ์ ํŠธ ๋ชฉ๋ก (project_titles) vaultยทdashboard ํ•ฉ์„ฑ ๋Œ€์ƒ
vault ๋™๊ธฐํ™” + Dashboard.md ์ž๋™ ํ•ฉ์„ฑ ๋Œ€์ƒ์ด ๋˜๋Š” ํ™œ์„ฑ ํ”„๋กœ์ ํŠธ ํ‚ค ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค. ์นฉ์˜ ร— ๋ฅผ ๋ˆ„๋ฅด๋ฉด ํ•ด๋‹น ํ”„๋กœ์ ํŠธ๊ฐ€ ์ œ๊ฑฐ๋˜๋ฉฐ, ๋™์‹œ์— ์•„๋ž˜ project_reps ๋งคํ•‘์—์„œ๋„ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€/์‚ญ์ œ ์ฆ‰์‹œ PUT /api/settings ๋กœ ์ €์žฅ๋˜๊ณ  ๊ทธ ์•„๋ž˜ ๋Œ€ํ‘œ ์—์ด์ „ํŠธ ํŒจ๋„์ด ์žฌ๋ Œ๋”๋ฉ๋‹ˆ๋‹ค. SSOT: portal-settings.json โ†’ aoe_default_categories.project_titles. (v1.27.21.0)
ํ”„๋กœ์ ํŠธ ๋Œ€ํ‘œ ์—์ด์ „ํŠธ (project_reps) vault-snapshot 04/08/15/22 KST
๊ฐ ํ”„๋กœ์ ํŠธ์˜ ๋Œ€ํ‘œ ์—์ด์ „ํŠธ๋ฅผ ๋“œ๋กญ๋‹ค์šด์—์„œ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค (v1.27.20.0 โ€” seoul/zalman/macmini ๋ผ์ด๋ธŒ ํ”ผ์–ด ํ†ตํ•ฉ ๋ชฉ๋ก). portal cron์ด 04/08/15/22 KST๋งˆ๋‹ค ์ด ์—์ด์ „ํŠธ์—๊ฒŒ vault ์Šค๋ƒ…์ƒท(ํ˜„ํ™ฉ/์ผ์ผ์ž‘์—…๊ธฐ๋ก/์ƒํƒœ/ํ• ์ผ) ์ž‘์„ฑ ์š”์ฒญ์„ webhook์œผ๋กœ ๋ณด๋ƒ…๋‹ˆ๋‹ค. SSOT: portal-settings.json โ†’ aoe_default_categories.project_reps. ์ €์žฅ ๊ฐ’ ํ˜•์‹: <machine>:<id>.
Terminal Order ํ„ฐ๋ฏธ๋„ ์‚ฌ์ด๋“œ๋ฐ” ์ˆœ์„œ ์กฐ์ •
์‚ฌ์ด๋“œ๋ฐ”์— ํ‘œ์‹œ๋˜๋Š” ํ„ฐ๋ฏธ๋„์˜ ์ˆœ์„œ๋ฅผ ๋“œ๋ž˜๊ทธ๋กœ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ํ›„ ์ €์žฅํ•˜๋ฉด portal-settings.json์˜ terminalOrder ๋ฐฐ์—ด์— ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค.
Quick Commands ๋‹จ์ถ• ๋ช…๋ น ๋“ฑ๋ก
ํ„ฐ๋ฏธ๋„ ํˆด๋ฐ”์— ํ‘œ์‹œ๋˜๋Š” ๋‹จ์ถ• ๋ช…๋ น ๋ฒ„ํŠผ์„ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค. ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ํ•ด๋‹น ๋ช…๋ น์ด ํ˜„์žฌ ํ„ฐ๋ฏธ๋„์— ์ž๋™ ์ž…๋ ฅ๋ฉ๋‹ˆ๋‹ค. portal-settings.json์˜ quickCommands ๋ฐฐ์—ด์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
Remote Servers ์›๊ฒฉ ํฌํƒˆ ์—ฐ๊ฒฐ
๋‹ค๋ฅธ ๋จธ์‹ ์˜ Portal ์ธ์Šคํ„ด์Šค๋ฅผ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค. ๋“ฑ๋ก๋œ ์„œ๋ฒ„๋Š” ์‚ฌ์ด๋“œ๋ฐ”์—์„œ ๋น ๋ฅด๊ฒŒ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, peer-to-peer ๋ฉ”์‹œ์ง€ ๋ผ์šฐํŒ…์—๋„ ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค.
AI ์„ค์ • ์ธํ”Œ๋ฃจ์–ธ์„œ๋ณ„ Gemini ๊ณ„์ •ยทAPI ํ‚ค
๊ฐ ์ธํ”Œ๋ฃจ์–ธ์„œ๊ฐ€ ์‚ฌ์šฉํ•  Google ๊ณ„์ •๊ณผ Gemini API ํ‚ค๋ฅผ ๋”ฐ๋กœ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค. ์ €์žฅ๋œ ํ‚ค ์›๋ฌธ์€ ๋ชฉ๋ก/API ์‘๋‹ต์— ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์ธํ”Œ๋ฃจ์–ธ์„œ ๋ชฉ๋ก์„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ์ค‘...
์•„๋ž˜ ์ „์—ญ ํ‚ค๋Š” ์ธํ”Œ๋ฃจ์–ธ์„œ์™€ ๋ฌด๊ด€ํ•œ ๊ธฐ์กด Portal ๊ธฐ๋Šฅ์šฉ์ž…๋‹ˆ๋‹ค.

tmux ๊ด€๋ฆฌ

๐Ÿ’ก Portal ํ‘œ์‹œ๋ช…ยท๊ทธ๋ฃน โ†’ Terminal ํƒญ ์ขŒ์ธก ์‚ฌ์ด๋“œ๋ฐ” ์นด๋“œ์— ์ฆ‰์‹œ ๋ฐ˜์˜๋จ
๋จธ์‹  tmux ์„ธ์…˜๋ช… tmux ID Portal ํ‘œ์‹œ๋ช… ๊ทธ๋ฃน ์œˆ๋„์šฐ ์ƒ์„ฑ์ผ AoE ๊ณ ์ • ์ž‘์—…
๋กœ๋”ฉโ€ฆ

Resource Lease Manager

AndroidยทiOSยทGPU ์ž‘์—… ์ถฉ๋Œ์„ ๋ง‰๋Š” ์ค‘์•™ ์ž์› ๋Œ€์—ฌ์†Œ

๋จธ์‹ 

ํฌํ„ธ์ด ๋–  ์žˆ๋Š” ๋จธ์‹  ๋ชฉ๋ก(์ •๋ณธ: vault ์ดˆ๊ธฐ์„ธํŒ…/harness/nodes.json) ยท ์ƒˆ ๋จธ์‹  ์ถ”๊ฐ€

์ƒˆ ๋จธ์‹ ์— ํฌํ„ธ ์„ค์น˜

ํฐ ์•Œ๋ฆผ

๊ธฐ๊ธฐ๋ณ„ ์•Œ๋ฆผ ์Šค๋ ˆ๋“œ ยท ์œ ํ˜•๋ณ„ ์ฒ˜๋ฆฌ๊ทœ์น™ ยท ๋ผ์šฐํŒ… ์„ค์ •

File Manager