by Rain Chu | 4 月 2, 2026 | Agent, AI
🧠 什麼是 OpenCLI?
OpenCLI 是一個結合 CLI(命令列)+AI Agent+瀏覽器控制能力 的工具。
它讓你可以:
- 用 AI 操作你的瀏覽器(真的操作你的 Chrome)
- 控制本地開發工具(例如 Cursor)
- 串接自訂 Plugin(抓資料、爬網站、整合 API)
👉 簡單來說,它是「本地版 AI Agent 作業系統」
🧠 核心組件說明
1️⃣ Runtime(最重要)
OpenCLI 本體負責:
👉 類似:
- LangChain Agent Executor
- 或 AutoGPT 的 runtime
2️⃣ Plugin Adapter(YAML)
👉 這是 OpenCLI 最強的地方之一
你可以:
- 把網站轉成 CLI
- 定義資料抓取規則
- 建立 AI 工具鏈
📌 重點:
👉 不是寫程式,而是寫 YAML
3️⃣ Browser Bridge(關鍵黑科技)
OpenCLI 不是用 Selenium
👉 而是:
- Playwright MCP bridge
- Chrome DevTools Protocol(CDP)
👉 直接控制「你正在用的瀏覽器」
4️⃣ Channel / Gateway
負責:
⚡ 核心特色
1️⃣ 直接使用你的 Chrome(含登入狀態)
OpenCLI 最大的優勢之一:
👉 直接控制你正在使用的 Chrome
這代表:
- ✅ 可以使用已登入的帳號(Google、FB、銀行等)
- ✅ 可以存取 cookies / session
- ✅ 不需要重新登入
背後技術是:
👉 Chrome DevTools Protocol(CDP) ( opencli chrome外掛)
這比 Selenium 強的地方在於:
2️⃣ 控制 Cursor 寫程式(AI 自動開發)
Cursor 是目前非常強的 AI 編輯器,而 OpenCLI 可以直接操控它 👇
🛠️ 設定方式
Step 1:啟動 Cursor Debug 模式
cursor --remote-debugging-port=9226
⚠️ 注意:
- 視窗 不能關閉
- 這會開啟 CDP 讓 OpenCLI 控制
Step 2:設定環境變數
mac or linux
export OPENCLI_CDP_ENDPOINT="http://127.0.0.1:9226"
windows 版本
set OPENCLI_CDP_ENDPOINT=http://127.0.0.1:9226
Step 3:測試是否成功
opencli cursor model
Step 4:讓 AI 寫程式
opencli cursor send "新增一個 readme.txt"
👉 OpenCLI 會直接:
🔥 實際應用場景
- 自動生成專案 README
- 批次修改程式碼
- 自動補齊文件
- AI Refactor 專案
👉 等於你有一個「真的會操作 IDE 的 AI 工程師」
3️⃣ 自訂 Plugin Adapter(YAML 抓網站)
OpenCLI 支援自訂 Plugin,透過 YAML 定義資料來源 👇
🧩 範例概念
name: fetch_news
description: 抓取新聞網站資料request:
url: https://example.com/news
method: GETparse:
type: html
selectors:
title: h1.title
content: div.article
👉 你可以做到:
- 抓網站資料
- 做 ETL pipeline
- 整合 API
- 建立 AI 工具鏈
📦 安裝 OpenCLI
官方資源:
npm install -g @jackwener/opencli
安裝 OpenCLI Chorm extension
https://github.com/jackwener/opencli/releases
下載 opencli-extension.zip
解壓縮後放到 chrome 的擴充套件中
檢查安裝狀態
opencli doctor
看到上面的資訊就代表成功
可以測試用自己的帳號去查 B 站的最熱門影片了
opencli bilibili hot –limit 5
⚡ 三大核心能力
🔥 1. 把任何網站變 CLI
👉 這是 OpenCLI 最核心功能
例如:
opencli hackernews top
opencli twitter mentions
opencli gmail read
背後:
🔥 2. 直接用你 Chrome(含登入)
👉 這點非常關鍵(你前面有用到)
OpenCLI:
- 不模擬登入
- 不存 cookie
- 不重建 session
👉 直接用你 Chrome 裡的登入狀態
🔥 這代表什麼?
你可以:
- 操作 Gmail
- 操作 FB / IG
- 操作內部系統(SSO)
👉 完全不像傳統爬蟲
🔥 3. 控制本地工具(Cursor / VSCode)
👉 這才是 AI Agent 真正關鍵
OpenCLI 可以:
👉 等於:
AI 可以「真的幫你寫程式」
🧪 真實應用場景
📌 1. 自動收集資訊
👉 每天做:
📌 2. 自動寫程式
👉 例如:
opencli cursor send "建立 flask API"
📌 3. 自動操作後台
👉 例如:
- WordPress 發文
- Cloud Console 操作
- CRM 系統
📌 4. 自動化工作流
👉 一句話:
👉「抓資料 → 分析 → 寫報告 → 存檔」
📱 延伸:手機 + Termux + OpenCLI
Termux + Android 手機也可以跑:
👉 搭配:
可以做到:
⚠️ 注意事項
🔒 安全性
因為它可以:
👉 建議:
⚙️ 穩定性
- CDP port 被占用會失敗
- Cursor 視窗關閉會斷線
- Plugin YAML 要寫正確
🎯 總結
OpenCLI 的本質不是工具,而是:👉 AI 的「手」
👉 AI 操作你電腦的入口
它讓你可以:
- 🧠 用 AI 控制瀏覽器
- 💻 用 AI 操作 IDE(Cursor)
- 🔗 串接任何資料來源(Plugin)
🧠 AI 能力分層
| 層級 | 能力 |
|---|
| LLM | 思考 |
| LangChain | 決策 |
| OpenCLI | 行動 |
👉 沒有 OpenCLI:
👉 AI 只能「講」
👉 有 OpenCLI:
👉 AI 才能「做」
參考資訊
https://opencli.info/docs
by Rain Chu | 4 月 1, 2026 | Agent, AI, OpenClaw
如果你想使用 OpenClaw 這類 AI Agent 工具,大多需要一台電腦或伺服器來執行。
但現在,你甚至可以用「一支舊 Android 手機」來打造一個 隨身遠端 AI 控制節點!
👉 沒錯,舊手機不再只是備用機,而是可以變成:
這篇文章會帶你一步步完成:
📌 在 Android 手機上透過 Termux 安裝 OpenClaw,並實現遠端操控能力
🎯 為什麼要用「舊 Android 手機 + OpenClaw」?
📸 使用場景示意
4
✅ 核心優勢
1️⃣ 硬體要求低(舊手機就能跑)
- 不需要高效能 CPU / GPU
- 2GB~4GB RAM 就能運作
- 廢棄手機再利用
2️⃣ 可直接使用手機硬體能力
👉 不同於傳統 server,你可以用:
- 📷 相機(影像輸入)
- 🎤 麥克風(語音控制)
- 📶 行動網路(隨時在線)
3️⃣ 隨身攜帶的 AI 控制中心
- SSH 控制 GCP / VM
- 呼叫 AI Agent workflow
- 當 DevOps 控制台
4️⃣ 比舊電腦更省電、更穩定
🧠 系統架構
Android 手機 -> Termux (Linux 環境) -> OpenClaw Agent -> Local AI / Server / GCP
👉 手機只是「控制層」,重運算仍在雲端
以下安裝方法 2 選 1 ,薪水推薦用 APK
🛠️ 安裝流程(APK)
🔗 官方下載
👉 來源:
https://github.com/mithun50/openclaw-termux/releases/
📱 Step 1:下載 APK
在 Releases 頁面找:
👉 通常名稱會像:
openclaw-android.apk
或
app-release.apk
下載到手機
🔐 Step 2:允許安裝未知來源
Android 需要開:
👉 設定 → 安全性
👉 允許「未知來源」
📲 Step 3:安裝 APK
直接點 APK:
👉 完成後會出現 App(OpenClaw)
⚙️ Step 4:準備 Backend(重點)
👉 APK 本身不會跑 AI
你需要一個 Gateway:
方法 A(最推薦)
👉 手機本機跑:
👉 流程:
APK → localhost:port
方法 B(更穩定)
👉 連 GCP:
APK → GCP VM(OpenClaw)
🔗 Step 5:連線 OpenClaw Gateway
打開 APK → 設定連線:
方式 1:自動配對
方式 2:手動輸入
Host: 你的IP
Port: 3000 / 8080(依你設定)
Token: Gateway Token
👉 官方說明支援:
- manual host/port
- token / TLS
🧪 Step 6:測試
成功後你可以:
🛠️ 安裝流程(完整實戰)
📱 Step 1:安裝 Termux
👉 使用:
Termux
⚠️ 注意:
- 請從 F-Droid 安裝(不要用 Play 商店版本)
🔄 Step 2:更新環境
pkg update && pkg upgrade -y
pkg install git wget curl -y
📦 Step 3:安裝 OpenClaw
👉 官方 repo:
openclaw-termux
git clone https://github.com/mithun50/openclaw-termux.git
cd openclaw-termux
bash install.sh
⚙️ Step 4:啟動服務
bash start.sh
啟動後你會看到:
🌐 遠端操控方式
方法一:瀏覽器控制
👉 手機或電腦打開:
http://手機IP:PORT
方法二:API / AI Agent 控制
👉 你可以串:
- LangChain
- Local AI Agent
- webhook
方法三:SSH 進手機
pkg install openssh
sshd
⚡ 進階玩法
🔥 架構升級
👉 也可以這樣玩:
手機(OpenClaw)-> 控制指令 -> GCP VM(AI模型)-> 回傳結果
🤖 實際應用
- 📊 自動抓資料 → 分析 → 回報
- 🧠 控制 Ollama AI 模型
- 🏠 智慧家居控制中心
- 📡 遠端監控節點
⚠️ 注意事項(實戰會踩雷)
❌ Android 限制
❌ Port 問題
👉 常見:
lsof -i :8080
❌ 效能限制
👉 不適合:
❌ 手機連不到內網
👉 用:
❌ 以為 APK = 完整系統
👉 錯
👉 APK 只是 UI
❌ Port 連不到
👉 要開:
ufw allow 3000
❌ Gateway 沒啟動
openclaw gateway
🧠 舊手機 vs 舊電腦
| 項目 | 舊手機 | 舊電腦 |
|---|
| 功耗 | ⭐⭐⭐⭐ | ⭐ |
| 攜帶性 | ⭐⭐⭐⭐ | ⭐ |
| 穩定性 | ⭐⭐⭐ | ⭐⭐ |
| 擴充性 | ⭐ | ⭐⭐⭐⭐ |
👉 結論:
📌 手機適合「控制節點」,電腦適合「運算節點」
參考資訊
官方網站
https://github.com/mithun50/openclaw-termux
下載最新版本
https://github.com/mithun50/openclaw-termux/releases
by Rain Chu | 3 月 24, 2026 | AI, claude
一、什麼是 Claude for Financial Services Plugins?
Claude 是由 Anthropic 推出的 AI 助手,而 Claude for Financial Services Plugins 則是專為金融產業打造的擴充工具組。
該插件系統讓 Claude 不只是聊天工具,而是直接進化為:
👉 投資分析師
👉 財務建模專家
👉 研究助理
👉 Deal sourcing 引擎
透過整合多個金融資料供應商與自動化工作流,Claude 能夠執行完整的金融分析流程。
⚙️ 核心亮點:41 個技能 + 38 個斜線指令
這套系統最強大的地方在於:
🔹 41 個自動觸發技能(Skills)
當你輸入自然語言時,Claude 會自動判斷並執行對應任務,例如:
- 自動建立 DCF 模型
- 解析財報(10-K、10-Q)
- 預測公司未來現金流
- 計算估值(WACC、IRR)
- 分析市場趨勢
👉 幾乎等於「AI 自動跑完整投資分析流程」
🔹 38 個 Slash Commands(斜線指令)
你也可以直接用指令操作,例如:
/dcf
/valuation
/earnings-analysis
/company-profile
/deal-sourcing
👉 類似「金融版 CLI + Copilot」
🧠 Claude 可以做哪些金融工作?
以下是實際應用場景:
📊 1️⃣ DCF 建模(Discounted Cash Flow)
Claude 可自動:
- 抓取公司財務數據
- 預測未來營收與現金流
- 計算折現率(WACC)
- 輸出估值結果
👉 傳統需要 2–3 小時 → 現在幾分鐘完成
📑 2️⃣ 財報分析(Financial Statements Analysis)
Claude 可自動解析:
- Income Statement
- Balance Sheet
- Cash Flow
並產出:
🏢 3️⃣ 公司研究(Equity Research)
4
輸入公司名稱即可:
- 自動產出公司報告
- 分析競爭對手
- 市場定位與護城河
- 投資建議(Bull / Bear case)
🔍 4️⃣ Deal Sourcing(投資機會發掘)
Claude 能:
- 搜尋潛在投資標的
- 篩選符合條件公司
- 分析市場機會
- 建立 pipeline
👉 對 VC / PE / 投資銀行極具價值
🔗 整合 11 個資料供應商
根據官方設計,Claude plugins 已整合多個金融數據來源,例如:
- 市場數據(股價、交易量)
- 財報資料
- 宏觀經濟指標
- 公司基本面資料
👉 AI 不再「幻想」,而是基於真實數據分析
🧩 技術架構概念(你會有興趣的重點)
從工程角度看,這其實是一個:
Claude (LLM)
↓
Plugin Orchestrator
↓
Skills (41 modules)
↓
Data Providers (11 sources)
↓
Structured Financial Output
👉 本質就是「金融版 AI Agent」
⚡ 為什麼這個東西很關鍵?
這代表一個重大趨勢:
🔥 AI 正在取代「重複性高的金融分析工作」
過去:
現在:
🚀 未來發展
Claude Financial Plugins 只是開始,接下來可能會出現:
- 自動生成投資簡報(Pitch Deck)
- 即時交易策略 AI
- 完整 AI 投資顧問
👉 最終形態:AI 投資銀行
相關文章
by Rain Chu | 3 月 17, 2026 | wordpress
在 WordPress 中,如果要修改「網站管理員電子郵件地址」,系統通常會寄送一封 確認信 到舊信箱。
但如果 舊信箱已經無法使用(例如公司信箱停用、網域失效、或帳號遺失),就會卡在無法確認的狀態。
這時仍然有幾種方法可以修改新的 Email。本篇整理幾種 常見且實務上可行的方法。
一、WordPress 中的兩種 Email(先分清楚)
在 WordPress 中,其實有兩種常被混淆的 Email:
| 類型 | 位置 | 用途 |
|---|
| 網站通知 Email | 設定 → 一般 → 網站管理員電子郵件地址 | 接收網站通知 |
| 管理員帳號 Email | 使用者 → 個人資料 | 管理員帳號登入用 Email |
對應資料庫:
| Email 類型 | 資料表 |
|---|
| 通知 Email | wp_options.admin_email |
| 帳號 Email | wp_users.user_email |
因此修改方式會不同。
二、使用 WP-CLI 修改(最推薦)
如果主機可以使用 WP-CLI,這是最安全也最乾淨的方式。
修改網站通知 Email
wp option update admin_email [email protected]
如果之前有未完成確認的 Email,可以刪除:
wp option delete new_admin_email
修改管理員帳號 Email
例如將 admin 帳號改成新的 Email:
wp user update admin [email protected]
查看目前 Email:
wp user get admin --field=user_email
三、批次修改多個 WordPress 站台
如果主機上有很多 WordPress 站台(例如都在 /mnt/ 下),可以寫一個 shell script 批次處理。
以下範例會:
- 掃描
/mnt 下所有 WordPress 站台
- 修改網站通知 Email
- 清除
new_admin_email
#!/usr/bin/env bash
BASE_DIR="/mnt"
NEW_EMAIL="[email protected]"
process_site() {
local site_dir="$1"
if [[ ! -f "$site_dir/wp-config.php" ]]; then
return
fi
echo "處理站台: $site_dir"
if ! wp --path="$site_dir" core is-installed >/dev/null 2>&1; then
echo "跳過"
return
fi
old_email=$(wp --path="$site_dir" option get admin_email)
echo "舊 email: $old_email"
wp --path="$site_dir" option update admin_email "$NEW_EMAIL"
wp --path="$site_dir" option delete new_admin_email
}
find "$BASE_DIR" -type f -name "wp-config.php" | while read conf
do
process_site "$(dirname "$conf")"
done
四、直接修改資料庫(無 WP-CLI 時)
如果沒有 WP-CLI,也可以直接修改資料庫。
修改網站通知 Email
UPDATE wp_options
SET option_value='[email protected]'
WHERE option_name='admin_email';
如果卡在等待確認:
DELETE FROM wp_options
WHERE option_name='new_admin_email';
修改管理員帳號 Email
UPDATE wp_users
SET user_email='[email protected]'
WHERE user_login='admin';
五、暫時用程式碼強制修改
如果可以修改網站程式,也可以在 functions.php 加入:
update_option('admin_email','[email protected]');
載入網站後即可更新,之後記得刪除這段程式碼。
六、常見問題
為什麼 WordPress 要確認 Email?
從 WordPress 4.9 開始,修改管理員通知 Email 會需要確認信,避免網站被入侵後偷偷更改通知地址。
因此會新增一個暫存欄位:
new_admin_email
只有確認後才會生效。
修改後沒有生效?
請檢查是否存在:
new_admin_email
如果有,刪除即可。
七、建議的最佳做法
在實務維運中,建議使用:
有 SSH
使用 WP-CLI
wp option update admin_email [email protected]
多站台
寫 shell script + WP-CLI
無 SSH
直接 修改資料庫
參考資料
by Rain Chu | 3 月 12, 2026 | Docker, google, wordpress
在管理多個 WordPress 專案時,傳統 VM 加架構往往面臨擴展性與維護成本的挑戰。透過 Google Cloud Run (Serverless)、Cloud SQL (代管資料庫) 與 Cloud Storage (雲端儲存) 的組合,我們可以建立一個自動縮放、安全且高效率的網站環境。
一、 架構預覽
- 計算節點:Google Cloud Run (Docker 容器化運行)。
- 資料庫:Google Cloud SQL (MySQL 8.0)。
- 靜態檔案:Google Cloud Storage (GCS)。
- 流量分配:Google Cloud Load Balancing (HTTPS 負載平衡器)。
二、 準備 Docker 鏡像與環境排除
在打包之前,請務必設定 .dockerignore 以優化鏡像體積並保護敏感資訊 。
my-wp-site/
├── Dockerfile # 自動化打包腳本
├── wp-config.php # 修改為讀取環境變數的版本
├── .dockerignore # 排除不需要打包的檔案 (如 .git, local backups)
└── wp-content/
├── plugins/ # 放置您自定義的外掛
└── themes/ # 放置您自定義的主題
建立 標準化 Dockerfile 範本
# 使用官方 PHP-Apache 映像檔,穩定且相容性高
FROM wordpress:php8.2-apache
# 1. 設定環境變數 (Cloud Run 預設監聽 8080,但官方 WP 鏡像預設是 80)
# 這裡我們讓 Apache 監聽 Cloud Run 指定的 PORT
RUN sed -i 's/Listen 80/Listen ${PORT}/g' /etc/apache2/ports.conf
RUN sed -i 's/:80/:${PORT}/g' /etc/apache2/sites-available/000-default.conf
# 2. 安裝必要的系統套件 (如有需要自訂 PHP 擴展可在這加)
RUN apt-get update && apt-get install -y \
libpng-dev \
libjpeg-dev \
&& docker-php-ext-configure gd --with-jpeg \
&& docker-php-ext-install gd
# 3. 複製現有的自定義檔案進入容器
# 建議只複製 plugins 和 themes,核心檔案由官方鏡像提供
COPY ./wp-content/plugins/ /var/www/html/wp-content/plugins/
COPY ./wp-content/themes/ /var/www/html/wp-content/themes/
COPY ./wp-config.php /var/www/html/wp-config.php
# 4. 設定正確的檔案權限 (對 WordPress 運行至關重要)
RUN chown -R www-data:www-data /var/www/html
# 5. 設定預設環境變數 (可在部署時被 gcloud 指令覆蓋)
ENV PORT=8080
ENV DB_HOST=127.0.0.1
ENV DB_USER=root
ENV DB_PASSWORD=password
# 暴露埠號
EXPOSE 8080
1. 建立 .dockerignore
Plaintext
.git
.gitignore
.dockerignore
Dockerfile
*.sql
*.zip
.vscode/
wp-config-sample.php
2. 打包與推送鏡像
PowerShell
# 編譯鏡像
docker build -t asia-east1-docker.pkg.dev/[PROJECT_ID]/wp-repo/[docker_name]:latest .
# 推送到 Artifact Registry
docker push asia-east1-docker.pkg.dev/[PROJECT_ID]/wp-repo/[docker_name]:latest
三、 資料庫遷移與設定
1. 匯入 SQL 腳本
將 .sql 檔案上傳至 Google Cloud Storage (GCS) 後執行匯入 。
注意:請確保 SQL 檔案中不含 CREATE DATABASE 或 USE 語句,以免匯入失敗或指向錯誤的資料庫。
PowerShell
gcloud sql import sql [INSTANCE_NAME] gs://[BUCKET_NAME]/[docker_name].sql --database=[docker_name]_db
2. 設定 wp-config.php 智慧判斷
為了同時支援本地開發與雲端環境,建議在 wp-config.php 加入連線判斷邏輯 :
PHP
// 偵測是否在 Cloud Run 環境 (透過 Unix Socket 連線)
if (getenv('INSTANCE_CONNECTION_NAME')) {
define( 'DB_HOST', ':/cloudsql/' . getenv('INSTANCE_CONNECTION_NAME') );
} else {
define( 'DB_HOST', getenv('DB_HOST') ?: '127.0.0.1' );
}
// 負載平衡器 HTTPS 辨識
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
$_SERVER['HTTPS'] = 'on';
}
四、 部署至 Cloud Run
部署時需指定 Cloud SQL 連線名稱,這會自動建立加密隧道 。
PowerShell
gcloud run deploy [docker_name] `
--image asia-east1-docker.pkg.dev/[PROJECT_ID]/wp-repo/[docker_name]:latest `
--region asia-east1 `
--allow-unauthenticated `
--add-cloudsql-instances [PROJECT_ID]:asia-east1:[INSTANCE_NAME] `
--set-env-vars="INSTANCE_CONNECTION_NAME=[PROJECT_ID]:asia-east1:[INSTANCE_NAME],DB_NAME=[docker_name]_db,DB_USER=root,DB_PASSWORD=[PASSWORD]"
五、 設定負載平衡器 (GCLB) 與自訂網域
為了使用自有的網域(如 blog.rain.tips),建議使用 HTTPS 負載平衡器 。
- 建立 Serverless NEG:讓負載平衡器找到 Cloud Run 。
- 設定前端 IP:保留一個靜態全域 IP。
- Google 管理憑證:在前端設定中新增網域,Google 會自動處理 SSL 簽發與續期 。
- DNS 設定:將您的網域 A 紀錄 指向負載平衡器的靜態 IP 。
六、 故障排除 (Troubleshooting)
- Error establishing a database connection:
- 檢查 Cloud Run 服務帳戶是否擁有 「Cloud SQL Client」 角色 。
- 確認
DB_HOST 在雲端環境是否正確指向 :/cloudsql/... 。
- 503 Service Unavailable:
- 確認 Cloud Run 服務已設定為 「允許未經驗證的叫用」 。
- 檢查負載平衡器的憑證是否已變為綠色的 Active 狀態 。
- IPv6 連線問題:
- 若使用 Nginx 反向代理遇到
Network is unreachable,請強制 Nginx 優先使用 IPv4 或修改系統 /etc/hosts 。
參考資料
近期留言