當今大多數 AI 代理在功能上如出一轍:相同的通用助理個性、相同的無限制系統存取、相同的「一體適用」自主方法。由 cosmicstack-labs 打造的 Mercury Agent 徹底顛覆了這個模式。
它是一個開源、靈魂驅動的 AI 代理,配備權限強化工具、代幣預算、多頻道存取,並且全天候運行——全部以純 TypeScript 在 Node.js 20+ 上建構,零原生相依性。
讓我們深入探討它與眾不同的真正原因。
什麼是 Mercury Agent?
Mercury Agent 是一個從終端機或 Telegram 持續運行的 AI 代理框架。它配備 21 個以上的內建工具——檔案系統操作、shell 指令、git 整合、網頁爬取、技能管理和任務排程——全部包裹在權限強化的安全層中,防止代理執行危險操作。
在 MIT 授權下,它可以免費使用、修改和部署。透過 npm 安裝,用 Markdown 個性檔案配置,你就擁有了一個全天候運作的個人化 AI 助理。
npm install -g @cosmicstack/mercury-agent
mercury start
就是這樣。無需 Docker、無需 Python 環境、無需原生相依性。
權限強化工具:安全作為一級功能
大多數自主代理都有相同的弱點:它們可以無限制地存取你的系統。一次幻覺指令就足以讓 rm -rf / 毀掉數小時的工作。Mercury Agent 將安全視為基礎而非事後補救。
Shell 阻止清單
該代理維護一份永遠無法執行的危險 shell 指令阻止清單:
sudo,su——權限提升rm -rf /,rm -rf ~——破壞性刪除dd,mkfs,fdisk——磁碟操作chmod 777,chown——權限變更kill,pkill——程序終止:(){ :|:& };:——fork 炸彈
此阻止清單在工具層級執行,在任何指令到達 shell 之前就會攔截。即使 AI 模型幻覺出破壞性指令,安全層也會攔截它。
資料夾層級讀寫範圍界定
Mercury Agent 不能無限制地存取你的整個檔案系統。相反地,你可以配置:
- 讀取範圍:代理可以讀取的目錄
- 寫入範圍:代理可以修改的目錄
預設情況下,代理被限制在其工作目錄和明確允許的路徑內。這可以防止意外讀取敏感配置檔案或寫入系統目錄。
待審批流程
對於屬於可配置「敏感」類別的操作(刪除檔案、執行網路指令、修改配置),代理會進入待審批狀態。它會等待人類確認後才繼續執行。
這表示你可以讓代理在日常任務上自主運行,同時對任何有風險的操作保持安全閥。
靈魂驅動:超越提示工程的個性
Mercury Agent 引入了靈魂驅動 AI 的概念——一個完全由 Markdown 檔案定義的個性系統,而非寫死的系統提示。這正是它與標準的「帶有指令的助理」模式不同的地方。
四個靈魂檔案
代理的整個個性來自四個 Markdown 檔案:
| 檔案 | 用途 | 範例內容 |
|---|---|---|
soul.md | 核心身份與使命 | 「你是 Mercury,一個專注於精確與清晰的工程代理。」 |
persona.md | 溝通風格與語氣 | 「使用簡潔的語言。偏好條列式。切勿使用商業術語。」 |
taste.md | 偏好與美學決策 | 「偏好深色終端主題,使用 Tab 而非空格,避免不必要的相依性。」 |
heartbeat.md | 定期自我反思與目標 | 「每 24 小時評估任務完成率並提出待辦事項優化建議。」 |
為什麼靈魂檔案很重要
傳統的代理客製化依賴於單一的系統提示,它會變得臃腫且難以維護。透過將個性拆分為四個維度,Mercury Agent 使每個面向都獨立可編輯且可組合。
你可以更換 persona.md 來改變溝通風格而不影響核心身份。你可以更新 taste.md 來反映不斷變化的偏好,而無需重寫所有內容。
這種模組化方法也使得與社群分享個性配置變得容易。代理出廠時附帶一個「預設」個性,但你可以將其替換為任何內容——從友善的導師到嚴格的 SRE 機器人。
代幣感知:預算執行與自動簡潔模式
AI 代理成本隨著代幣使用量而增加。Mercury Agent 包含一個代幣預算系統,可以防止意外帳單:
[tokens]
daily_budget = 500000 # 每天 50 萬個代幣
auto_concise_threshold = 0.7 # 使用量達 70% 時啟用簡潔模式
當代理消耗超過每日預算的 70% 時,它會自動切換到自動簡潔模式——生成更簡短的回應、截斷冗長的輸出,並偏重效率而非詳盡。
預算每天重置。你可以透過 CLI 儀表板即時監控使用情況:
mercury status
# Token usage: 320,450 / 500,000 (64.1%)
# Mode: normal
多頻道:CLI 與 Telegram 即時串流
Mercury Agent 在兩個頻道上同時運行,兩者共享相同的個性和工具存取權限。
CLI 模式
CLI 提供即時串流輸出——你可以即時看到代理的推理過程和工具呼叫。這非常適合開發工作、除錯以及你想要觀察代理決策過程的情況。
mercury chat
# You: 將 staging 分支部署到 Railway
# Mercury: 讓我檢查當前分支並執行部署...
# [git status、Railway CLI 輸出等的串流輸出]
Telegram 整合
Telegram 頻道提供相同的代理功能,配備完整的工具存取權限、HTML 格式回應、檔案上傳支援以及用於互動式工作流程的內嵌鍵盤。
mercury telegram --token YOUR_BOT_TOKEN
連接後,你可以從任何地方傳送訊息給你的 Mercury 代理——手機上、桌面上或在通勤途中。代理會處理你的請求並以格式化輸出回應,必要時還包括檔案附件。
Telegram 模式尤其適合:
- 行動任務管理:「今天下午 2 點排程部署」
- 檔案檢索:「把我最新的伺服器日誌寄給我」
- 狀態檢查:「CI 管線狀態如何?」
常駐背景服務:全天候自主運作
Mercury Agent 在你的系統上作為持久化背景服務運行:
- 自動重啟:如果程序崩潰,它會自動重新啟動
- 開機啟動:可以配置為在系統啟動時啟動
- Cron 排程:內建任務排程器,用於重複性操作
- 心跳監控:
heartbeat.md個性檔案驅動定期自我檢查和狀態報告
這使得 Mercury Agent 適用於生產監控、排程維護任務,以及無需人類干預即可持續運行的長期自動化管線。
供應商備援:永不停機
該代理支援多個 AI 模型供應商,並具有自動備援功能:
| 供應商 | 預設? | 備註 |
|---|---|---|
| DeepSeek | 是 | 預設供應商,極佳的性價比 |
| OpenAI | 備援 | GPT-4o 和 o3 模型 |
| Anthropic | 備援 | Claude Sonnet 和 Haiku |
| Grok | 備援 | xAI 模型 |
| Ollama | 備援 | 本地模型,完全離線 |
如果主要供應商故障或達到速率限制,Mercury Agent 會自動輪換到下一個可用供應商,而不中斷你的工作流程。你可以在 mercury.config.toml 中配置優先順序和每個供應商的代幣預算。
21 個以上內建工具
該代理出廠時配備超過 21 個工具,涵蓋常見的自動化需求:
| 類別 | 工具 |
|---|---|
| 檔案系統 | read, write, edit, list, search, mkdir, copy, move, delete |
| Shell | execute(含阻止清單執行), stream |
| Git | status, diff, log, commit, push, pull, branch |
| 網頁 | fetch, scrape, search |
| 技能 | install, list, run, remove |
| 排程器 | cron, schedule, list-jobs, cancel |
| 系統 | status, ping, uptime, disk, memory |
社群技能進一步擴展代理的功能。一條指令即可安裝共享的自動化工作流程:
mercury skill install deploy-to-railway
mercury skill install daily-server-audit
技能是輕量級的 Markdown + 腳本套件,代理可依需求載入。
一鍵 Railway 部署
Mercury Agent 可以一鍵部署到 Railway,讓它作為雲端服務而非本地程序運行變得非常簡單。Railway 部署處理:
- 持續 24/7 正常運行
- 公開的 Telegram Webhook 端點
- 自動 HTTPS 和網域管理
- API 金鑰的環境變數配置
在生產環境中,在 Railway 上透過 Telegram 頻道運行 Mercury Agent 是推薦的設定——你既能獲得雲端託管的可靠性,又能享有行動存取的便利。
技術棧:TypeScript、ESM、零原生相依性
Mercury Agent 完全用 TypeScript 建構,在 Node.js 20+ 上運行,使用 ES 模組。它使用 tsup 進行建置,並且零原生相依性——沒有平台特定的二進位檔、不需要 Docker、不需要 Python 執行環境。
該代理整合了 Vercel AI SDK v4 進行模型通訊,確保在所有支援的供應商之間實現一致的工具呼叫。
這使得在任何支援 Node.js 的平台上安裝都輕而易舉:macOS、Linux、Windows(WSL)以及大多數 CI 環境。
開始使用
# 全局安裝
npm install -g @cosmicstack/mercury-agent
# 初始化配置
mercury init
# 客製化個性(可選)
nano ~/.mercury/soul.md
nano ~/.mercury/persona.md
# 啟動代理
mercury start
# 連接 Telegram(可選)
mercury telegram --token YOUR_BOT_TOKEN
mercury init 指令會生成一個預設配置,包含四個靈魂檔案、安全的讀寫範圍,以及每天 500,000 個代幣的預設每日代幣預算。你可以立即開始互動,或自訂代理行為的各個面向。
比較:Mercury Agent 與其他代理框架
| 功能 | Mercury Agent | Claude Code | OpenAI Agents SDK | AutoGPT |
|---|---|---|---|---|
| 開源 | MIT | 否 | MIT | MIT |
| 個性系統 | 靈魂檔案(4 個檔案) | claude.md | System prompt | System prompt |
| 權限強化 | 阻止清單 + 範圍 + 審批 | 審批模式 | 無 | 無 |
| 代幣預算 | 每日上限 + 自動簡潔 | 手動 /cost | 無 | 無 |
| 多頻道 | CLI + Telegram | CLI + Dispatch | SDK 僅 | CLI 僅 |
| 常駐背景服務 | 內建 | 否 | 否 | 否 |
| 供應商備援 | 5 個供應商 | 僅 Anthropic | 僅 OpenAI | 僅 GPT-4 |
| 零原生相依性 | 是 | 是 | 是 | Python |
| 一鍵部署 | Railway | 否 | 否 | 否 |
結論
cosmicstack-labs 的 Mercury Agent 代表了 AI 代理在走出展示階段進入生產環境時應有的深思熟慮的方法。權限強化的工具解決了困擾自主代理的真實安全問題。靈魂驅動的個性系統超越了單一的臃腫提示,進入了可維護、可組合的身份檔案。代幣預算執行確保成本保持在可預測的範圍內。而雙頻道 CLI 與 Telegram 存取搭配常駐背景服務,使其在單一終端會話之外也能真正發揮作用。
對於正在尋找一個尊重邊界、擁有真實個性且能全天候運作的 AI 代理的開發者來說——Mercury Agent 值得認真考慮。
參考資料
- GitHub 上的 Mercury Agent(cosmicstack-labs) — 原始碼與文件
- Vercel AI SDK v4 — 模型通訊層
- Railway 平台 — 一鍵部署
- DeepSeek AI — 預設模型供應商
