VPS 設定記錄 — 2026-03-26

今日完成嘅更改

1. Mission Control 遷移(OpenClaw A → Claude Code)

問題: MC 原本係用 OpenClaw A 做 coordinator 解決:

  • /opt/mission-control/.env — 停用 OpenClaw A gateway,改 coordinator 做 Claude Code
  • 刪咗 10 個 OpenClaw A agents(Chloe, Jarvis, Iris, Nova, Luna, Rex, Nicole, Kelly, Lara, Echo)
  • 加咗 Claude Code 做 coordinator agent(ID: 11)
  • 加咗 heartbeat cron(每 5 分鐘):/home/claude/mc-heartbeat.sh
  • Heartbeat endpoint:POST http://localhost:3000/api/agents/11/heartbeat
  • MC URL:https://mission.remarkable-marketing.hk
  • MC 登入:Steventse66 / stev267268

2. Tavily MCP 安裝

問題: 原本改錯 settings.json,MCP servers 係存喺 .claude.json 入面 正確位置: /home/claude/.claude.jsonprojects["/home/claude"].mcpServers

設定(已加入 .claude.json):

"tavily": {
  "type": "stdio",
  "command": "npx",
  "args": ["-y", "tavily-mcp"],
  "env": {
    "TAVILY_API_KEY": "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"
  }
}

可用 tools: tavily_search, tavily_extract, tavily_crawl, tavily_map, tavily_research

3. Skills 安裝

新增 Skills(~/.claude/skills/):

  • mcp-builder — 建立新 MCP server 指南(236 lines,來自 anthropics/skills)
  • marketing-paid-ads — 付費廣告策略(Corey Haines)
  • marketing-ad-creative — 廣告創意生成
  • marketing-copywriting — 文案寫作
  • marketing-content-strategy — 內容策略
  • marketing-social-content — 社交媒體內容
  • marketing-email-sequence — 電郵序列
  • marketing-page-cro — 頁面轉化率優化
  • marketing-ab-test-setup — A/B 測試設計
  • marketing-competitor-alternatives — 競爭對手比較頁

Skills 總覽(全部):

brainstorming, meta-ads, mission-control-installer, mission-control-manage,
n8n-code-javascript, n8n-code-python, n8n-expression-syntax, n8n-mcp-tools-expert,
n8n-node-configuration, n8n-validation-expert, n8n-workflow-patterns,
requesting-code-review, subagent-driven-development, writing-plans, yt-research,
mcp-builder, marketing-* (9 個)

4. settings.json 修改(次要)

加咗 MC_API_KEY 到 global env:

"env": {
  "SUPADATA_API_KEY": "...",
  "MC_API_KEY": "3fb77350ff0867f3171f7e31ec7dd520fbbd588193a4880650b6fe612f5c60c8"
}

注意:MCP servers 要改 .claude.json,唔係 settings.json

5. Lobster Bridge 停用

決定: Disable(唔 Delete)Lobster Bridge service 原因: 唔再使用 Lobster(OpenClaw B)作為 coordinator,Claude Code 已取代其角色;保留檔案以備日後需要

執行:

sudo systemctl disable lobster-bridge.service
sudo systemctl stop lobster-bridge.service

結果:

  • Service 狀態:inactive (dead)
  • 開機自動啟動:已移除
  • 檔案位置:/home/claude/lobster-bridge.js(保留)
  • Service 檔:/etc/systemd/system/lobster-bridge.service(保留)
  • 如需恢復:sudo systemctl enable --now lobster-bridge.service

相關 hooks(保留但唔影響正常運作):

  • cc-task-progress.sh — PostToolUse hook,有 [ -z "$CC_TASK_UUID" ] && exit 0 guard,只有 Lobster 觸發的任務才激活
  • cc-task-callback.sh — Stop hook,同上,有相同 guard

6. 長任務 Milestone 通知機制

決定: 唔用 PostToolUse hook 方案,改用 Claude 主動 send Telegram 進度更新

原因: PostToolUse hook 有以下風險:

  • 機械式觸發,冇智能過濾
  • 可能洩漏敏感檔案路徑(.env 等)
  • Bash tool_result 可能含 API keys
  • 冇 session 概念,多 session 通知混亂

實際做法(已生效,無需任何設定):

  1. 長任務開始時,Claude 主動 send:「⏳ 開始做緊,共 X 步…」
  2. 每完成一個 milestone,edit 同一條訊息更新進度
  3. 全部完成後,send 新訊息(有通知聲):「✅ 完成![結果摘要]」

優點:

  • 零風險(Claude 自己決定 send 咩)
  • 唔需要任何新代碼或 config
  • 人性化描述,唔係機械式 tool name

重要發現

  • MCP servers 正確位置: ~/.claude.jsonprojects["/home/claude"].mcpServers
  • settings.json 只係 global preferences(model, hooks, env vars 等)
  • Tavily API key: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(免費 tier 1000次/月)