目标:让服务器(脚本 / pi agent)能搜索推特、看 trending、拉时间线,零 API 费用。
方案:OpenCLI 的远程编排模式——服务器跑 CLI,经 SSH 反向隧道调用本地 Chrome 里已登录的 X 会话。
服务器: opencli CLI ──SSH 反向隧道(-R 19825)──▶ Mac: daemon ──▶ Chrome(已登录 X)
第 1 步:本地(Mac)装 opencli
- 安装 CLI:
npm i -g @jackwener/opencli(或 brew) - Chrome 加载 Browser Bridge 扩展(chrome://extensions → 开发者模式 → Load unpacked)
- Chrome 登录 x.com(建议用小号,防主号风控)
- 验证:
opencli doctor三绿(Daemon / Extension / Connectivity)
第 2 步:本地开 SSH 反向隧道
ssh -N -R 19825:127.0.0.1:19825 lskam@<服务器IP>
窗口保持常开。服务器上的 127.0.0.1:19825 由此接到本地 daemon。
第 3 步:服务器调用
先花 10 秒确认链路:
ss -tln | grep 19825 # 隧道在监听
curl -s -m 5 http://127.0.0.1:19825/ | grep -o 403 # 403 = 已通到 daemon(安全头校验,属正常)
opencli doctor # 三绿
然后就能用了:
opencli twitter search "vllm" --product top --limit 10
opencli twitter search "from:vllm_project" --limit 20
opencli twitter trending
opencli twitter timeline
opencli twitter profile <user>
opencli twitter download <tweet-id>
第 4 步:接入 pi agent
把工作流沉淀成可复用资产:
- 操作手册
~/.opencli/REMOTE-MODE.md(拓扑 / 命令速查 / 排障表) - pi skill
x-info-source——之后说"查推特"即自动先验证链路再执行
三条纪律(踩坑换来的)
- 服务器上别裸跑 opencli——隧道断时会自启本地 daemon 抢占 19825,隧道从此连不上;先
ss -tln | grep 19825确认。 - 严禁在服务器 shell 里跑
ssh -R ... 服务器自身IP——自环转发,实测上千条连接风暴。 - 隧道只留一条——多设备 / 多窗口同开会造成绑定冲突和悬挂隧道。