当今大多数 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 — 默认模型供应商
