mcpField
F
fortress

fortress

本地服务
tilion.dev浏览器自动化7803 周前更新

关于 fortress

Fortress 是基于 Chromium 分支的隐身浏览器引擎,用于让 AI Agent 和爬虫绕过浏览器指纹检测。它通过 CDP 与 Playwright 或 Puppeteer 连接,适合需要访问受保护网站并提取数据的开发者。

主要功能

  1. 01在 C++ 层修正浏览器指纹
  2. 02兼容 Playwright、Puppeteer 的 CDP 连接
  3. 03每次启动生成一致的独立设备指纹
  4. 04提供 29 个工具的 Fortress MCP 服务
  5. 05支持 Docker、pip 和 npm 安装

适用场景

  1. 01抓取受 Cloudflare 或 CAPTCHA 保护的页面
  2. 02为 AI Agent 提供可用于受保护网站的浏览器工具
  3. 03在无代理的数据中心 IP 上进行网页数据提取

MCP 相关

Fortress 提供名为 fortress 的 MCP 服务(tilion mcp),将隐身浏览、页面读取、结构化提取等功能以 29 个工具的形式提供给 MCP 客户端。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"tiliondev-fortress": {
"command": "uvx",
"args": [
"tilion"
],
"env": {
"TILION_MCP_PREWARM": "<TILION_MCP_PREWARM>",
"TILION_MCP_HEADLESS": "<TILION_MCP_HEADLESS>",
"TILION_ALLOW_PRIVATE_EGRESS": "<TILION_ALLOW_PRIVATE_EGRESS>",
"TILION_BASE_URL": "<TILION_BASE_URL>",
"TILION_API_KEY": "<TILION_API_KEY>"
}
}
}
}
启动命令uvx tilion
需要配置的环境变量
TILION_MCP_PREWARMBoot the browser at startup so the first tool call is instant (default 1).
TILION_MCP_HEADLESSSet 0 to show a visible browser window (default 1).
TILION_ALLOW_PRIVATE_EGRESSSet 1 to allow tools to reach localhost / private IPs (SSRF guard off).
TILION_BASE_URLRun browsers on a hosted Tilion server instead of locally.
TILION_API_KEY密钥Bearer key for the hosted Tilion server (cloud mode only).

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypitilion0.1.3

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Fortress
一款浏览器引擎,统领一切

隐身 Chromium 引擎 · v3 (Chromium 153)

Chromium Docker pulls Discord
Copy for agent llms.txt MCP server npm tilion-mcp

**Fortress 是 Chromium 的一个分支,可防止爬虫和浏览器 Agent 被拦截。**机器人检测器会读取浏览器指纹来识别自动化行为。Fortress 在 Chromium 的 C++ 代码中修正该指纹,让浏览器看起来像普通的 Chrome 安装。通过 CDP 将现有的 Playwright 或 Puppeteer 指向它即可;代码的其他部分无需改动。

在无头模式下使用数据中心 IP 且不使用代理时,Fortress 成功加载了 92 个受保护网站中的 86.4%。表现次佳的方案 Camoufox 加载率为 74.5%。

某网站扫描浏览器指纹。原版 Chrome 未通过 CreepJS、BrowserScan、rebrowser 和 WebGL 检查,因此被拦截。Fortress 全部通过,页面成功加载。

某网站读取浏览器指纹。由脚本驱动的原版 Chrome 未通过 CreepJS、BrowserScan、rebrowser 和 WebGL 检查,因此被拦截;Fortress 全部通过。

真正运行,完全无头

通过 CDP 获取的未经编辑的记录,没有使用隐身插件。运行 examples/scrape_demos.py 即可复现。

Fortress 通过 CDP 实时将 books.toscrape.com 提取为带类型的 JSON 记录
Fortress 自动翻页,遍历 quotes.toscrape.com 的多个页面
自动翻页:3 页共 30 条名言。
Fortress 深度抓取商品详情页
深度抓取详情:UPC · 价格 · 税费 · 库存 · 评论。
之前:原版浏览器访问 aa.com 时被 Akamai 拦截,显示 Access Denied。之后:Fortress 加载真实页面,Akamai 的传感器验证通过。

Akamai 拦截前后对比,在同一个住宅 IP 上访问 aa.com:原版浏览器收到 Access Denied,Fortress 则加载页面,且 Akamai 下发了传感器 Cookie _abck。访问 lowes.com、macys.com 和 kohls.com 也有相同结果。

## 目录

