mercury-agent源码构建教程:从Bun编译独立二进制到跨平台发布的完整指南
mercury-agent源码构建教程从Bun编译独立二进制到跨平台发布的完整指南【免费下载链接】mercury-agentSoul-driven AI agent with permission-hardened tools, token budgets, and multi-channel access. Runs 24/7 from CLI, Telegram or More.项目地址: https://gitcode.com/gh_mirrors/me/mercury-agentmercury-agent 是一个灵魂驱动Soul-driven的 AI Agent内置权限加固的工具系统、Token 预算管理和多渠道接入CLI、Telegram、Discord、Slack、Signal可以 7×24 小时常驻运行。本教程带你从源码出发完成 mercury-agent 源码构建全流程用 tsup 打包标准产物再用 Bun 编译独立二进制最终交叉编译出 5 个平台的发布资产掌握完整的跨平台发布链路。为什么从源码构建两种产物一次看懂mercury-agent 提供两条构建路径产物形态完全不同构建方式产物适用场景标准构建dist/下的 ESM 捆绑包与 npm 发布一致本地开发、贡献代码、npm link调试独立可执行文件单个二进制文件内嵌 JS 运行时和全部代码终端用户机器上无需安装 Node.js 和 Bun核心打包配置在 tsup.config.ts入口为src/index.ts目标node20并在编译期通过define注入版本号globalThis.__MERCURY_VERSION__这样独立二进制运行时不必再从磁盘读取package.json获取版本。构建环境准备Node.js 20 Bun 两步装好构建工具链只需要两个运行时Node.js ≥ 20—— 驱动 tsup 构建工具链见 package.json 的engines约束Bun ≥ 1.3—— 仅编译独立二进制时需要用官方安装脚本一行装好。git clone https://gitcode.com/gh_mirrors/me/mercury-agent cd mercury-agent npm installnpm install时会自动触发postinstall为ink打补丁见 patches/ink5.2.1.patch即使补丁包不可用构建流水线也会兜底强制执行不会静默跳过。第一步标准构建 —— tsup 打包与 post-build 资产处理npm run build # 等价于 tsup node scripts/post-build.cjs npm start # node dist/index.jsbuild命令是两段式的定义于 package.jsontsup把src/下所有 TypeScript 源码捆绑为单文件dist/index.js带 shebang 头可直接作为mercury命令执行post-build由 scripts/post-build.cjs 完成四件事——强制执行 ink 补丁防 Yoga WASM 崩溃复制src/web/static到dist/web/static复制sql-wasm.wasm到静态资源目录纯 JS wasm 的 SQLite 回退方案构建ui/下的 Web 仪表盘Termux 环境自动跳过。想把自己的本地构建挂成全局mercury命令只需npm link mercury --help第二步用 Bun 编译独立二进制mercury-agent 选择bun build --compile而不是pkg或 Node SEA原因很实际依赖图里包含带顶层 await 的 ESM 模块ink、yoga-layout而 pkg 和 Node SEA 都要求 CommonJS 入口无法处理顶层 awaitBun 原生运行 ESM 并内嵌自己的运行时彻底绕开这个问题。四条构建命令覆盖所有场景构建逻辑全部封装在 scripts/build-bin.cjs 中命令目标已存在产物时npm run build:bin仅当前系统跳过npm run build:bin:all全部 5 平台逐目标跳过npm run build:bin:force仅当前系统覆盖npm run build:bin:all:force全部 5 平台覆盖快速上手npm run build:bin # 为当前 OS/架构构建 ./release/v1.2.7/mercury-macos-arm64 --help⚠️build:bin依赖标准构建产物dist/index.js。npm 脚本已自动串联两步若直接运行node scripts/build-bin.cjs请先执行npm run build。交叉编译一台机器产出 5 个平台Bun 为每个目标平台自带运行时因此在任意一台机器上都能编译出全部 5 个平台比如在你的 Mac 上产出 Windows 的.exenpm run build:bin:all支持的目标见 scripts/build-bin.cjs 的ALL_TARGETSmacOS arm64Apple SiliconmacOS x64IntelLinux x64Linux arm64Windows x64唯一的原生依赖better-sqlite3被声明为optional见 package.json交叉编译时自动跳过运行时回退到sql.js纯 JS wasm所以交叉编译产物完全可用。版本化输出目录绝不覆盖历史发布构建脚本从package.json读取版本号把二进制写入版本化子目录旧版本永远不会被覆盖多个版本可并排保留release/ ├── latest → 指向最新版本 ├── v1.1.9/ │ ├── mercury-macos-arm64 │ ├── mercury-macos-x64 │ ├── mercury-linux-x64 │ ├── mercury-linux-arm64 │ ├── mercury-win-x64.exe │ ├── web.tar.gz │ └── checksums.txt SHA-256 校验和 └── v1.2.7/每次构建还会把dist/web打包成web.tar.gz用COPYFILE_DISABLE1避免 macOS 的._*垃圾条目混入生成checksums.txt可用shasum -a 256 -c checksums.txt校验完整性编译失败自动重试 3 次间隔 2s/4s刷新release/latest符号链接指向当前版本。发布质量门禁verify-standalone-release 自动校验build:bin:all结束后会自动执行 scripts/verify-standalone-release.cjs它是一道严格的质量门禁发布目录里只允许5 个平台二进制 web.tar.gzchecksums.txt出现多余文件直接报错逐个文件重算 SHA-256 并与checksums.txt比对解包web.tar.gz检查所有条目必须以web/开头拦截路径穿越类的不安全归档且不允许.DS_Store、.map等垃圾文件。任何一项不通过构建即失败从机制上保证发布资产干净一致。跨平台发布流程publish.sh 的六步流水线npm 包的发布由 scripts/publish.sh 一条命令完成六步流水线类型检查——npm run typecheck即tsc --noEmit运行测试——npm run testvitest 全量包完整性验证—— scripts/verify-package.cjs 做 dry-run 安装shebang 校验—— 确认dist/index.js首行是#!/usr/bin/env nodenpm publish——--access public发布到 npm打 Git 标签——git tag -a v版本。独立二进制侧则把release/v版本/整个目录作为发布资产对外分发用户端通过安装脚本见 scripts/install.sh自动匹配当前平台下载对应二进制——构建与分发两端都靠 SHA-256 校验和保证可信。构建验证跑通你的第一行 mercury构建完成后做三件事确认一切正常# 1. 二进制能执行 ./release/latest/mercury-你的平台 --version # 2. 校验和通过 cd release/v1.2.7 shasum -a 256 -c checksums.txt # 3. 标准构建可启动 npm start mercury --help首次运行mercury会进入引导向导Onboarding Wizard引导你配置 AI 提供商、选择渠道并初始化 Agent 人格Soul。常见问题排查FAQbun: command not found安装 Bun 后重启 shell或显式使用~/.bun/bin/bun。ERROR: dist/index.js not found直接运行了 bin 脚本但没先做标准构建。先执行npm run build或直接使用npm run build:bin已自动串联。二进制静默退出返回码 0通常是版本查找失败。构建流水线通过 tsup 的define在编译期注入版本号如果你改过入口文件请确保 src/index.ts 中pkgVersion的回退路径完整。release/latest符号链接过期重新运行任意build:bin命令链接会自动修复指向当前package.json版本。macOS Gatekeeper 拦截本地使用右键 → 打开一次即可。分发场景需做代码签名与公证codesign notarytool。延伸阅读构建相关核心文件官方构建文档website/docs/getting-started/build-from-source.mdx打包配置tsup.config.ts独立二进制构建脚本scripts/build-bin.cjs构建后资产处理scripts/post-build.cjs发布资产校验scripts/verify-standalone-release.cjsnpm 发布流水线scripts/publish.sh项目架构总览ARCHITECTURE.md【免费下载链接】mercury-agentSoul-driven AI agent with permission-hardened tools, token budgets, and multi-channel access. Runs 24/7 from CLI, Telegram or More.项目地址: https://gitcode.com/gh_mirrors/me/mercury-agent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

