Rove

io.github.noncelogic由 GitHub 帳號 noncelogic 發布v1.18.0更新於 Nov 3, 2026

Rove — supervised browser for AI agents. Your agent drives; a human watches, takes over.

已驗證Streamable HTTP可網頁執行網頁搜尋與抓取瀏覽器自動化

概覽

AI 產生的概覽

Rove 為 AI 助理提供託管的 Chromium 瀏覽器,由助理操作、真人即時觀看並可接管,之後再交還控制權。

可以做什麼
  • 啟動、列出與關閉受監督的瀏覽器工作階段,並產生一次性觀看連結供他人觀看或接管。
  • 瀏覽頁面、讀取無障礙樹、截圖、點擊、填寫表單、捲動、讀取元素文字並執行 JavaScript。
  • 管理分頁:列出、切換、關閉以及等待彈出視窗。
  • 處理登入:在不暴露憑證的情況下填入已儲存的帳號密碼與一次性驗證碼,請求人工協助,並連接支援個人代理協定的網站。
  • 分段列出並取得下載檔案,在工作階段崩潰後還原頁面。
  • 檢視或刪除瀏覽器設定檔、瀏覽紀錄與通行金鑰,並查詢帳戶方案、額度與購買紀錄。
適用情境
適合助理需要操作需要登入、多步驟表單或人工確認的真實網站,且希望有人能即時觀看並介入的情境。也適用於一次性的結構化頁面擷取與下載檔案收集。
執行需求
可使用遠端端點,或在本地以 stdio 執行 npm 套件。需要 Rove API 金鑰,透過 Authorization 標頭以 Bearer 權杖傳送,或使用 ROVE_API_KEY 環境變數;沒有金鑰時可用 authenticate 工具透過電子郵件魔法連結登入。以 OAuth 連接的應用程式已登入。受監督工作階段需要有效金鑰,使用時會消耗付費額度。
安裝前請注意
此金鑰可存取保存了 Cookie、紀錄與通行金鑰的瀏覽器設定檔,相關工具還能刪除設定檔、紀錄或通行金鑰。點擊與填寫會作用於真實網站,可能送出、刪除或購買;evaluate 可變更頁面上的任何內容。buy_credits 可能向帳戶擁有者已儲存的信用卡扣款。觀看連結與准入碼僅一次性有效,只應發給預期的人。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Rove,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.noncelogic%2Frove/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。

{
  "mcpServers": {
    "rove": {
      "type": "http",
      "url": "https://api.roveapi.com/mcp"
    }
  }
}

README

該儲存庫沒有 README。

工具

42

start_supervised_session

Start supervised browser session

Start a supervised browser session: a hosted Chromium browser your agent drives while a person can watch live, take exclusive control and hand it back. It signs in with the browser profile this API key keeps, so cookies and sign-ins carry over between sessions. Next, call create_viewer_grant to get the person a viewer link. While the person holds control, agent actions are refused; after they hand back, call get_a11y_tree or screenshot before acting again. Later tools use this session unless you pass session_id. viewport_mode defaults to follow-human; use fixed when the page layout must stay at the agent viewport. Charged per minute. Needs a live key (rvp_live_).

輸入參數egressviewport_mode

create_viewer_grant

Create viewer link

Create a one-time, origin-bound viewer link for a supervised session, for the person who will watch and take over. Give viewer_url to that person (one click opens the session). The admission_code in it works once and expires after expires_in_seconds. Never send passwords or other site credentials through chat: the person signs in themselves, in the viewer.

輸入參數session_id

request_human

Request human help

Pause a supervised session and ask a person to help. Explain what they need to do in reason. Returns waiting_for_human, the reason, human_wait_expires_at and a one-time viewer_url to give the person. Agent actions are refused until they return control. Repeating this request renews the viewer grant without extending the wait deadline.

輸入參數reason必填session_id

navigate

Open URL

Open a URL in the session's browser and return the final URL and page title after redirects. In a supervised session the person watching sees the page. For a parked challenge (challenge_parked), use navigate on the same session to poll every 10 to 60 seconds with backoff, never in a tight loop. With no session_id and no active session, it creates an ordinary session that no one can watch or take over; call start_supervised_session first when a person may need to step in, for example to sign in. API docs: https://roveapi.com/docs.

輸入參數url必填page_idsession_idtimeout_mswait_until

get_a11y_tree

Read page

Read the current page's content and controls, with element refs (such as e5) that click, fill, get_text and screenshot accept. After a person hands a supervised session back, this or screenshot is the fresh observation required before the next action. The page comes back as an accessibility tree: roles, names, values and states. On large pages it scopes itself to the main content; selector, max_depth, max_chars, visible_only and exclude_selectors narrow it further.

輸入參數framepage_idselectormax_charsmax_depthsession_id必填visible_onlyexclude_selectors

screenshot

Take screenshot