快速开始 · 每个会话都是一台独立机器 · Fortress MCP · 兼容你的技术栈 · 为什么要修补引擎 · Fortress 对比 · 结果 · 配置角色 · 构建与验证 · 参考

快速开始

pip install tilion-fortress                       # or: npm install tilion-fortress
docker run --rm -p 9222:9222 tilion/fortress:latest   # any OS, raw CDP on :9222
from tilion_fortress import Fortress
from playwright.sync_api import sync_playwright

with Fortress() as f:                       # launches the engine on a CDP endpoint
    with sync_playwright() as p:
        browser = p.chromium.connect_over_cdp(f.cdp_url)
        page = browser.new_page()
        page.goto("https://bot.sannysoft.com")
import { Fortress } from "tilion-fortress";
import { chromium } from "playwright";

const f = await Fortress.launch();
const browser = await chromium.connectOverCDP(f.cdpUrl);
const page = await browser.newPage();
await page.goto("https://browserscan.net");

pip 和 npm SDK 会下载预构建且经过 SHA-256 验证的二进制文件(Linux x64、Windows x64)。便携式 tarball、.deb 和 Windows .zip 可在 Releases 获取。

开发者免费使用

v3 对开发者免费,不限制机器、会话或并发数量。只需激活一次:

tilion activate      # sign in with GitHub, Google or email; key saved to ~/.tilion/license.jwt

密钥会在本地离线验证,Fortress 绝不会报告使用情况。未激活时仍可运行,但会使用公开的第一代引擎。用于 CI、Docker 和 Agent 时,请设置 TILION_LICENSE_KEY=<key> 或运行 tilion activate --token <key>;一个密钥即可供整个集群使用。大型组织的生产密钥可在 fortress.tilion.com/pricing 获取。

tilion 命令行工具
命令功能
tilion activate通过一键设备授权流程(浏览器登录)解锁 v3
tilion activate --headless使用相同流程,打印 URL 和代码(适用于 SSH 或远程主机)
tilion activate --token <jwt>无需浏览器即可保存密钥(适用于 CI、Agent)
tilion license status [--json]显示已保存密钥的级别和有效期(脚本可使用 --json)
tilion license refresh在密钥过期前重新签发
tilion license logout删除已保存的密钥并退回到 v1
tilion get [platform]下载适用于此主机的构建版本。tilion get list 可显示所有版本:linux-x64、arm64、armhf、x86、win-x64、mac-arm64、mac-x64
tilion mcp运行 Fortress MCP 服务,提供隐身浏览功能,作为 Agent 工具使用
tilion [--port N]启动引擎并打印 CDP 端点
平台
平台软件包Widevine状态
Linux x64便携式 tarball · Docker · pip / npm是是 已发布
Windows x64便携式 .zip + tillion.cmd 启动器是是 已发布
Linux arm64便携式 tarball(Graviton、密集型云计算集群)不支持是 已发布
Linux x86 · armhf便携式 tarball(32 位 x86 / ARM)不支持是 已发布
macOS(arm64 / x64).app,从源代码构建是从源代码构建

arm64、x86 和 armhf 构建版本不附带 Widevine CDM。

与 AI 助手一起设置

询问 ChatGPT 询问 Claude 询问 Gemini 为 Agent 复制

每次会话都是一台独特的机器

十二个相同的浏览器窗口,标记为同一台机器的十二个副本,逐个变成十二台不同的机器,每台都有自己的屏幕和时钟。

每次启动都会生成一台全新且内部一致的机器:GPU、屏幕、核心数、时区、语言和字体彼此匹配。身份信息通过 IPC 传递到渲染器,因此命令行中不会显示任何信息,而且每个 BrowserContext 都可以拥有自己的身份。在同一二进制文件连续启动 40 次的情况下:

连续启动 40 次不同数量
Canvas 指纹40 / 40
Audio 指纹40 / 40
GPU(WebGL 渲染器)25
屏幕分辨率14
时区(与语言的地理信息一致)23
平台组合31 Windows · 9 macOS

使用 tools/gauntlet.py --runs 40 复现。从单个快照恢复的 64 个克隆组成的集群会达到 48/48 不同,因为 on_restore 会为整个身份重新生成密钥,无需重新启动。

The Fortress MCP

测试版

一个 Model Context Protocol 服务,为 Claude、Codex、Cursor、Windsurf、Cline 或任何 MCP 客户端提供隐匿浏览器,包含 29 个工具,本地运行且免费。普通抓取请求被拦截时,Agent 会调用工具并获取页面。