二十八、从 Demo 到上线:部署实战与 CI/CD 集成

二十八、从 Demo 到上线:部署实战与 CI/CD 集成

从 Demo 到上线:部署实战与 CI/CD 集成 📚 专栏导航:这是《LangChain 30篇精讲》的第 28 篇,模块六「生产部署」的收官篇。上一篇我们用 LangSmith 把"质量"变成了可量化的分数。这一篇,我们解决最后一个问题:分数够了,怎么让全世界的人都能用上它? 写在前面…

2026/9/30 13:55:25 阅读更多 →
go-zero mon 存储模块迁移指南:MongoDB Go Driver 1.x 升级至 2.0

go-zero mon 存储模块迁移指南:MongoDB Go Driver 1.x 升级至 2.0

后端RPC框架Web框架微服务API网关服务注册发现代码生成 【免费下载链接】go-zero A cloud-native Go microservices framework with cli tool for productivity. 项目地址: https://gitcode.com/GitHub_Trending/go/go-zero 点击查看 免费下载 本指南以 go-zero 仓…

2026/9/30 13:55:25 阅读更多 →
2026常州代理记账托管靠谱吗?本地代账机构盘点对比与鉴别方法

2026常州代理记账托管靠谱吗?本地代账机构盘点对比与鉴别方法

把记账报税托管给代理记账机构,对很多中小微企业来说是省事的选择,但省事不等于撒手不管。托管前不做功课、托管中不跟进、托管后不复盘,出了问题再补救往往要花更大代价。第一次托管的企业常以为签完合同交完票就完事了,结果后面…

