AI

Mercury Agent:具有权限强化工具的开源灵魂驱动 AI 代理

Mercury Agent 是一款开源的灵魂驱动 AI 代理,配备权限强化工具、令牌预算与多频道访问,可从 CLI 或 Telegram 全天候执行。

Mercury Agent:具有权限强化工具的开源灵魂驱动 AI 代理

当今大多数 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
Shellexecute(含阻止列表执行), stream
Gitstatus, 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 AgentClaude CodeOpenAI Agents SDKAutoGPT
开源MITMITMIT
个性系统灵魂文件(4 个文件)claude.mdSystem promptSystem prompt
权限强化阻止列表 + 范围 + 审批审批模式
令牌预算每日上限 + 自动简洁手动 /cost
多频道CLI + TelegramCLI + DispatchSDK 仅CLI 仅
常驻后台服务内置
供应商回退5 个供应商仅 Anthropic仅 OpenAI仅 GPT-4
零原生依赖Python
一键部署Railway

结论

cosmicstack-labs 的 Mercury Agent 代表了 AI 代理在走出演示阶段进入生产环境时应有的深思熟虑的方法。权限强化的工具解决了困扰自主代理的真实安全问题。灵魂驱动的个性系统超越了单一的臃肿提示,进入了可维护、可组合的身份文件。令牌预算执行确保成本保持在可预测的范围内。而双频道 CLI 与 Telegram 访问搭配常驻后台服务,使其在单一终端会话之外也能真正发挥作用。

对于正在寻找一个尊重边界、拥有真实个性且能全天候运行的 AI 代理的开发者来说——Mercury Agent 值得认真考虑。


参考资料

  1. GitHub 上的 Mercury Agent(cosmicstack-labs) — 源代码与文档
  2. Vercel AI SDK v4 — 模型通信层
  3. Railway 平台 — 一键部署
  4. DeepSeek AI — 默认模型供应商
TAG
CATEGORIES