来自编码 Agent 的请求遇到“验证您是人类”检查并被拦截,随后经由 Fortress 通过检查并访问网站。

pip install "tilion[mcp]"                  # or zero-install: npx -y tilion-mcp
claude mcp add fortress -- tilion-mcp      # Claude Code

对于 Claude Desktop、Cursor(~/.cursor/mcp.json)、Cline 和 Windsurf,将同一代码块添加到客户端的 MCP 配置中:

{ "mcpServers": { "fortress": { "command": "tilion-mcp" } } }
工具
获取被拦截的页面fetch_protected_page · read_page · get_page_html · search_web
结构化数据extract_page(识别架构)· extract_document(PDF/DOCX/XLSX)
整站处理crawl_site(自动处理 SPA)· recon_site_apis(查找私有 JSON API)
操作页面page_elements · click_button · fill_field · press_key · wait_for · evaluate_js
多步骤流程run_browser_task(登录、翻页、无限滚动、结账等)
捕获 / 身份验证screenshot_page · save_page · download_file · save_profile / load_profile
使用自有工具get_stealth_cdp_endpoint:适用于 Playwright / Puppeteer / browser-use 的 CDP URL

完整的工具参考、基准测试和 Agent 技能见 mcp/。

适配你的技术栈

一段 Playwright 脚本,其中一行从 p.chromium.launch() 改为 p.chromium.connect_over_cdp on localhost:9222,其余脚本保持不变。

运行 Fortress(通过 Docker 或 tilion 命令)后,只需修改一行:将 launch() 改为 connect_over_cdp("http://localhost:9222")。

框架连接方式
browser-use(约 70k 星)cdp_url="http://localhost:9222"
Crawl4AI(约 58k 星)CDP 端点
Stagehand(约 21k 星)connectOverCDP
LangChain Playwright 工具包Playwright CDP
Playwright / Puppeteer(Python 和 JS)connect_over_cdp / connect
Fortress MCP + pip install tilion 门面为 Agent 提供工具,底层使用原始 CDP

为什么要修补引擎,而不是页面

JavaScript 隐匿补丁是一个占据原生函数位置的函数,而检测器恰恰会检查这一点:

破绽JS 欺骗为何会被识破
toString 自我暴露原生方法字符串化后为 function get vendor() { [native code] };覆盖后的方法则会暴露自身源码,因此调用一次 .toString() 就能识破。
描述符和 hasOwnPropertygetOwnPropertyDescriptor 会暴露重新定义的属性;对被篡改的函数调用 hasOwnProperty('toString') 会返回 true,而原生函数会返回 false。
failsTypeError原生 getter 在 this 不正确时会抛出特定的 TypeError;简单的替代函数则悄无声息,而这种沉默正是检测信号。

重新获取其他 Realm 中的对象可击败所有主世界补丁。检测器会从另一个 Realm 中获取原始对象,并将其用于你的函数:

const iframe = document.createElement('iframe'); document.body.appendChild(iframe);
const realToString = iframe.contentWindow.Function.prototype.toString;
realToString.call(navigator.__lookupGetter__('vendor')); // returns your source code. Caught.

在 Fortress 中,navigator.vendor 的 getter 就是 C++ getter。它报告 [native code],因为它本身就是原生代码,并且在每个 frame 和 worker 中都相同。Fortress 将 Camoufox 的思路应用于 V8 和 Blink,因此其指纹在设计上就与 Chrome 用户代理匹配。

Bot 检测的四个层级
层级检测特征修复位置Fortress
A:驱动程序 / 二进制文件痕迹cdc_ ChromeDriver 变量、WebDriver 协议表面直接驱动 CDP,跳过 chromedriver是 专为这种驱动方式打造
B:CDP 副作用无论二进制文件多干净,Runtime.enable 都会通过 sourceURL 和初始化脚本痕迹泄露控制 / CDP 客户端层:暂缓 Runtime.enable,使用 Runtime.addBinding 和隔离世界是 无泄露(已在 rebrowser 上验证)
C:指纹表面主框架、iframe、worker 中的 canvas、WebGL、WebGPU、音频、字体、navigator引擎(C++),因为 JS 覆盖会暴露自身是 这就是 Fortress
D:网络 / IP 出口数据中心 ASN、IP 信誉、地理位置与身份特征不匹配使用你的代理(住宅 / 移动),或 Tilion 托管版本部分支持 使用可自托管引擎时需自备代理;Tilion 托管版本提供此功能,可在 tilion.com 加入候补名单

