2026年4月28日 · 阅读 —
为什么你的 AI Agent 总在“偷偷做事”?Mercury 把先问再做、长期记忆、成本治理做成了底层
为什么你的 AI Agent 总在“偷偷做事”?Mercury 把先问再做、长期记忆、成本治理做成了底层
先把痛点说透:很多 Agent 不是不会干活,是干活方式太吓人
现在大多数 AI Agent 都能读文件、执行命令、访问网页。
问题是它们经常“静默操作”:你不在场,它也照样往下跑;权限默认全开;历史上下文断层;Token 花到哪了也不透明。
这类体验像什么? 像把家门钥匙交给一个超能管家,但你不知道它今天开过几次门、搬过什么东西、花了多少钱。
Mercury 的思路很明确:先问再做、记住重要信息、知道预算花在哪。
这不只是功能堆料,而是一套有自己原则的 Agent 架构。
👉 GitHub 开源地址:cosmicstack-labs/mercury-agent
这个项目一句话到底是什么
Mercury 是一个 Soul-driven AI Agent:把权限系统、Second Brain 记忆、Token 预算和 24/7 后台运行打包成一套可长期使用的个人助理框架,支持 CLI + Telegram。
它和常见 Agent 最大的不一样:不是“能不能做”,而是“怎么做”
1) 先问再做:Permission-hardened 工具执行
Mercury 的权限控制是内建的,不是后期补丁:
- Shell 命令阻止列表(比如
sudo、rm -rf /直接拦截) - 文件读写有目录作用域限制
- 每条外部操作有 pending approval 流程
- 支持会话模式切换(“问我”/“全部允许”)
假设你让它删文件,交互会像这样:
⚠️ 即将执行: delete_file 路径: ~/Desktop/test.txt 是否允许? [Yes / No / Always]
这个设计对安全敏感用户非常关键:你不需要在 Agent 外面再套一层壳,它自己就是。
2) 第二大脑:SQLite 支撑的长期记忆
Mercury 的 Second Brain 不是“聊天记录翻页”,而是结构化记忆系统:
- 10 种记忆类型:identity、preference、goal、project、habit、decision、constraint、relationship、episode、reflection
- 每轮对话后自动提取 0~3 条事实(含置信度/重要性/持久性)
- 冲突记忆按置信度和时间新旧处理
- 每次回复前注入最相关 5 条记忆(默认 900 字符预算)
- 自动整理与自动修剪:活跃上下文 21 天过期,低置信持久记忆 120 天后撤销
存储位置是纯本地:
~/.mercury/memory/second-brain/second-brain.db
(SQLite + FTS5,不上云)
3) Token 预算:让 Agent 学会“省着花”
Mercury 有每日 Token 预算与命令控制:
- 达到 70% 消耗时自动进入低带宽简洁回复模式
/budget命令随时查看状态- 支持 override/reset/set
- 超过预算可直接暂停 API 调用
这对“长期后台常开”的使用场景太重要了,不然很容易一觉醒来发现账单爆了。
上手和运行:不是演示模式,是长期托管模式
快速开始:
npx @cosmicstack/mercury-agent
或者全局安装:
npm i -g @cosmicstack/mercury-agent
mercury
首次运行会触发配置向导,输入名字、API Key,可选配 Telegram Bot Token,30 秒就能完成。
后续要重配:
mercury doctor
推荐长期运行方式(一条命令搞定):
mercury up
常用守护命令:
mercury restart # 重启后台进程
mercury stop # 停止后台进程
mercury start -d # 后台启动,不安装系统服务
mercury logs # 查看近期守护进程日志
mercury status # 查看运行状态
示例对话:
你: 我不想每次都手动开,想让它一直在线
AI: 用 mercury up,它会安装系统服务并确保守护进程运行
你: Telegram 怎么接入
AI: 先给 Bot 发 /start 拿配对码,再在 CLI 执行 mercury telegram approve <code>
你: 能多人用吗
AI: 可以,管理员可批准、拒绝、提升、降级成员,成员负责日常对话
你: 我担心费用
AI: 用 /budget 实时看预算,必要时 override 或 reset
接入流程图:
flowchart TD
classDef default stroke:#666,stroke-width:1.5px,font-size:14px
linkStyle default stroke:#999,stroke-width:1.5px
subgraph "安装与启动"
A1["npx 或 npm 全局安装"] --> A2["首次配置向导"]
A2 --> A3["mercury up 托管运行"]
end
subgraph "权限与访问"
A3 --> B1["Telegram /start 获取配对码"]
B1 --> B2["CLI approve 配对"]
B2 --> B3["管理员管理成员权限"]
end
subgraph "长期协作"
B3 --> C1["/status /budget /memory /tasks"]
C1 --> C2["定时任务执行并回传结果"]
C2 --> C3["Second Brain 持续提取与召回"]
end
多渠道与技术栈:工程实现也挺干净
渠道能力:
- CLI:流式输出、Markdown 重渲染、命令导航
- Telegram:HTML 格式化、可编辑流式消息、输入状态、多用户角色模型
技术栈:
- TypeScript + Node.js 20+
- Vercel AI SDK v4(
generateText、streamText、多步循环) - grammY(Telegram)
- SQLite + FTS5(Second Brain)
- Provider fallback:主提供商失败时自动切换下一个,并记住上次成功的
社区状态(已核对)
基于 GitHub API(2026-04-28 08:42 +0800)可确认:
- 仓库创建时间:2026-04-20
- Star:1547
- Fork:164
- PR #15(Z.ai + Web Panel + Discord):目前是 open,未合并(48 个测试全部通过)
- PR #16(中文文档):已 merged
- Issue #10(Lark Suite 渠道):open
- Issue #13(Windows 服务安装问题):open
核心维护者 Salman Qureshi(hotheadhacker)响应迅速,有用户报告 Telegram 无响应 Bug,当天晚上就定位并修复合并。
适合谁用
- 需要安全可控的本地 AI 助手、不想给第三方云服务交出数据的用户
- 对长期记忆有硬需求,不想每次对话都从零开始的人
- 对 Token 成本敏感,想做精细化预算治理的团队
- 同时依赖 CLI 与 Telegram 的开发者
- 希望把 Agent 当长期基础设施而非临时玩具的人
局限和边界(不吹不黑)
- 当前核心渠道还是 CLI + Telegram
- 扩展渠道在推进中(例如 Lark/Discord 相关需求或 PR)。
- Windows 服务安装仍有已知问题
- 相关 issue 仍开着,Windows 用户建议上线前先验证守护部署链路。
- Second Brain 很强,但不是“永不偏移”
- 超长周期对话下,仍建议定期人工校准关键记忆与约束。
收尾
Mercury 真正的差异,不是“会不会调工具”,而是它从第一天就把安全、记忆、成本做成了操作系统级约束。
TypeScript 开发者如果想自己部署一个可控的 AI Agent,Mercury 是目前 GitHub 上增长最快的选项之一。npm 安装一条命令就能跑起来,数据全在本地——对在意隐私和可控性的用户来说,这个定位很有吸引力。
#MercuryAgent #AIAgent #SecondBrain #PermissionHardened #TokenBudget #TelegramBot #CLI工具 #SQLite #VercelAISDK #TypeScript #本地优先 #开发效率