Capture the current page, or one element, as a PNG or JPEG. In a supervised session this is, like get_a11y_tree, a fresh observation after a person hands control back. With no session_id and no active session, pass url instead for a one-shot capture in a throwaway browser. API docs: https://roveapi.com/docs.

輸入參數refurlframeformatpage_idselectorfull_pagesession_id

click

Click element

Click an element by CSS selector, accessible label or a11y tree ref. A click can submit, delete or buy on the site, as a person clicking would. In a supervised session, a click that opens a popup makes the popup the current page.

輸入參數refframelabelbuttonpage_idselectorsession_id必填click_countwait_after_ms

fill

Fill form field

Type text into a form field, found by CSS selector, accessible label or a11y tree ref. By default it clears the existing value first. Never fill in passwords or other credentials you were sent through chat; in a supervised session, hand the sign-in to the person in the viewer.

輸入參數refframelabelvalue必填page_idselectorsession_id必填clear_first

fill_credential

Fill saved credential

Fill saved username and password fields in a supervised session without returning credential values. etld_plus_one identifies the saved credential site and must match the target page, including private suffixes. Requires agent control; frame targeting is refused. Optional selectors override the default username/email and password inputs.

輸入參數framepage_idsession_idetld_plus_one必填password_selectorusername_selector

fill_otp

Fill saved OTP

Fill the current six-digit TOTP (SHA-1, 30-second step) into the focused main-page input in a supervised session without returning the code or seed. etld_plus_one identifies the saved credential site and must match the target page, including private suffixes. Requires agent control; frame targeting is refused.

輸入參數framepage_idsession_idetld_plus_one必填

interact

Click or fill by selector

Click an element or fill a field by CSS selector, as one tool: action is click or fill, and params carries selector (and value, for fill). click and fill take the same actions with labels, refs, frames and pages; prefer them.

輸入參數action必填paramssession_id必填

get_text

Read element text

Read the text of one element, such as a price, a heading or a status message, by CSS selector or a11y tree ref.

輸入參數reftrimframepage_idselectorsession_id必填

scroll

Scroll page

Scroll the page, or one scrollable element, in a direction, for example to load more content or reach elements below the fold.

輸入參數refframeamountpage_idselectordirection必填session_id必填

evaluate

Run JavaScript

Run a JavaScript expression in the page and return its result as JSON. The script can read or change anything the page can, including submitting forms. Refused on a site's pages while a Poppy Session with that site is connected (see poppy_status).

輸入參數page_idexpression必填session_id必填

extract_schema

Extract fields from a URL

One-shot and unsupervised: open a URL in a throwaway browser and, for each key in schema, return the text that follows that key on the page (as in "Price: $10"), or null. Nothing persists and no one can watch; for pages behind a sign-in, start a supervised session and read them with get_a11y_tree or get_text. API docs: https://roveapi.com/docs.

輸入參數url必填schema必填wait_for_selector

list_downloads

List downloads

List this session's captured downloads as artifacts, with id, name, content_type, file_size_bytes, url and expires_at, plus download_errors for refused or failed captures. Use get_download with an artifact id to fetch its bytes. Defaults to this connection's active session.

輸入參數session_id

get_download

Fetch download

Fetch a captured download using its artifact_id from list_downloads, in chunks of at most 1 MiB. Returns session_id, artifact_id, content_type, data_base64, offset, total_bytes and next_offset. Decode each chunk separately and concatenate the bytes. Repeat with offset set to next_offset until next_offset is null. Defaults to offset 0 and this connection's active session.

輸入參數offsetsession_idartifact_id必填

list_pages

List open pages

List the pages open in this session's browser, with page ids, opener, URL, title and status, and which page is current. Popups the page opened appear here. Does not count as a fresh observation.

輸入參數after_seqsession_id必填

switch_page

Switch page

Make another open page current. Later actions without page_id run on it, and in a supervised session the viewer shows it.

輸入參數page_id必填session_id必填

close_page

Close page

Close an open page. If it was current, the session returns to the page that was current when it opened. The last open page cannot be closed.

輸入參數page_id必填session_id必填

wait_for_popup

Wait for popup

Wait for a popup opened by your last navigate, click, fill, scroll or evaluate, even one that has already opened, and return its page_id. In a supervised session the popup becomes current. In other sessions, call switch_page or pass page_id. A popup Rove blocks answers popup-blocked at once instead of waiting. After a human returns control, a popup they opened counts; pass after_seq to wait for a newer one.

輸入參數after_seqsession_id必填timeout_ms

poppy_connect

Connect to a Poppy site

Declare this supervised session to a site that takes part in the Personal Agent Protocol (Poppy) as the person's agent: Rove reads https://<site>/.well-known/poppy.json, starts a signed-out Poppy Session and joins the browser to it, so the site admits the session instead of challenging it. A site without a valid poppy.json answers poppy-not-participating and is browsed as usual. While connected, changes (any request that isn't GET, HEAD or OPTIONS) and live-update sockets on the site are refused until the person signs in with poppy_sign_in and approves them. If this browser profile already holds the site's cookies or saved data, the answer is poppy-company-cookies-present: ask the person, then call again with replace_company_cookies: true. Follow next in every answer.