Fortress 是 C 层引擎,设计为可被驱动,因此 A 层和 B 层也能得到保障;接入 D 层 IP 后,还能保持地理信息一致(时区、区域设置、WebRTC)。

Fortress 对比

原版 Playwrightpuppeteer-extra-stealthundetected-chromedriverCamoufox反检测应用¹Fortress v3
欺骗层无JS 注入CDP/配置补丁C++ 引擎(Firefox)C++ 引擎C++ 引擎(Chromium)
toString 返回 [native code]不适用否不适用是是是
重新获取 realm 后仍有效(iframe/worker)否否否是是是
不泄露 Runtime.enable否否部分是是是
引擎 = Chrome / V8(占多数流量)是是是否 Firefox是是
Chromium TLS 特征一致是是是否 Firefox是是
参数级 WebGL + WebGPU 一致性不适用否否部分 不支持 WebGPU不定是
每次启动时的设备群动态性(不同设备)否否否是否 设计上为持久化是 48/48
从快照恢复时重新生成完整身份否否否否否是 on_restore
原生单层 C++ 补丁引擎不适用不适用不适用是否 闭源是 81 项补丁
说明自身的局限不适用不适用不适用是否是
¹ Multilogin / GoLogin / Dolphin / Nstbrowser:闭源引擎补丁、设计上持久化的身份,以及捆绑的住宅网络出口(这是它们相较于 Fortress 的 Layer-D 优势)。

Fortress 基于先前的成果构建:fingerprint-chromium、ChromiumFish 和 CloakBrowser 都更早问世,Camoufox、Multilogin、GoLogin 和 Dolphin 也会修改引擎 C++ 代码。Fortress 的优势在于这些能力的组合:基于 Chromium,原生覆盖面最广;通过 on_restore 实现集群动态变化;以及参数级一致性。它仍有不足之处:IP 网络出口(需自行提供)和超越鼠标移动的行为拟人化能力。

v2 到 v3 的变化
维度v2v3
Chromium 基础版本151 / 152153.0.8010.36
单表面 C++ 补丁~3481
Persona 传输方式命令行参数、每次启动时设置、主机可读取通过 IPC 传递、进程内传输、按上下文隔离
单个二进制中的多身份每个进程一个 Persona按 BrowserContext 隔离
快照恢复重新启动以更改身份通过 on_restore 重新生成完整 Persona 密钥,无需重新启动
集群差异度未测量64 个克隆中 48/48 不同(通过 500 个克隆的压力测试门槛)
Canvas 噪声有种子幂等、跨路径字节级精确、64 位种子、失败时默认拒绝
WebGL仅渲染器字符串(数值不一致)参数级限制 + 扩展 + 字符串,按后端区分
WebGPU不支持 / 会暴露软件后端特征与 Persona 的 GPU 保持一致 + 按克隆变化
字体度量替代字体(约 33 种)154 个字体系列的基础,字体枚举受 Persona 控制
Client-HintsUA 基础信息完整的 Sec-CH-UA + 导航路径上的 Device-Memory
prefers-color-scheme整个集群统一按 Persona 设置(约三分之一为深色)
鼠标移动原始驱动录制的人类轨迹(约 10k 条路径,拟人度约提升 16×)
DRM无 Widevine捆绑真实的 Widevine CDM,已通过 EME 验证

完整发行说明

结果

基准测试:92 个受保护网站、8 种技术栈

测试于 2026-09-28 在美国东部云机器上运行,无头模式,使用数据中心 IP,不使用代理。每种工具都在每个目标上加载两次,每次使用一台全新的机器,之后销毁(共 1,584 台机器)。只有在真实页面成功加载,且未出现质询页或拒绝访问页时,该次运行才计为成功。方法和目标列表:docs/BENCHMARK.md。

技术栈成功率n95% 范围
Fortress86.4%159/18481 到 91
Camoufox74.5%137/18468 到 80
puppeteer-extra + stealth72.3%133/18465 到 78
Brave36.4%67/18430 到 44
nodriver35.9%66/18429 到 43
stock Chrome34.2%63/18428 到 41
patchright34.2%63/18428 到 41
undetected-chromedriver33.7%62/18427 到 41

95% Wilson 置信区间;Fortress 的区间与排名第二的技术栈不重叠。在另外两种技术栈 Camoufox 和 puppeteer-stealth 成功次数均不超过 1/2 的 10 个网站上,Fortress 均取得 2/2;没有任何网站出现 Fortress 得到 0/2、而它们任一取得 2/2 的情况。同日重复测试的得分为 85.3%。

