Reach — Agent Web Interface
Give any AI agent the ability to browse the web, fill forms, login to services, sign crypto transactions, send and receive email, watch for changes, and make payments. 9 primitives, 2 site skills + template, an intelligent router, and an MCP server.
Quick Start
CODEBLOCK0
Agent Identity
Register a name on ExoHost and get myagent.mfer.one (website) + myagent@mfer.one (email inbox). Free for 5+ character names. Remote inbox API for reading email without running a local server.
Primitives
| Primitive | Purpose | Example |
|---|
| INLINECODE2 | Read any webpage (HTTP or browser) | INLINECODE3 |
| INLINECODE4 |
Interact with pages (click, type, submit) |
reach.act(url, 'click', { text: 'Submit' }) |
|
authenticate(service, method) | Login and stay logged in |
reach.authenticate('github', 'cookie') |
|
sign(payload) | Crypto signing (message, tx, EIP-712) |
reach.sign('hello', { type: 'message' }) |
|
persist(key, value) /
recall(key) | State memory |
reach.persist('count', 42) |
|
observe(target, options, cb) | Watch for changes |
reach.observe(url, { interval: 30000 }, cb) |
|
pay(recipient, amount, opts) | Send ETH/ERC-20/x402 payments |
reach.pay('0x...', '0.01') |
|
see(url) | Screenshot + accessibility tree |
reach.see('https://example.com') |
|
email(to, subject, body) | Send and receive email (mfer.one) |
reach.email('x@y.com', 'Hi', 'Hello') |
Site Skills
- - github — API-first: repos, issues, PRs, code search
- exoskeletons — Onchain: NFT profiles, reputation, ELO
- example.js — Template for writing your own site skills
Key Features
- - CAPTCHA solving — reCAPTCHA v2/v3, hCaptcha, FunCaptcha via CapSolver
- Session recording — Record and replay all interactions
- Form memory — Auto-fill forms on repeat visits
- Error recovery — 5 fallback strategies per interaction (selector, text, role, aria-label, coordinates)
- Webhook server — Receive inbound email, GitHub events, Stripe hooks
- Natural language —
reach.do('search github for solidity') parses and executes - Exoskeleton identity — Gate access by NFT ownership, reputation, or ELO
- MCP server — Expose all primitives as Claude Code tools
Router
Picks the best interaction layer: INLINECODE22
MCP Server
CODEBLOCK1
Tools: web_fetch, web_act, web_authenticate, web_sign, web_see, INLINECODE28
CLI
CODEBLOCK2
Environment Variables
CODEBLOCK3
Reach — 代理网页界面
赋予任何AI代理浏览网页、填写表单、登录服务、签署加密交易、收发电子邮件、监控变化以及进行支付的能力。9个基础操作、2个站点技能+模板、一个智能路由器以及一个MCP服务器。
快速开始
javascript
import { Reach } from reach;
const reach = new Reach();
// 读取网页
const page = await reach.fetch(https://example.com);
console.log(page.content);
// 点击按钮
await reach.act(https://example.com, click, { text: 注册 });
// 登录服务
await reach.authenticate(github, cookie);
// 签署消息
const sig = await reach.sign(hello world);
// 发送电子邮件
await reach.email(client@example.com, 审计完成, 发现3个问题...);
// 监控变化
const watcher = await reach.observe(https://api.example.com/price, {
interval: 60000,
field: data.price,
threshold: 100,
direction: above,
}, (event) => console.log(价格提醒!, event));
// 发送ETH
await reach.pay(0x1234..., 0.01, { token: USDC });
// 自然语言
await reach.do(在github上搜索solidity审计工具);
await reach.close();
代理身份
在ExoHost上注册名称,获取myagent.mfer.one(网站)+ myagent@mfer.one(电子邮箱收件箱)。5个字符以上的名称免费。提供远程收件箱API,无需运行本地服务器即可读取电子邮件。
基础操作
| 基础操作 | 用途 | 示例 |
|---|
| fetch(url) | 读取任意网页(HTTP或浏览器) | reach.fetch(https://example.com, { format: json }) |
| act(url, action, params) |
与页面交互(点击、输入、提交) | reach.act(url, click, { text: 提交 }) |
| authenticate(service, method) | 登录并保持登录状态 | reach.authenticate(github, cookie) |
| sign(payload) | 加密签署(消息、交易、EIP-712) | reach.sign(hello, { type: message }) |
| persist(key, value) / recall(key) | 状态记忆 | reach.persist(count, 42) |
| observe(target, options, cb) | 监控变化 | reach.observe(url, { interval: 30000 }, cb) |
| pay(recipient, amount, opts) | 发送ETH/ERC-20/x402支付 | reach.pay(0x..., 0.01) |
| see(url) | 截图+无障碍树 | reach.see(https://example.com) |
| email(to, subject, body) | 发送和接收电子邮件(mfer.one) | reach.email(x@y.com, Hi, Hello) |
站点技能
- - github — API优先:仓库、问题、拉取请求、代码搜索
- exoskeletons — 链上:NFT个人资料、声誉、ELO评分
- example.js — 编写自定义站点技能的模板
主要特性
- - 验证码解决 — 通过CapSolver解决reCAPTCHA v2/v3、hCaptcha、FunCaptcha
- 会话录制 — 录制并重放所有交互
- 表单记忆 — 重复访问时自动填写表单
- 错误恢复 — 每次交互5种回退策略(选择器、文本、角色、aria标签、坐标)
- Webhook服务器 — 接收入站电子邮件、GitHub事件、Stripe钩子
- 自然语言 — reach.do(在github上搜索solidity) 解析并执行
- 外骨骼身份 — 通过NFT所有权、声誉或ELO评分控制访问权限
- MCP服务器 — 将所有基础操作暴露为Claude Code工具
路由器
选择最佳交互层:API > HTTP > 浏览器 > 视觉
MCP服务器
bash
node src/mcp.js
工具:webfetch、webact、webauthenticate、websign、websee、webemail
命令行界面
bash
node src/cli.js fetch https://example.com
node src/cli.js act https://example.com click 注册
node src/cli.js do 在github上搜索solidity工作
node src/cli.js inbox --unread
node src/cli.js replay
node src/cli.js webhook --port 8430 --on /github
环境变量
PRIVATE_KEY=0x... # 用于签署/支付的钱包私钥
RPC_URL=https://... # RPC端点(默认:Base主网)
RESENDAPIKEY=re_... # 通过Resend发送电子邮件
CAPSOLVERAPIKEY=CAP-... # 验证码解决
GITHUBTOKEN=ghp... # GitHub API访问