Unbrowse 网站 API 客户端
把网站的第一方 API 转成可验证的任务调用,让智能体免用浏览器完成网页操作。
- Star 数
- ★ 781
- 最近更新
- 3 天前
- License
- MIT
- 主语言
- TypeScript
- FA 评分
- 56/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台ChatGPT · Codex · Claude Code
- 费用
- 有免费版,另有付费云服务
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 需要从 Hacker News 等网站获取信息、并希望通过任务调用而非浏览器操作的开发者。
- 不适合
- 需要所有浏览和 API 请求都在本地执行的团队
- 不愿使用 Unbrowse 托管服务或完成 OAuth 登录的团队
- 源码审查
- 56/100 · 缺口较多
这个 Agent 能做什么,适合哪些场景?
Unbrowse 是面向托管 Unbrowse 服务的开源客户端,提供 `@unbrowse/sdk` TypeScript REST 客户端和基于它构建的 `unbrowse` CLI。它先搜索用户私有能力,再查找已编译网站工具的公共注册表;匹配时重放网站自己的第一方 HTTP 请求,并等待经过验证的结果。若没有匹配能力,智能体可通过托管 MCP 的录制云浏览器完成任务,或由用户上传两份 HAR 录制文件供 `unbrowse learn` 编译成可复用能力。CLI 也可通过 `unbrowse mcp` 将托管 MCP 转为本地 stdio 代理;服务、能力注册表和录制云浏览器仍由 Unbrowse 托管。README 未列出定价细节,要求查看账户方案和 `unbrowse usage`。
unbrowse discover <query> 搜索个人能力及公共网站注册表;unbrowse run <task…> 执行任务并等待验证结果,可用 --set k=v 传入参数。unbrowse resume <runId> k=v… 在同一运行中补充所需输入,unbrowse scrape <url> 将单页读取为 Markdown,unbrowse index <url> 为网站编制能力,unbrowse learn a.har b.har 将两份 HAR 录制编译为能力。@unbrowse/sdk 的 Unbrowse 类调用 REST API;智能体可连接 https://unbrowse.ai/mcp,或通过 unbrowse mcp 使用本地 stdio 代理。
- 需要从 Hacker News 等网站获取信息、并希望通过任务调用而非浏览器操作的开发者。
- 要让智能体调用没有官方 API 或 MCP 的网站第一方 API 的团队。
- 希望先录制两份 HAR,再把重复网站流程编译为单次能力调用的自动化工程师。
- 使用支持 MCP 的智能体客户端,并愿意连接 Unbrowse 托管服务的用户。
- 需要用 TypeScript 将任务运行接入自有程序的开发者。
如何安装或部署这个 Agent?
CLI 和 SDK 的安装版本应按安装指南使用固定的托管客户端发行版;README 提醒 npm latest 可能仍面向旧服务。完整安装命令未包含在所给材料中。智能体可按下列命令添加托管 MCP,然后在客户端完成 OAuth 登录:
claude mcp add --transport http unbrowse https://unbrowse.ai/mcpREADME 要求 Node 18.17+ 用于构建 CLI,但没有明确说明预构建 CLI 或 SDK 的最低运行时要求。
如何使用这个 Agent?
CLI 登录使用浏览器 OAuth,或提供 API key。密码保存在 Unbrowse 密码管理器中,CLI 不接收密码。
unbrowse login
unbrowse discover "top stories on Hacker News"
unbrowse run "top stories on Hacker News"TypeScript SDK 从 UNBROWSE_API_KEY 读取密钥;示例通过 Unbrowse 发起任务并等待结果:
import { Unbrowse } from "@unbrowse/sdk";
const ub = new Unbrowse(); // UNBROWSE_API_KEY
const run = await ub.wait((await ub.run({ task: "top stories on Hacker News", idempotencyKey: crypto.randomUUID() })).runId);这个 Agent 有哪些优点和局限?
- 匹配能力会重放网站第一方 HTTP 请求,无需浏览器,并且运行成功以结果验证为条件。
- 支持两份 HAR 学习流程,可将录制请求编译为后续可复用的能力。
- 提供 CLI、TypeScript REST SDK、托管 MCP 和本地 stdio MCP 代理等明确接口。
- 核心服务、公共能力注册表及录制云浏览器是托管服务;材料没有提供自托管部署方式。
- 首次连接 MCP 需要 OAuth;CLI 或 SDK 需要按安装指南选择托管客户端发行版,
npm latest可能不兼容当前服务。 - 成本取决于账户方案和配额;所给材料未说明具体价格或免费额度。
- 未命中已有能力时,需要通过云浏览器学习或准备两份 HAR 录制,流程并非每个网站都能直接调用。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Unbrowse 网站 API 客户端 当前 | 56 · 缺口较多 | 云服务 / SaaS免费版 + 付费版 | ★ 781 | 3 天前 | TypeScript | ChatGPT · Codex · Claude Code |
| Uni-CLI | 72 · 存在缺口 | 命令行工具免费 | ★ 274 | 7 天前 | TypeScript | ChatGPT · Codex · Claude Code |
| OpenTabs | 49 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 967 | 2 个月前 | TypeScript | Claude Code |
| Stock SDK | 71 · 存在缺口 | 代码库 / SDK免费 | ★ 2k | 6 天前 | TypeScript | ChatGPT · Codex · Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示 CLI 凭据文件设为 0600,站点密码由服务器保存,cookie 同步按站点指定且全站同步需显式确认;因此最小权限和敏感数据处理有实质措施,但同步仍会读取并上传浏览器会话 cookie,不能得满分。命令文档区分本机与 Unbrowse 出口,便于理解数据流;但请求会重放站点第一方 API,也可能使用云浏览器,外部影响说明有限。daemon 可停止并移除配置和状态,但已发送的站点请求或上传 cookie 无法据此撤回。安全联系渠道明确,发布者身份仍未获验证,故来源归属证据有限。依赖有锁文件和 CI,但材料未显示依赖审计或漏洞处置机制。
README、CLI 与测试材料对命令、验证结果、退出码及输入补充流程相互呼应;测试使用本地 stand-in API,CI列出多包构建与测试。错误提示覆盖未登录、网络不可达、上游错误和输入要求。仍扣分于核心能力依赖托管服务可用性,且静态材料不能证明真实运行表现。
材料覆盖 CLI、SDK、托管 MCP、插件及自定义连接器,并提供本机或托管出口选项;能力范围也由 CLI、REST 和 MCP 文档分开说明。扣分原因是主要受众与适用场景仍较宽泛,自动触发或不适用情形缺少明确规则;环境支持有安装指引,但 cookie daemon 的服务平台支持有限,测试所示 Windows 服务计划不支持。
文档按安装、CLI、MCP、SDK、故障排查及开放范围组织,安装步骤和示例具体,LICENSE 提供完整 MIT 条款。扣分原因是 README 提及 npm latest 可能指向旧服务,版本更新路径存在需要读者留意之处;给定材料未见完整变更日志,维护责任仅能从安全邮箱和 CI 发布流程部分判断,且发布者未验证。
项目提供站点能力发现、请求重放、学习编译、抓取和多客户端接口;CLI 可输出 JSON、Markdown、退出码及后续命令,结果通过验证才算成功。扣分原因是性能与成本改善幅度仅为 README 中的主张,材料未提供支持该幅度的测量细节;托管服务、OAuth 和账户配额带来使用成本与依赖。
README 的功能主张有 CLI 测试、CI 工作流和安全文档等材料支撑,功能与数据流可追到具体文件内容;但这些材料主要属于同一仓库,独立交叉印证有限。扣分原因是性能数字及服务端密码处理等描述主要是仓库自身声明,静态审查无法独立确认,故事实与推断边界仅部分清楚。
- cookie 同步会上传浏览器会话 cookie;开始同步前确认站点范围,尤其是 --all-sites。
- 这是托管服务的客户端;核对出口位置、账户配额以及所用版本与服务端的兼容性。
常见问题
是否必须使用浏览器?
首次使用需要什么凭据?
UNBROWSE_API_KEY 读取密钥。任务失败或需要补充输入时会怎样?
unbrowse resume <runId> k=v… 回答同一运行提出的问题。网站没有现成能力时如何添加?
unbrowse learn a.har b.har 上传两份 HAR 录制并编译能力。