Mercury:那个我们一直想要的AI代理——控制、权限与自主权,终于成真了
本文欲回答的核心问题: 在众多AI代理工具中,有没有一个既能真正替你干活、又不会把你的系统搞得一团糟、还不会月底给你一张惊人账单的选择?
当AI代理成为“麻烦制造者”
你或许已经试过那些号称能帮你写代码、管理文件、发邮件的AI代理。一开始很兴奋,但用着用着,问题就来了。
安全问题首当其冲。 AI代理要执行Shell命令、读写你的文件、安装第三方技能——这就像把一把万能钥匙交给一个你刚认识的人。更糟的是,并非所有技能都值得信任。研究数据显示,仅在某一个生态系统中,就发现了超过800个恶意技能,它们会主动窃取你的凭证。更令人不安的是,某些主流代理的核心架构曾被曝出远程代码执行漏洞,导致数万个实例面临系统完全被攻破的风险。
成本问题同样棘手。 上下文窗口在你不知不觉中膨胀。每次对话,整个历史记录都被原样塞回模型。你运行代理时只能祈祷,月底看到API账单时才知道这个月花了多少钱。
身份问题也不容忽视。 AI代理的个性要么散落在十几个目录里,要么埋在你看不懂的SQLite二进制数据中。你想修改、想版本控制、想真正拥有它?几乎不可能。
面对这三个难题,我们需要的是一个不同的解决方案。
反思: 我见过太多人一开始对AI代理充满热情,几周后就放弃了——不是因为它们不够聪明,而是因为它们太不可控。技术产品最大的失败,不是功能缺失,而是信任崩塌。当你的AI助手可能意外删除文件或因为上下文膨胀而烧掉你的预算,你再也不会放心使用它。
Mercury:为真实世界而生的AI代理
本段欲回答的核心问题: Mercury到底做了什么跟别人不一样的事?
Mercury正是为应对上述现实而构建的。它是一个工具优先、常驻后台的编排器,具备:
- •
偏执级别的权限管控 - •
尊重你钱包的Token预算 - •
四个纯文本文件定义灵魂的归属系统
它不是另一个假装是大脑的聊天封装器,而是一个行动前先问你的可靠工作伙伴。
此前,开源社区已经有两款优秀的作品证明了市场的需求:
- •
OpenClaw(某同类工具)在几周内获得了10万GitHub星标,证明开发者想要一个能在本地真正执行Shell命令的代理,而不是在浏览器标签里生成文本。 - •
Hermes(另一同类工具)带来了持久化的SQLite记忆和自主生成技能的能力。
两者都是工程上的杰作,但它们都留下了相同的三个问题——安全、成本、身份——敞开着。
Mercury正是为了填补这些空白而生。
1. 权限:真正拦住危险操作的闸门
本段欲回答的核心问题: Mercury的权限控制凭什么比别的代理更安全?
其他代理通常需要极其宽泛的访问权限才能工作,依赖未经审核的第三方扩展生态。结果是安全噩梦。除了前面提到的恶意技能外,某些核心架构本身也存在严重漏洞。一个CVSS评分高达8.8的远程代码执行缺陷,曾导致超过40000个实例仅通过一个点击链接就面临系统完全沦陷——本地主机的保护机制形同虚设。
Mercury的立场很明确:你永远不应该盲目信任一个拥有root权限的大语言模型。
它的默认架构是权限硬化的:
- •
读写访问明确限定在特定文件夹范围内。AI不能随意翻看你整个硬盘。 - •
破坏性命令如 sudo或rm -rf /在执行层就被硬屏蔽。这些命令不会触发“请求批准”弹窗——因为它们永远不会被执行。 - •
第三方技能只能通过明确定义的细粒度工具获得提升权限。
实际场景: 假设你让Mercury帮你整理下载文件夹。传统代理可能会直接执行rm -rf ~/Downloads/*,而你只能事后后悔。Mercury呢?它会先检查自己是否有权限访问~/Downloads,然后列出文件让你确认,最后才执行安全的删除操作。如果某个恶意技能试图执行sudo,Mercury会在第一时间拒绝——不是询问,是直接拒绝。
2. Token纪律:从第一原则开始省钱
本段欲回答的核心问题: Mercury怎么控制API成本?它真的能帮我省钱吗?
其他代理以上下文窗口膨胀而“闻名”。它们试图将庞大的JSONL对话历史塞回模型,导致数分钟的静默处理和令人咋舌的API账单。
Mercury将Token效率刻进了骨子里:
- •
每次请求只注入约400个Token的核心人格上下文。 - •
你可以设置每日Token上限。 - •
当使用量超过每日预算的**70%**时,自动简洁模式会自动启动,收紧上下文,在保持活跃任务不中断的同时,让你的API账单保持平稳。
实际场景: 你设置每日预算为10万Token。上午你和Mercury聊了两个小时,用了6万Token。下午你让它处理一个复杂任务,当Token用量达到7万时(70%阈值),Mercury自动切换到简洁模式——回复变得更短、更直接,但该做的工作一样没落下。月底一看,账单稳稳控制在预算之内。
反思: Token预算就像健身预算——你永远不知道月底花了多少,直到你开始记录。大多数AI产品的定价模型有意模糊化,让你在不知不觉中超额消费。Mercury把这个问题透明化、自动化,这是一种对用户钱包的基本尊重。
3. “灵魂”系统:可版本控制、可编辑的人格
本段欲回答的核心问题: 怎么让AI代理拥有真正属于我自己的个性和规则?
其他代理依赖散落在各处的不连贯技能文件。而另一些则走向另一个极端,完全依赖自动生成的、存在SQLite数据库中的不透明学习记忆。
Mercury提供了一套高度定型化的四文件Markdown系统:
- •
soul.md - •
persona.md - •
taste.md - •
heartbeat.md
你通过纯文本文件,精确定义代理如何思考、如何回应、如何写代码。你甚至可以在taste.md中强制要求“喜欢暗色主题”和“干净的UI组件”。
这意味着:
- •
你拥有它。 - •
你用纯文本写它。 - •
你在Git中版本控制它。
这是一个干净的身份系统,不是一个不可预测的黑箱。
实际场景: 你是一个喜欢函数式编程、讨厌类的前端开发者。你在taste.md中写入:“优先使用纯函数,避免class语法。变量命名使用camelCase。代码注释用中文。”从此,每次Mercury生成的代码都符合你的审美。你把这个文件提交到Git仓库,团队成员可以review、可以提PR——AI代理的“性格”第一次像代码一样被管理。
🧠 第二大脑:Mercury记得,而你不用操心
本段欲回答的核心问题: Mercury怎么记忆我的偏好和历史?它会泄露隐私吗?
大多数AI代理在你关闭聊天窗口的那一刻就忘记了一切。Mercury不同——它自动、私密、精准地记住。
它是如何工作的?
-
自动提取:每次对话后,Mercury会进行专门的提取工作,拉取0-3条关于你的事实——你的偏好、目标、项目、习惯、关系、决策。每条事实都被赋予类型、置信度(0-1分)、重要性和持久性评级。置信度低于0.55的会被拒绝。 -
存储与合并:事实存入带FTS5全文搜索的SQLite数据库。如果相似事实已存在,Mercury执行合并——增加证据计数、更新置信度、解决矛盾。没有重复。 -
精准回忆:在你发送下一条消息前,FTS5查询会检索出最相关的5条记忆,且总字符数控制在900以内。只有真正重要的东西进入上下文,你的Token消耗保持在低位。 -
整理与修剪:每60分钟:档案综合、反思生成、活跃记忆升级为持久记忆(证据≥3次)。自动修剪:21天无用的活跃记忆被清退,120天低置信度的持久记忆被衰减。
10种记忆类型:身份、偏好、目标、项目、习惯、决策、约束、关系、事件片段、反思——每一种都按置信度、重要性、持久性打分。
你始终保持控制:/memory命令让你可以概览、搜索、暂停、清空。第二大脑可以通过配置完全禁用。所有数据留在你本机的~/.mercury/目录下的SQLite中——没有一条数据离开你的机器。
实际场景: 你在周一告诉Mercury“我喜欢在下午处理代码审查,早上容易犯困”。周三你又说“我的睡眠质量最近不太好”。Mercury提取出“偏好:下午审代码”(置信度0.9)和“状态:睡眠差”(置信度0.7)。周五你让它安排明天的任务,它自动把代码审查排到了下午,并在早上只安排了简单的文档阅读。它甚至没有问你——它记住了。
反思: 真正的智能不是算得快,而是记得准。很多“智能”助手其实只是长得好看的搜索引擎。Mercury的第二大脑概念让我想到一个点:知识的价值不在于存储,而在于在恰当的时机被唤醒。900字符的上下文预算不是限制,而是对注意力的尊重。
31个内置工具 + 技能系统 + 调度器
本段欲回答的核心问题: Mercury到底能干什么?我能让它帮我做哪些具体的事?
Mercury不只是一个聊天机器人,它是一个拥有31个内置工具的操作系统级编排器。
📂 文件系统
read_file, write_file, create_file, edit_file, list_dir, delete_file, send_file, approve_scope
💬 消息
send_message
🐚 Shell
run_command, cd, approve_command
📦 Git
git_status, git_diff, git_log, git_add, git_commit, git_push
🌐 Web
fetch_url
🐙 GitHub
create_pr, review_pr, list_issues, create_issue, github_api——每次提交都有Co-authored-by标记
🧩 技能
install_skill, list_skills, use_skill
⏰ 调度器
schedule_task, list_scheduled_tasks, cancel_scheduled_task
📊 系统
budget_status
🧠 记忆
短期、长期(自动提取、去重)、事件日志(带时间戳)
实际场景(来自真实Mercury会话):
你:读取package.json并告诉我依赖项
[使用:read_file]
你:把版本号改成0.2.0
[使用:edit_file]
成功将“0.1.0”替换为“0.2.0”
你:提交那个更改
[使用:git_add, git_commit]
[git add package.json] [git commit -m "升级版本至0.2.0"]
你:把package.json文件发给我
[使用:send_file]
文件已发送:package.json (1.2KB)
Mercury:完成了!我已读取package.json,更新了版本,提交了更改,并把文件发给你了。还有什么需要?
这只是一个示例。你可以让它每天9点抓取最新的GitHub仓库动态,可以在Telegram上远程管理服务器,可以自动创建PR并邀请团队审阅。
60秒内运行起来
本段欲回答的核心问题: 我该怎么开始用Mercury?安装复杂吗?
第一步:安装
npm i -g @cosmicstack/mercury-agent
或者用npx,无需安装:
npx @cosmicstack/mercury-agent
第二步:设置
mercury
首次运行会启动引导向导:
- •
选择一个或多个AI服务商 - •
验证每个API密钥(通过获取模型列表来确认) - •
选择默认模型 - •
(可选)用机器人令牌和配对码配置Telegram
第三步:运行
mercury start
Mercury启动,加载你的灵魂文件,恢复已调度任务,作为后台守护进程运行。通过Telegram开始对话,或用mercury start --foreground进入附加模式(前台运行)。
平台支持:
- •
macOS:LaunchAgent(无需sudo) - •
Linux:systemd用户单元(无需sudo) - •
Windows:任务计划程序(无需管理员) - •
崩溃恢复:带指数退避的看门狗 - •
零依赖:不需要PM2、forever或NSSM
GitHub伴侣:你的代理,你的提交,你的仓库
本段欲回答的核心问题: Mercury怎么帮我处理GitHub上的工作?
- •
共同署名的提交:每次Mercury协助的提交都会带上 Co-authored-by: Mercury标记。Mercury的头像会和你的一起出现在GitHub提交历史中。 - •
拉取请求:创建PR、审阅差异、发表审阅评论——全都通过Mercury的工具。只需说“创建一个PR”或“审阅打开的PR”。 - •
问题管理:列出、筛选、创建问题。调度每日问题检查。Mercury让你的 backlog 持续转动,无需你碰浏览器。 - •
自托管认证:使用存储在你机器上的细粒度个人访问令牌。没有账户,没有OAuth服务器,没有云端依赖。你的令牌,你的仓库,你的控制。
配置示例:
$ mercury doctor
GitHub用户名:你的用户名
GitHub邮箱:mercury@你的域名
GitHub PAT(repo范围):••••••••
✓ GitHub工具已注册(5个)
与其他方案的诚实对比
| 特性 | Mercury | OpenClaw同类 | Hermes同类 |
|---|---|---|---|
| 灵魂/人格系统 | 4个Markdown文件 | 自定义指令 | CLAUDE.md |
| Token预算执行 | 每日预算+覆盖 | — | — |
| 多通道(CLI+Telegram) | 两者兼有,更多即将到来 | 有 | 有 |
| 技能系统(Agent Skills规范) | 安装、调用、调度 | — | — |
| Cron+延迟调度 | 持久化、自动恢复 | — | — |
| 权限硬化 | 黑名单+范围+审批 | 确认提示 | 权限提示 |
| GitHub伴侣 | PR、问题、共同署名提交 | — | — |
| 主动通知 | 心跳+任务提醒 | — | — |
| 自动事实提取 | 带去重 | — | — |
| 服务商故障转移 | 自动(记录最后成功) | 手动配置 | 仅Anthropic |
| 文件上传(Telegram) | 支持,自动类型检测 | — | — |
| 流式输出(CLI) | 实时文本流 | 实时文本流 | 实时文本流 |
| 无头/24×7模式 | 内置 | — | — |
| 语言/运行时 | TypeScript / Node.js | Python | TypeScript / Node.js |
| 开源协议 | MIT | LGPL-2.1 | 源码可用 |
精炼的底层架构
- •
核心:TypeScript + Node.js 18+,ESM,tsup构建,SQLite支持的第二大脑 - •
AI SDK:Vercel AI SDK v4,streamText + generateText,10步代理循环 - •
服务商:DeepSeek(默认,性价比高)、OpenAI(GPT-4o-mini等)、Anthropic(Claude系列)、Grok(xAI)、Ollama Cloud、Ollama Local(零成本、完全私有)。更多即将到来:Google Gemini、Mistral等。OpenAI兼容架构也支持自定义端点。 - •
Telegram:grammY,长轮询,配对码,CLI管理的访问请求,广播,文件上传 - •
运行时数据: ~/.mercury/——配置、灵魂、记忆、权限、技能、调度——全在你的家目录
反思: 支持Ollama Local这个决定很聪明。不是每个人都能或愿意为每次API调用付费。本地运行意味着你可以用消费级GPU(甚至CPU)跑一个小型模型,让Mercury完成日常任务,成本为零。这打开了大量应用场景——从隐私敏感的企业环境到只是想玩玩的个人开发者。这也是对“AI必须昂贵”这个假设的挑战。
结论:Mercury解决了我们一直忽视的三个问题
当其他AI代理证明了开发者需要本地编排和持久化记忆时,Mercury代表了下一个逻辑迭代:一个精简化、命令行原生、建立在权限硬化基础上的引擎。
它内置的工具覆盖了文件操作、深度GitHub管理、多通道集成(从CLI流式输出到Telegram)。框架本身不挡路,让工具真正发挥作用。这是一个为真正的日常使用而构建的编排器,而不仅仅是一个概念验证。
我们不需要另一个过度工程化、假装是大脑的应用。我们需要一个可靠的、常驻后台的工作者,它尊重Token预算,不会盲目执行破坏性Shell命令。
Mercury就是为这个现实而构建的。
实用摘要 / 操作清单
如果你正在考虑采用Mercury,以下是你需要知道的核心要点:
- •
[ ] 安装:一条命令 npm i -g @cosmicstack/mercury-agent && mercury - •
[ ] 配置:引导向导会帮你设置API密钥和服务商 - •
[ ] 启动: mercury start让它作为守护进程运行 - •
[ ] 定义灵魂:编辑 ~/.mercury/soul.md,persona.md,taste.md,heartbeat.md - •
[ ] 设置预算:配置每日Token上限,避免意外高额账单 - •
[ ] 连接Telegram:可选,获得移动端的远程控制能力 - •
[ ] 安装技能: install skill from <URL> - •
[ ] 调度任务: schedule_task <技能名> every day at 9am - •
[ ] 管理记忆:用 /memory命令查看、搜索、管理第二大脑 - •
[ ] GitHub集成:运行 mercury doctor配置你的PAT令牌
一页速览
| 问题 | Mercury的解决方案 |
|---|---|
| 安全风险 | 文件夹级读写范围、命令黑名单(sudo/rm -rf永久禁止)、审批流程 |
| 成本失控 | 每日Token预算,超70%自动简洁模式,每次请求仅注入~400 Token |
| 身份混乱 | 四个Markdown灵魂文件,可Git版本控制,纯文本可读可编辑 |
| 记忆丧失 | 自动事实提取(10种类型)、SQLite+全文搜索、600分钟整理修剪 |
| 部署复杂 | 零依赖守护进程,跨平台,自动开机启动/崩溃重启 |
| 通道单一 | CLI+Telegram(更多即将到来:Signal、Discord、Slack、WhatsApp) |
| GitHub工作流分离 | 内置PR、问题、共同署名提交 |
常见问答(FAQ)
问:Mercury会把我私人对话数据上传到云端吗?
不会。所有记忆数据都存在你本机的~/.mercury/目录下的SQLite数据库中。第二大脑可以完全禁用。配置文件中明确控制数据流向。
问:我能用免费的大模型跑Mercury吗?
可以。Mercury支持Ollama Local——完全本地运行,零API成本。也支持Ollama Cloud、DeepSeek(默认,性价比高)、OpenAI、Anthropic、Grok等。
问:Mercury和OpenClaw最大的区别是什么?
权限硬化、Token预算执行、四个Markdown文件的灵魂系统、持久化调度器、内置GitHub伴侣。Mercury是默认安全且常驻后台的,而其他方案需要更多手动干预和信任。
问:我能在团队里共享Mercury配置吗?
可以。灵魂文件是纯文本Markdown,可以放进Git仓库。团队成员可以review、提PR,就像管理代码一样管理AI代理的“人格”。
问:Mercury支持Windows吗?
支持。使用Windows任务计划程序安装为系统服务,无需管理员权限。
问:如果我某个API服务商挂了怎么办?
Mercury有内置的故障转移机制。它会记录最后成功的服务商,自动切换到可用的备选。你无需手动干预。
问:技能系统安全吗?
技能只获得显式定义的细粒度工具权限。破坏性命令在执行层被硬屏蔽。安装技能前,Mercury会提示你确认来源。
问:Mercury是开源的吗?
是的,基于MIT协议开源。代码仓库和文档可以在GitHub上找到。