輸入參數origin必填scopespage_idreturn_tosession_idreplace_company_cookies

poppy_sign_in

Sign in to a Poppy site

Ask the person to sign in to a connected Poppy site and approve permissions for you (default poppy:read; poppy:write allows changes). Rove opens the site's own sign-in in a separate sign-in window in the supervised viewer; the person signs in there themselves, and you never see their password, codes or tokens. Then send the person a viewer link (create_viewer_grant), tell them what next says, and check poppy_status for the outcome.

輸入參數scopessession_idpoppy_session_id必填

poppy_status

Show Poppy connections

Show this supervised session's Poppy Sessions: their state, the permissions granted and in force, the requests Rove refused, the latest sign-in's outcome, and next, what to do now. Changes nothing.

輸入參數after_seqsession_idpoppy_session_id

poppy_disconnect

Disconnect a Poppy site

End a Poppy Session. Rove removes the site's cookies and saved data from this browser before the site is used without Poppy again (poppy_status shows cleanup done). With sign_out: true it also deletes the person's stored approval for the site and revokes it there.

輸入參數sign_outsession_idpoppy_session_id必填

restore_pages

Restore or dismiss pages

Answer a supervised session's restore offer. When the previous session on this profile ended unexpectedly (crash, hang or restart), list_pages and the session status carry restore.available and the pages that were open; nothing reopens until you choose. restore reopens them (each through the target policy) and makes the recorded current page current; dismiss drops the offer.

輸入參數decision必填session_id

list_history

List browsing history

List the pages this API key's supervised browser profile visited, newest first, across sessions: URL, title, time, session id and whether the agent or a human held control. Sign-in callback codes and tokens are never stored. To reopen an entry, navigate to its url.

輸入參數limitquerybefore

clear_history

Clear browsing history

Delete this API key's supervised browsing history. Cookies, storage and open-pages restore are kept. Refused (profile-busy) while a supervised session on this key is running.

無需輸入參數。

delete_profile

Delete browser profile

Delete this API key's whole supervised browser profile: cookies, storage, history and any restore offer. The next session starts signed out. Refused (profile-busy) while a supervised session on this key is running.

無需輸入參數。

list_passkeys

List passkeys

List this API key's browser profile passkeys by site, including credential IDs and account labels. Private keys and other key material are never returned. No browser session is required.

輸入參數rp_id

delete_passkey

Delete passkey

Delete one passkey from this API key's browser profile by its credential_id from list_passkeys. Returns deleted: false if absent. Refused (profile-busy) while a supervised session on this key is running; close it first.

輸入參數credential_id必填

list_sessions

Show active session

Show which browser session this MCP connection is using: the session later tools act on when you omit session_id.

無需輸入參數。

close_session

Close session

End a browser session and release its browser; its open pages close. A supervised session's browser profile (cookies, history) is kept for the next session; delete_profile removes it. When it was this connection's active session, the next navigate or start_supervised_session starts a new one.

輸入參數session_id必填

authenticate

Sign in by email

Sign in to Rove with your email when no API key is configured: sends a magic link, and once you open it this connection uses your live key. Supervised sessions need a live key; test keys (rvp_test_) run mock actions. Apps connected through OAuth are already signed in and cannot call it.

輸入參數email必填

account_info

Show account

Show this account's plan, credit balance and whether this key may buy credits.

無需輸入參數。

buy_credits

Buy credits

Without arguments: shows Rove credit prices and whether this key may buy. With item_id: buys that credit pack and may charge the account owner's saved card, or returns a payment link for a person, within limits the owner set. Pass the same idempotency_key when retrying the same purchase. Without idempotency_key, the same call again in this MCP session returns the first purchase for 10 to 20 minutes; to buy the same pack twice on purpose, pass a new idempotency_key each time.

輸入參數item_idpaymentidempotency_key

get_credit_catalogue

Show credit prices

Shows Rove credit packs, subscription tiers and what an action or supervised minute costs. Never buys.

無需輸入參數。

get_credit_balance

Show credit balance

Shows this account's credits, exact to the millicredit, and whether this key may buy more and within what limits.

無需輸入參數。

get_purchase

Show purchase

Shows one purchase this key made and what to do next (for example, a payment link for a person).

輸入參數purchase_id必填

list_purchases

List purchases

Lists purchases this key made, newest first.

輸入參數limitcursor

cancel_purchase

Cancel purchase

Cancels an unpaid purchase this key made, so its payment link stops working.

輸入參數purchase_id必填

simulate_purchase

Simulate purchase (test keys)

Test keys only: moves a simulated purchase to paid, expired, failed or needs-authentication. Never charges.

輸入參數outcome必填purchase_id必填

版本歷史

4
  1. v1.18.0最新Oct 29, 2026
  2. v1.15.1Oct 26, 2026
  3. v1.15.0Oct 26, 2026
  4. v1.10.0Oct 13, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。