实时检测

无头模式,使用数据中心 IP,运行 v3 二进制文件。使用 tools/gauntlet.py --bundle ./fortress-v153 复现;带日期的重新运行结果见 docs/GAUNTLET_RESULTS.md。

套件原版 ChromiumFortress v3
CreepJS标记为无头模式0% 无头 · 0% 隐匿,工作线程信号一致
bot.sannysoft.com出现红色行0 项失败 · 所有 intoli + PHANTOM_/HEADCHR_ 检查均为绿色 · navigator.webdriver 未定义
browserscan.net检测到机器人“Normal: No bots detected, could be a human” · WebDriver / Selenium / PhantomJS / Headless / CDP / DevTool 均为 Normal
BrowserLeaks · WebGL泄露 SwiftShader 信息未屏蔽的 ANGLE (Intel HD Graphics, Direct3D11),D3D11 参数完全一致
WebGPU (安全上下文)暴露软件后端navigator.gpu 与 persona GPU 一致:适配器身份、限制、子组大小 (已验证)
AmIUnique · pixelscan · iphey标记自动化一致,未标记自动化
rebrowser bot-detectorRuntime.enable 泄露无泄露 · webdriver=false · 初始化脚本干净(原始 CDP)
64-clone fleet共用一个身份48/48 各不相同的 canvas / audio / Math.random(集群门禁)
Cloudflare Turnstile被拦截已通过:真人点击通过了实时挑战(有头模式,数据中心 IP)
README 配图 README 配图 README 配图 README 配图

Fortress 通过 Cloudflare 实时挑战,然后通过 sannysoft 和 BrowserScan 检测

未经剪辑的真实窗口录屏:Fortress 通过 Cloudflare 实时挑战,让 bot.sannysoft.com 全部变绿,并在 BrowserScan 上显示“Normal”。

配置 persona

默认情况下,每次启动都会通过 IPC 提供一个全新且一致的 persona。使用 --uxr-* 开关固定或覆盖任意表面:

--uxr-platform / --uxr-ua-platform / --uxr-ua-os / --uxr-ua-arch / --uxr-ua-bitness
--uxr-ua-platform-version / --uxr-ua-brand / --uxr-hw-concurrency / --uxr-device-memory
--uxr-webgl-vendor / --uxr-webgl-renderer / --uxr-webgl-fullparams / --uxr-webgpu-vendor
--uxr-canvas-seed / --uxr-audio-seed / --uxr-timezone / --uxr-languages / --uxr-color-scheme
--uxr-screen-width / --uxr-screen-height / --uxr-webrtc-policy=disable_non_proxied_udp
环境变量用途
TILION_NO_DEFAULTS=1跳过默认 persona(裸启动)
TILION_TZ / TILION_LANG快速覆盖时区 / 语言

所有标志、环境变量和一致性规则见:docs/UXR_CONFIG.md。

构建与验证

export CHROMIUM_VERSION=$(cat CHROMIUM_VERSION)   # 153.0.8010.36
build/build.sh                         # depot_tools, sync the tag, apply patches, gn gen, ninja
build/rebase-monthly.sh 154.0.XXXX.0   # bump + 3-way apply + rebuild + gauntlet-gate

输出:out/Fortress/chrome。该分支包含 81 个单表面补丁,发布前必须通过 gauntlet 门禁。第一代补丁系列已公开,并可使用同一脚本重新构建。

Fortress 仅通过以下渠道发布:

官方来源
源代码github.com/tiliondev/fortress
Dockertilion/fortress
Pythontilion-fortress
Nodetilion-fortress

每个版本都会附带 SHA256SUMS(SDK 会在安装时进行检查)。请根据发布说明中的摘要验证 Docker 镜像:

BASE=https://github.com/tiliondev/fortress/releases/download/v153.0.8010.36
curl -LO $BASE/fortress-v153-linux-x64.tar.gz
curl -Ls $BASE/SHA256SUMS | sha256sum -c --ignore-missing     # -> OK
docker inspect --format '{{index .RepoDigests 0}}' tilion/fortress:153.0.8010.36

参考

故障排除

仍被 Cloudflare、DataDome 或 Kasada 拦截。 通常是 IP 的问题:网页脚本运行前,数据中心 IP 段就已被标记。请改用住宅或移动代理重试;如果这样就能通过,说明指纹没有问题。Tilion Cloud 在住宅网络出口运行 Fortress(可在 tilion.com 加入候补名单)。

