# Ant Browser
面向多账号隔离、代理绑定和本地环境管理的桌面浏览器工具(Windows / Linux / macOS unsigned)。
Ant Browser 当前推荐配套使用的浏览器内核,来源于开源项目 fingerprint-chromium。
如果你正在寻找可直接下载和维护的指纹内核版本,建议先查看它的 Releases 页面:
这个项目为 Ant Browser 的内核准备提供了直接可用的基础来源,这里先对原项目做明确推荐与致谢。
Ant Browser 的目标很明确:在一台桌面设备上,帮助用户稳定管理多个彼此隔离的浏览器实例,并配合代理池、浏览器内核和快捷启动能力完成日常运营或测试工作。
Ant Browser 适合以下场景:
这个项目当前提供的核心价值是:
timeoutMs 超时控制,双实例 runtime 流程支持超时取消与错误返回.app / .zip,并将用户状态目录放到 ~/Library/Application Support/ant-browser完整历史版本记录见 CHANGELOG.md。
master:面向开发者的干净基线分支,不提交 data/app.db、实例目录或其他用户数据。首次启动时会自动初始化空数据库。user_data:在 master 基础上额外提交一份 data/app.db 测试快照,便于演示、联调和复现问题。bin/xray.exe、bin/sing-box.exe 已随源码仓库提供;开发和发布打包不需要再单独下载这些运行时文件。Ctrl + K 快速打开目标实例
对应功能点:
实例列表、代理池配置、内核管理、系统设置
对应功能点:
新建配置、启动、停止、重启、配置、克隆、删除
对应功能点:
代理连接栈规则:
default_connector_type 只有两套连接栈:xray 和 mihomo。xray 表示 Xray + sing-box 组合栈:Xray 负责 vmess/vless/trojan/shadowsocks/链式代理等,sing-box 负责 hysteria2/tuic/anytls 等协议。mihomo 表示独立 Mihomo 栈:需要桥接的代理统一走 mihomo。xray 组合栈和 mihomo 栈之间自动混用。docs/proxy-connector-stacks.md。
对应功能点:
AntBrowser-Setup-*.exeant-chrome.exeant-browser_<version>_<arch>.deb,或解压 tar.gz 后运行 ant-chromeAntBrowser-<version>-macos-<arch>.app;如被 Gatekeeper 拦截,请对本机测试包执行 xattr -dr com.apple.quarantine <app路径> 后再打开master 分支;该分支不带测试用户数据,适合作为日常开发基线。user_data 分支。bat\dev.bat;默认是 live 热更新模式,如需静态资源排查使用 bat\dev.bat stable,如需受限内存复现使用 bat\dev.bat limited。bin/xray.exe、bin/sing-box.exe;Linux 运行时使用 bin/linux-<arch>/xray、bin/linux-<arch>/sing-box;macOS 运行时使用 bin/darwin-<arch>/xray、bin/darwin-<arch>/sing-box。publish/runtime-manifest.json,固定来源清单在 publish/runtime-sources.json。python3 tools/runtime/sync-runtime.py --target <target>(会按固定来源下载、校验归档并更新 manifest)。开发模式说明:
bat\dev.bat:默认 live 模式,启动 Vite watcher,并通过 -frontenddevserverurl 接入桌面壳bat\dev.bat stable:先构建 frontend/dist,再以静态资源模式启动 Wails,不依赖外部 Vite dev serverbat\dev.bat live:显式指定 live 模式,效果与默认一致bat\dev.bat limited:在 live 基础上为 watcher 与其子进程附加 Windows Job Object 内存限制DEV_PROXY_URL、DEV_NO_PROXY、DEV_GOPROXY自动化脚本现在分成两层:
backend/internal/automation/demo-library/data/automation/scripts/规则是:
data/automation/scripts/ 下的运行时脚本统一忽略,不提交 gitdual-instance-runtime-switch、news-query-txt、web-image-generate-download脚本包采用“一脚本一目录”的可搬运结构:
<script-id>/
├── automation.script.json
├── index.cjs
└── 其他辅助文件
其中:
automation.script.json:脚本元数据和默认参数index.cjs:入口脚本,entryFile 也可以改成相对路径,例如 scripts/index.cjs运行时落盘结构和分发结构不同。应用内部会把脚本写到:
data/automation/scripts/<script-id>/
├── config
├── index.cjs
└── 其他辅助文件
这里的 config 是应用内部持久化格式;对外复制、导入、脚本库管理一律使用 automation.script.json 包结构。
Windows 发布脚本默认保持原有 NSIS 安装包行为,也可以生成便携 ZIP,或一次生成两种产物:
bat\publish.bat zip
bat\publish.bat both
bat\publish.bat -Target WINDOWS -WindowsFormat INSTALLER
bat\publish.bat -Target WINDOWS -WindowsFormat PORTABLE
bat\publish.bat -Target WINDOWS -WindowsFormat BOTH
省略 -WindowsFormat 时等同于 INSTALLER。zip 快捷命令只生成便携 ZIP,both 快捷命令同时生成安装包和便携 ZIP。安装包和便携 ZIP 输出到 publish\output\。
Linux 发布脚本位于 publish/linux/。
bash publish/linux/publish-linux.sh --arch amd64
bash publish/linux/publish-linux.sh --arch arm64
详细说明见 publish/linux/README.md。
macOS 发布脚本位于 publish/mac/,必须在原生 macOS 主机上执行,且目标架构需与主机架构一致。
bash publish/mac/publish-mac.sh --arch amd64
bash publish/mac/publish-mac.sh --arch arm64
脚本会生成 unsigned .app 和 .zip,适合 PR 验证与内部测试。详细说明见 publish/mac/README.md。
代理运行时已经随仓库提供,你只需要准备浏览器内核。
指纹浏览器 > 内核管理chrome.exe建议目录结构:
chrome/
chrom-142/
chrome.exe
...
代理池配置 中先导入或新增可用代理节点实例列表 中点击 新建配置| 目标 | 入口 | 说明 |
|---|---|---|
| 新建浏览器实例 | 实例列表 > 新建配置 |
创建一个新的独立浏览器环境 |
| 配置代理池 | 代理池配置 |
维护代理节点并检查延迟、健康状态 |
| 绑定实例代理 | 实例编辑页 |
给指定实例分配目标代理节点 |
| 启动实例 | 实例列表 |
单击启动按钮即可运行目标实例 |
| 快速打开实例 | Ctrl + K |
可按 Code、实例名、标签、关键字快速检索 |
| 管理浏览器内核 | 内核管理 |
新增、编辑、删除和设置默认内核 |
| 验证代理结果 | 启动实例后访问 IP 检测网站 | 核对 IP、地区、ASN、风险值 |
先检查浏览器内核路径是否有效,并确认目标目录下存在 chrome.exe。
先检查代理节点本身是否可用,再确认该实例已经正确绑定代理。建议启动后访问 IP 检测网站复核当前出口。
如果代理池里本地客户端可用节点很多,但 Ant Browser 中“只展示可用”数量明显偏少,先确认当前 default_connector_type 是否与本地客户端一致。Ant Browser 不会在 xray 组合栈和 mihomo 栈之间自动混用;切换连接栈后需要重新测速。
可以在 实例列表 中按状态、代理、内核、分组、关键字筛选,也可以通过 Ctrl + K 使用实例 Code 或名称快速启动。
建议采用一账号一实例、一实例一稳定代理的方式,不要混用浏览器环境,也不要频繁切换同一实例的出口 IP。
欢迎通过 Issue 和 Pull Request 参与改进。
如果是较大改动,建议先开 Issue 对齐需求再提交 PR。
当前仓库暂未附带独立的 LICENSE 文件,后续会补充。
$ claude mcp add Ant-Browser \
-- python -m otcore.mcp_server <graph>