2026/9/30 13:54:24 阅读更多 →

最新新闻

零到全栈(无状态的 Web,怎么记住一个人)

零到全栈(无状态的 Web,怎么记住一个人)

上一篇完成了一次教科书式的两步走:先把存储代码从 main.py 原样搬进 storage.py,把 "取几条” 的决定权交还给调用方;再把存储实现整个换成 SQLite——建表、INSERT、一句 SELECT 加索引,接口约定纹丝不动,前端毫…

2026/9/30 14:47:46 阅读更多 →
大功率户外电源精品定制、长续航款生产厂家质量参考评选

大功率户外电源精品定制、长续航款生产厂家质量参考评选

中山市鑫耀电子有限公司,是一家专注储能产品研发智造,面向全球客户提供一站式储能解决方案与柔性合作服务的源头生产企业,我们的精准定位是为海内外贸易商、品牌商、能源企业打造稳定可靠的储能产品供应链,助力客户开拓全球新能源…

2026/9/30 14:46:45 阅读更多 →
长沙有没有做会议活动策划的靠谱公司哪家比较好推荐,透明报价服务商

长沙有没有做会议活动策划的靠谱公司哪家比较好推荐,透明报价服务商

很多企业和政企单位筹办大型会议活动时,总会陷入这样的困境:想找靠谱的长沙会议活动策划公司,翻了一圈攻略要么是报价不透明,落地时加价不断,要么是小团队依托零散外协资源接单,出了问题找不到责任人&#…

2026/9/30 14:46:45 阅读更多 →
二手房卖房代理机构,交易全程不踩坑

二手房卖房代理机构,交易全程不踩坑

房小邦技术(上海)有限公司是上海本土专注卖方单边代理的房屋出售服务机构,立足上海核心城区,为有卖房需求的个人房东及资产管理机构提供专属立场的全流程售房托管服务。 核心业务与服务覆盖房小邦技术(上海)有限公司聚焦上海黄浦、徐汇、长宁、静安区四大…

2026/9/30 14:46:45 阅读更多 →
封闭式冷水塔制造厂选哪家好?浙江地区玻璃钢冷却塔参数与适用场景盘点

封闭式冷水塔制造厂选哪家好?浙江地区玻璃钢冷却塔参数与适用场景盘点

工业冷水塔基础科普 冷水塔的核心作用是什么? 冷水塔也叫散热塔,是工业生产中通过水与流动空气的接触,散发热量、降低循环水温度的冷却设备,依靠水的蒸发换热和空气对流换热,带走工业生产过程中产生的余热,保障生产设…

2026/9/30 14:46:45 阅读更多 →
杨老表建筑科技:别墅外墙装修材料怎么选?好看、隔热又防水

杨老表建筑科技:别墅外墙装修材料怎么选?好看、隔热又防水

湖南杨老表建筑科技有限公司,是一家深耕乡墅外墙领域,集研产销、全案设计施工于一体的综合型建筑科技企业,品牌核心定位是专注别墅外墙场景需求,为全国自建房业主、工程客户提供兼具外观效果、实用防护与落地性价比的外墙材料及别…

2026/9/30 14:46:45 阅读更多 →

日新闻

Base64 图片头部特征识别:从文件头到格式判断的完整指南

Base64 图片头部特征识别:从文件头到格式判断的完整指南

1. 项目概述:为什么说看懂 base64 图片头部是基本功这几年跟 base64 打交道的机会越来越多,后端接口返回图片、前端渲染验证码、小程序里存小图、还有一些老系统导出报表,动不动就给你一段长到怀疑人生的 base64 字符串。很多人拿到字符串就直…

2026/9/30 0:00:35 阅读更多 →
Java公交站牌广告管理系统:JSP+Servlet+MySQL实战落地指南

Java公交站牌广告管理系统:JSP+Servlet+MySQL实战落地指南

简介:本资源是一份面向Java初学者与课程设计学生的公交站牌广告灯箱管理系统毕业设计文档,聚焦城市公共广告资源信息化管理痛点,提供从需求分析到技术实现的完整方案。文档采用标准学术论文结构,含摘要、英文摘要、目录及五章正文…

2026/9/30 0:00:35 阅读更多 →
用 Redis Lua 构建大模型 API 多租户原子配额治理体系

用 Redis Lua 构建大模型 API 多租户原子配额治理体系

我去年年底接了一个内部 AI 平台的治理需求,背景很直接:公司把 DeepSeek、MiniMax 这类大模型 API 统一封装成内部网关,开放给几个业务团队用。结果第一个月账单出来,额度直接超了 4 倍。仔细查日志,发现原因并不复杂—…

2026/9/30 0:00:35 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/30 13:14:22 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/29 16:41:41 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/30 13:14:49 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/29 19:29:29 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/29 5:58:00 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/29 3:55:56 阅读更多 →