Linux 主机上的指纹看起来不对。 默认 persona 是 Windows,但 TLS 和部分操作系统信号会受主机影响。使用 --uxr-* 让 persona 与出口操作系统匹配,或运行原生 Windows 版本。

macOS。 运行 Docker 镜像,或从源代码构建 .app。

检测器能检测出 gauntlet 未发现的问题。 请确认你使用的是当前 rebase 版本,然后将测试页面通过电子邮件发送至 [email protected]。

常见问题

Fortress 能与 Selenium 配合使用吗? 通过 CDP 驱动它。chromedriver 会添加 Fortress 致力于避免的驱动特征。

它与 puppeteer-stealth、undetected-chromedriver、nodriver 和 patchright 有何不同? 这些工具会修补 JavaScript 或 CDP 层,而 toString 和 realm 重新获取会暴露这些修补;在无头模式下,它们会在用户代理中发送 HeadlessChrome。在基准测试中,它们的加载率为 34% 到 36%(puppeteer-stealth 为 72.3%),而 Fortress 为 86.4%。

它与 Camoufox 有何不同? 两者采用相同的引擎级思路。Camoufox 基于 Firefox 分叉;Fortress 基于 Chromium/V8 分叉(这是占主导地位的引擎),并加入 WebGPU 一致性和 on_restore 集群重新标识。基准测试结果:86.4% 对比 74.5%。

它是 Multilogin、GoLogin、Kameleo、AdsPower 或 Dolphin 的替代品吗? 这些是闭源版本,以持久化配置文件和内置代理的形式出售。Fortress 是一款由你自行运行的引擎,每次启动都会生成新身份,公开第一代补丁,且不含遥测。

它能在无头模式下运行吗? 可以。基准测试使用无头模式;无头和有头启动呈现相同的指纹。

我还需要代理吗? 对于会拦截数据中心 IP 段的网站,需要。无论你使用哪种出口,Fortress 都会确保时区、区域设置和 WebRTC 保持一致。

它是开源的吗?费用是多少? 源代码依据 Fortress Source Available License 1.1 提供;请参阅许可证。

这合法吗? Fortress 用于合法的自动化、测试和公开数据抓取。请遵守各网站的条款和当地法律。

它能永远通过所有检测吗? 不能。检测方式不断变化,因此 Fortress 每月 rebase 到 Chromium,并发布带日期且可复现的 gauntlet。

路线图
  • 提供第一方住宅和移动网络出口,并接入现有的地理一致性功能
  • 增加击键和滚动变化(鼠标移动功能已发布)
  • 将 TLS ClientHello(JA3/JA4)纳入 persona 特征集
  • 发布 Linux arm64 / x86 / armhf tarball(正在推出)和 macOS .app
  • 发布经过代码签名的 Windows .exe 和 macOS .app

v3 已发布:支持按上下文隔离的 IPC persona、on_restore、参数级 WebGL 和 WebGPU、录制的人类鼠标移动、Widevine CDM、原生 Windows 版本、MCP 服务以及 92 个网站的基准测试。

仓库结构
patches/     the first-generation C++ patch series (Fortress Source Available License 1.1)
build/       args.gn, build.sh, apply-patches.sh, rebase-monthly.sh, windows/, macos/
packaging/   tilion launcher, fonts.conf, Dockerfile, .deb + bundle builders
fonts/       222 metric-compatible OS-named font files (154 distinct families, incl. color emoji)
sdk/         python + node (tilion-fortress) prebuilt-binary SDKs
mcp/         the Fortress MCP server (29 tools) and the agent skill
tools/       gauntlet.py, the CreepJS / Sannysoft / BrowserScan CI gate
docs/        UXR_CONFIG (the --uxr-* reference), GAUNTLET_RESULTS, BENCHMARK
贡献

Fortress 不接受外部拉取请求;请参阅 CONTRIBUTING.md。如果发现检测向量或信息泄漏,请将可复现的测试页面通过电子邮件发送至 [email protected]。

许可证

Fortress Source Available License 1.1。 可免费阅读、修改、重新构建和再分发,也可用于任何规模的开发、测试和评估。个人以及累计融资额低于 500,000 美元且年经常性收入(ARR)不超过 300,000 美元的组织可免费用于生产;其他组织需要购买一份统一订阅(fortress.tilion.com/pricing、LICENSE、SUBSCRIPTION-TERMS.md)。此前采用 BSD 许可证的版本保留其 BSD 授权(LICENSE-BSD-LEGACY)。Chromium 和随附字体继续沿用各自的许可证(NOTICE)。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。