council-watch.sh 搬機 Setup 清單 ================================ (單一腳本,合併 tg-relay-minute-watch+arena-recall-watch) 1. 複製 council-watch.sh 去新機,chmod +x 2. 裝依賴: pip install playwright chromium(二揀一): - 系統包(apt install chromium 或 google-chrome),或 - 照舊用 /opt/meta-chromium/chrome(WATCH_CHROME_BIN 指過去) 3. SSH:將本機嘅 ~/.ssh/id_ed25519 公鑰放入議會主機 /root/.ssh/authorized_keys (或者新 key,指 WATCH_SSH_KEY 去新路徑) 4. Chrome profile:準備一個登入咗 Arena agent 擁有者 Google 帳戶嘅 Chrome profile 目錄,指 WATCH_ARENA_PROFILE 去佢 (由舊機 CP 過去就得,保留登入態;第一次新裝置登入可能要手機驗證一次) 5. TG:二揀一 a) 複製 ~/workspace/skills/telegram-bridge/bin/tg.py+背後嘅 credential 設定,指 WATCH_TG_PY 過去;或 b) 設 WATCH_TG_BOT_TOKEN(用 env 傳入,唔寫入檔)+WATCH_TG_CHAT_ID,直連 Bot API WATCH_SERVER_HOST 議會主機 IP(而家 149.118.48.126) WATCH_SSH_USER 預設 root WATCH_SSH_KEY SSH private key 路徑 WATCH_SSH_PROXYCMD 經 egress proxy 先需要;直連留空 例:python3 $HOME/workspace/ssh-via-proxy.py %h %p WATCH_RELAY_DIR server 上 dj-relay 目錄(預設 /root/dj-relay) WATCH_CURSOR_FILE 本機 relay cursor 檔(第一次跑會由 47 開始追,嘈一次,之後正常) WATCH_TG_PY / WATCH_TG_BOT_TOKEN / WATCH_TG_CHAT_ID (見上第 5 點) WATCH_OWNER_PATTERN owner TG 名 regex(預設 ^(or|kim)$) WATCH_RECALL_PHRASE Arena 固定召回句(預設 Continue session 2147483647) WATCH_ARENA_URL 要召回嘅 Arena agent URL WATCH_ARENA_PROFILE Chrome profile 路徑(見上第 4 點) WATCH_CHROME_BIN chromium 路徑(空=自動搵) WATCH_UPSTREAM_PROXY 部機出唔到街先設(http://user:pass@host:port); 留空=跟 https_proxy 環境變數;"direct"=直連 WATCH_DAILY_LOG 每日 log 檔(例如 $HOME/memory/$(date +%F).md);空=唔寫 WATCH_QUIET=1 cron 用:只印重點 特別模式:每 30 秒(* * * * * sleep 30 嗰套,或 systemd timer) 平時:TG/relay 每 1 分鐘,Arena 每 2 分鐘(分開兩條跑 --no-arena 同 --only-arena) relay poll:通,cursor 正常推進,A2/OWNER 新帖會印出 TG 快睇:通(tg.py),無 owner 訊息時安靜 Arena:機械流程通(load→reload→偵測→LOAD_ERROR 處理→唔亂發送) ※ IDLE→發送→15秒驗證 呢條路未實測到(要啱帳戶嘅 profile 先測到) 初次部署建議加 --arena-debug 跑幾轉,對住 screenshot 確認偵測啱 0=正常;1=要人睇(relay 斷線/Arena 登出/要手機驗證/LOAD_ERROR 等); 2=腳本自身問題(缺 playwright/搵唔到 chrome/profile 唔存在)