Skip to main content
Glama

Kav-FastwebAgent

繁體中文 | English | 简体中文

🌐 圖文說明網站:https://kav.kaiwu.com.tw

常做的網頁查詢,說一次就變成「流程」;之後一句話,本機約 6 秒跑完,結果由程式核對過。

叫 AI agent 幫你查高鐵,它會看截圖、點一下、再看截圖……每次都從頭摸索一遍:兩分鐘,將近百萬 token。 可是你每週查的都是同一個網站、同一張表,只是日期和站名不同。

Kav 的做法是:第一次由 Claude 看懂網頁、寫成一份「流程」,試跑給你確認;之後同樣的事直接在你的 Mac 上用專屬 Chrome 執行, 程式負責確認「真的查到了」;需要語意判斷(從列表挑哪一筆)時,簡單的題目可交給本機小模型 Kev(選配),其餘交回給 Claude。網站改版壞了,你只要說「結果不對」,Claude 會修好再回報。

同一句話「幫我查 10/12 下午三點以後台中到台北的高鐵班次」。上:Kav 流程;下:Claude in Chrome 一步步操作。2026-09-29 實測,兩邊答案都和官網一致。

它能幫你什麼

如果你不寫程式

你只要會說話,再判斷結果對不對。

  • 重複的查詢一句話完成:高鐵時刻、今天匯率、幾家電商比價、包裹追蹤、各種「填表 → 查詢 → 讀結果」的網頁。

  • 結果附證據:每次都有截圖;查不到、要登入、被網站擋,它會直接說原因,不會假裝做完。

  • 壞了不用找工程師:說「結果不對,應該是…」,Claude 自己修好流程、重跑、再告訴你改了什麼。

如果你已經在用 Claude Code / Codex

你現在的痛點

用 Kav 之後

叫 agent 操作網頁很慢,每次都在看截圖、試錯

固定的網頁動作變成流程,本機直接跑。高鐵查詢約 22 秒 vs 116 秒(約 5 倍)

一次網頁任務燒掉幾十萬到上百萬 token

同一題輸入 token 17–27 萬 vs 77–128 萬(約 4 倍);抓資料不經過模型,判斷題只把抓好的文字交給模型

agent 說「完成了」,其實頁面還沒載完、讀錯欄

「完成」由程式判斷:載入偵測、送出後讀回確認、每格附欄名、日期要是今天、價格回商品頁再核對一次

寫爬蟲要工程師,網站一改版就壞

流程是資料(JSON),不是程式;壞了 Claude 照固定方法修

擔心 agent 亂點:登入、付款、繞過驗證

這些禁止規則寫在本機程式裡,不交給模型判斷

適合 / 不適合

適合

不適合

多步驟、會重複做的網頁動作:填表查詢(時刻表、包裹、查詢系統)、多站搜尋比對

只做一次的事、單純打開一頁看看(直接請 Claude 用 K-Browser 打開看就好;2026-09-29 用 Claude in Chrome 實測台銀匯率,兩邊都約 20 秒)

固定網址讀資料,而且要確認是最新的(今天的匯率、公告)

登入、付款、下單、解驗證碼(不做,這是設計)

要登入才看得到的網站:裝了 K-Browser,流程就跑在你自己的 Chrome,用你本來的登入

擋自動化的網站(例:蝦皮)、遊戲、非網頁的桌面程式

Related MCP server: Render & Verify MCP

實際做過的例子

高鐵時刻(填表查詢):「查 10/12 下午三點以後台中到台北的高鐵」→ 約 6 秒,Kev 呼叫 0 次。

高鐵查詢結果截圖

台銀今天匯率(讀固定網頁、檢查是不是今天的):使用者一句「幫我做一個流程:查台灣銀行今天的美金跟日圓匯率」, Claude 從零寫出流程,第一次試跑就通過(約 36 秒)。使用者再說「加上檢查是不是今天的」,之後頁面上的掛牌日期不是今天,就會回報「還沒掛牌」,不會拿舊資料充數。

台銀牌告匯率截圖

四家電商比價(搜尋 + 語意判斷):PChome / momo / Yahoo / 酷澎同時搜尋。「主機」和「主機 + 遊戲組合包」、配件、福利品的差別由本機 Kev 判斷。 Switch 2 一趟 5.6–7.8 秒,Kev 呼叫 18–31 次、約 6–11 千 token(全在本機)。最低價還會打開商品頁再核對一次。

酷澎搜尋結果截圖

  • 對照組:同一句話分別交給「Kav 流程」和「Claude in Chrome 一步步操作」,各開全新 Claude Code session。高鐵 Kav 3 次、對照 4 次;台銀各 1 次。樣本還小,5 倍只來自高鐵一個網站。

  • 建立流程是一次性成本(台銀約 36 秒、3 次工具呼叫);修一次壞掉的流程約 1.2–2.6 萬輸出 token。修流程目前只在一個網站、兩種壞法上盲測過。

  • 高鐵、匯率這兩個流程完全沒用到 Kev,它們的速度來自「流程 + 本機程式」;Kev 目前只在比價這種需要語意判斷的流程出力。

  • Kev 是選配,不是賣點。2026-10-07 在 591 租屋列表(30 筆、18 題口語需求)實測「挑哪一筆」:Kev 零錯選、該停的全停,但兩個條件並列或「最便宜」這類題目都會停下,唯一解只答對 4/11;Claude 讀同一份文字全對。抓資料這段引擎 31 毫秒,Claude 自己開瀏覽器做同一件事 21–162 秒、每題 45–91 萬 token。所以省時省 token 的是「引擎抓資料」,判斷題最划算的做法是交給 Claude;Kev 只在單一屬性的題目、或要離線時有用。紀錄:.flightwake/records/261007-pick-judgment-experiment.md。2026-10-25 改成「兩個條件拆開各問一次、由程式取交集,最便宜由程式讀數字排序」之後,同一組題目唯一解答對 8/11,仍然零錯選,該停的 5 題全停(.flightwake/records/261025-kav-pick-stage0.md)。

  • 完整紀錄在 .flightwake/records/(260929-control-experiment-and-demo、260929-kev-usage-accounting)。

它怎麼運作

第一次用說的建立流程;之後每次一句話在本機跑

  • Claude:聽懂你的需求、寫流程、流程壞了負責修。

  • Kav(本機程式):用 Chrome 執行流程(預設經 K-Browser 跑在你自己的 Chrome;明確設定才改用 Kav 的專屬 Chrome),判斷頁面載好了沒、欄位有沒有填進去、結果是不是真的出現;做不到就回報 needs_help 附原因和截圖。

  • K-Browser(另一個專案,建議安裝):把你自己的 Chrome 安全地借給 agent 的橋接。Kav 的流程跑在那裡、用你本來的登入;Claude 也用 K-Browser 的工具親自看網站(寫流程前探索、流程抓不到時檢查)。

  • Kev(本機小模型):只回答模糊的判斷題,例如「這個商品是主機本體還是組合包?」。

適合的電腦

Kav 本身(Chrome + 本機程式)很輕,吃資源的是本機小模型 Kev。先看你要跑的流程需不需要 Kev:

你要跑的流程

需要 Kev 嗎

建議配備

填表查詢、讀固定網頁(高鐵、匯率)

不需要

任何跑得動 Chrome 和 Claude Code 的 Mac

比價、需要判斷「是不是同一個東西」

需要

Apple Silicon(M1 以後)Mac,32GB 記憶體跑 Kev-4B

選哪個 Kev

模型

硬體(Kev 官方標示)

準確率(Kev 官方評測,沒訓練過的題型)

建議

Kev-0.8B

任何 Apple Silicon Mac

0.648

16GB 的 Mac 可以試;Kav 還沒用它實測過

Kev-4B

32GB Mac

0.817

預設,Kav 的實測都用它

Kev-9B

32GB Mac

0.822

比 4B 準一點點、模型大一倍,一般不需要

Kev-27B

80GB 資料中心 GPU

0.848

沒有 Mac 版本

換模型只要改啟動指令的 --run,例如 --run jaredpalmer/kev-0.8b,Kav 不用改設定。

我們的實測機器:Apple M5 Max、36GB 記憶體。Kev-4B 自動走 MLX(bf16),執行中約佔 4.5GB 記憶體;比價一趟 4 個網站並行,Kev 呼叫 18–31 次。

Claude 那端:我們的實測都用 Claude Opus 5.5。跑已經存好的流程很省(只要填參數);寫新流程和修流程比較吃模型能力,其他模型還沒測過。

Mac 要注意的

  • Apple Silicon(M1 以後)才建議跑 Kev:Kev 在 Apple Silicon 上自動用 MLX 加速。Intel Mac 沒有 MLX,只能用 CPU 跑,會很慢;不跑 Kev 的流程不受影響。

  • Chrome 要裝在預設位置(/Applications/Google Chrome.app);裝在別的地方就設定 KFW_CHROME 指向它。

  • Kav 會另外開一個 Chrome 視窗(專屬設定檔、除錯埠 9333),不會動到你平常的 Chrome。

Windows 要注意的(還沒實測)

Kav 目前只在 Mac 上測過。程式沒有綁死 macOS,但以下幾點一定要處理:

  • Chrome 位置:預設路徑是 Mac 的,要設定 KFW_CHROME,例如註冊 MCP 時加上 -e KFW_CHROME="C:\Program Files\Google\Chrome\Application\chrome.exe"。

  • 資料夾:截圖、流程、Chrome 設定檔會放在 %USERPROFILE%\.kav-fastweb\。

  • Kev 要有 NVIDIA 顯示卡(CUDA):Windows 上沒有 MLX,沒有 GPU 只能用 CPU 跑,實際上太慢。Kev 官方只標示資料中心 GPU(L4 / L40S / H100),一般遊戲顯示卡能不能跑 4B 我們沒測過。 沒有合適的顯示卡,可以只跑不需要 Kev 的流程;或者在 K-Browser 把模型換成 TypeSafe 的 JEV(k-browser model jev,見「登入區」)。KFW_KEV 只接受這台電腦上的位址(另一台電腦的 Kev、雲端網址都不會用),KFW_KEV_KEY 已經拿掉。

  • 下面的安裝指令是 macOS / Linux 的寫法;Windows 請在 PowerShell 裡照著改,或直接把「貼給 Claude Code」那段交給它處理。

安裝

需要:Google Chrome、uv、Claude Code;要讓流程用你自己 Chrome 的登入,另裝 K-Browser。Kev-4B 第一次要下載約 9GB。

最簡單:把這段貼給你的 Claude Code

請幫我安裝 Kav-FastwebAgent,每一步做完告訴我結果:
1. 把 https://github.com/kaiwutech-TW/Kav-FastwebAgent clone 到 ~/Kav-FastwebAgent,在裡面執行 uv sync。
2. 問我要不要裝 Kev(本機小模型,約 9GB,比價才需要)。要的話:
   git clone https://github.com/jaredpalmer/kev ~/Kav-FastwebAgent/vendor/kev
   然後在 vendor/kev 裡執行 uv sync --extra serve
3. 讓我在任何資料夾都能用:
   - 用 claude mcp add --scope user kav-fastweb -- uv run --directory <~/Kav-FastwebAgent 的絕對路徑> python -m kfw.mcp_server 註冊 MCP
   - 把 ~/Kav-FastwebAgent/.claude/skills/kav-fastweb 整個資料夾複製到 ~/.claude/skills/
   - 如果這台是 Windows:註冊 MCP 時加上 -e KFW_CHROME="<chrome.exe 的完整路徑>"
4. 如果我裝了 K-Browser:執行 k-browser client add kav 替 Kav 建立連線(token 由 Kav 自己讀,不要寫進任何設定),再執行 k-browser doctor 確認橋接正常。
5. 告訴我以後怎麼啟動 Kev,並提醒我重開 Claude Code。

重開 Claude Code 後說「kav 的狀態」,它會告訴你 Chrome 和 Kev 有沒有在跑。

第 3 步(在任何資料夾都能用)還沒實測過。目前實測過的用法是:在 Kav 資料夾裡開 Claude Code,專案內建的 .mcp.json 和 skill 會自動載入。

手動安裝

git clone https://github.com/kaiwutech-TW/Kav-FastwebAgent ~/Kav-FastwebAgent && cd ~/Kav-FastwebAgent && uv sync
# 選用:Kev(比價才需要,第一次下載約 9GB)
git clone https://github.com/jaredpalmer/kev vendor/kev
cd vendor/kev && uv sync --extra serve && uv run --extra serve python -m kev.serve --run jaredpalmer/kev-4b --port 8009

在 ~/Kav-FastwebAgent 開 Claude Code,核准 .mcp.json 裡的 kav-fastweb。 流程預設跑在 K-Browser(見下方「登入區」),沒裝或接不上就停下來報錯。截圖存在 ~/.kav-fastweb/runs/。

Kav 是標準的 MCP server,理論上 Codex 也能用。在 ~/.codex/config.toml 加上:

[mcp_servers.kav-fastweb]
command = "uv"
args = ["run", "--directory", "/你的路徑/Kav-FastwebAgent", "python", "-m", "kfw.mcp_server"]

再把 .claude/skills/kav-fastweb 複製到 Codex 讀得到的 skills 資料夾(例如專案裡的 .agents/skills/)。

登入區:K-Browser(建議安裝)

安裝 K-Browser(github.com/kaiwutech-TW/k-browser,需要 Node.js 22 以上)。在真的終端機執行:

git clone https://github.com/kaiwutech-TW/k-browser.git K-Browser && cd K-Browser
npm install
node src/cli.js install                  # 登記到你的 agent、裝好背景橋接(之後 `k-browser` 指 `node src/cli.js`,或先 `npm link`)
k-browser client add kav                 # Kav 自己的連線(token 寫在 ~/.k-browser/clients/kav.json,Kav 自己讀)
k-browser kav <Kav 資料夾的絕對路徑>     # 讓 K-Browser 的 run_flow 用這份 Kav 跑流程

版本:Kav 需要 K-Browser 0.3.5 以上(判斷用的模型改經 K-Browser 的出口);0.3.9 以上 run_flow 才會把 Kav 停下時附的候選(candidates、options)交給 agent。反過來,K-Browser 的 run_flow 需要 Kav 0.0.8 以上。

K-Browser 把你平常用的 Chrome 安全地交給 agent 使用:agent 的分頁開在 K-Browser 自己的視窗,不會搶走焦點,每個動作都記在 K-Browser 的面板裡。裝好 K-Browser 並執行 k-browser client add kav 之後:

  • Kav 的流程跑在你自己的 Chrome,用你本來就有的登入,這就是登入區。連線用的 token 由 Kav 自己從 ~/.k-browser/clients/kav.json 讀,不用寫進任何設定。

  • 需要登入時,Claude 會在 K-Browser 的視窗打開登入頁交給你:按 Chrome 工具列的 K-Browser 圖示,在「等你處理」按「顯示」,自己登入,好了按「交還」。

  • 沒裝 K-Browser、kav.json 讀不到或橋接沒開時,流程會停下來請你執行 k-browser doctor,不會自動改用 Kav 的專屬 Chrome(那裡沒有你的登入,結果會看起來像網站壞了)。

  • 「我示範給你看」的錄製仍在 Kav 的專屬 Chrome 進行。

  • 想指定別的瀏覽器就設 KFW_CDP,Kav 以它為準。

  • 判斷用的模型也經 K-Browser:Kav 把要模型判斷的題目送到 K-Browser 的模型出口,K-Browser 照你的選擇交給本機 Kev、TypeSafe 的 JEV(雲端;金鑰和同意都在 K-Browser),或不用模型(k-browser model kev|jev|off,或 K-Browser 側邊面板的「Kav 的判斷模型」)。Kav 不直接連雲端、也不持有金鑰。選了 off,要判斷的步驟會回 model_off,由 Claude 自己判斷。

不想裝 K-Browser:在 .mcp.json 的 kav-fastweb 加 "env": {"KFW_BROWSER": "dedicated"} 再重開 Claude Code,流程就改跑在 Kav 的專屬 Chrome(沒開會自動開一個獨立的設定檔 ~/.kav-fastweb/chrome-profile,不是你平常用的 Chrome)。這時登入區就是那個 Chrome:Claude 在那裡打開登入頁,由你自己登入一次。Kav 和 Claude 都不會替你輸入密碼。判斷用的模型是本機 Kev(http://127.0.0.1:8009)。

設定你固定要做的網頁操作

1. 用這個句型告訴 Claude

幫我做一個流程:
- 網站:<網址>
- 每次會換的:<例:出發站、到達站、日期>
- 我要看到的結果:<例:車次、出發和抵達時間>
- 怎樣算對:<選填,例:日期一定要是今天>

說不完整也沒關係,缺什麼 Claude 會一次問完。

2. Claude 試跑,給你看結果

Claude 會打開網頁看有哪些欄位、寫好流程、試跑一次,然後給你看重點結果和截圖,問「這是你要的結果嗎?」。 你只要判斷結果對不對:

  • 對 → 說「對」,它存起來,並告訴你以後怎麼叫。

  • 不對 → 直接說哪裡不對(「少了票價」「要看的是現金賣出」),它改好再給你看一次。

3. 之後一句話就能用

你想…

就說

用流程

直接問,例如「查 10/20 新竹到台南早上九點以後的高鐵」

結果不對、網站改版

「結果不對,應該是…」 → Claude 修好、重跑、再告訴你改了什麼

看有哪些流程

「我有哪些流程?」

刪掉流程

「刪掉 <某個> 流程」(移到 ~/.kav-fastweb/trash/,可以救回)

用要登入的網站

說「打開 <網站> 讓我登入」,Claude 會打開登入頁交給你(裝了 K-Browser 就在你自己的 Chrome),你自己登入,好了按「交還」或告訴 Claude(建議用副帳號)。之後流程就能用;Kav 和 Claude 不會替你輸入密碼

寫流程的小訣竅:「怎樣算對」寫得越具體,流程越可靠。例如匯率流程加了「日期是今天」,舊資料就不會被當成答案。

說不清楚?示範一次給它看(新功能,驗收中)

有些網站要點好幾頁、從列表挑一筆、或用了特殊的選單,用說的很難講清楚。這時說「我示範給你看」:

  1. Claude 在 Kav 的 Chrome 開好網頁,你照平常的方式用一組真實的例子做一次(不要輸入密碼、卡號等個資)。

  2. 結果出現後,按頁面上方的「標記結果」,點你要的那一塊,再按「完成」。

  3. Claude 把你做的轉成流程,在一個乾淨的瀏覽器環境重播一次:結果必須和你標記的一模一樣,才會給你確認、存起來。

限制:只能在同一個分頁裡操作;開新分頁、在內嵌框架(iframe)裡填表、要輸入密碼的頁面、結果一直在變(價格、剩餘名額)的任務,會直接告訴你錄不了。 流程壞了、Claude 修兩次都修不好時,它也會問你要不要示範一次。

不做的事

替你登入、破解驗證碼、付款或下單、高頻大量抓取。有些網站會擋自動化操作(例:蝦皮),遇到時它會停下來告訴你原因,不會嘗試繞過。 開著 Cloudflare WARP 或 VPN 時,部分網站(例:酷澎)會拒絕存取。

給開發者

Claude 照 kav-fastweb skill(.claude/skills/kav-fastweb/)為「網站 × 動作」寫配方(使用者看到的「流程」),試跑通過並附證據才存起來。 MCP 工具:find_recipe、run_recipe、inspect_page、dry_run、save_recipe、list_recipes、delete_recipe、start_recording、stop_recording、open_login、login_status、status。登入區(open_login、login_status)在 kfw/zone.py;找 K-Browser 端點、交接給使用者在 kfw/kbrowser.py。看網站用 K-Browser 自己的 MCP(k-browser)。

內建配方(recipes/);使用者自己存的放在 ~/.kav-fastweb/recipes/,同名時使用者的優先。

配方

類型

做什麼

tw-shop-compare

search_compare

PChome / momo / Yahoo 購物 / 酷澎同時比價,回傳商品頁驗證過的最低價

thsr-timetable

form_submit

高鐵時刻表(起訖站、日期、時間 → 車次列表)

每次執行都回傳 kev(Kev 呼叫次數、token、耗時加總)。

價格規則

price = 任何人都買得到的一次付清售價。首購價、刷卡回饋、點數只放在 conditional_offers / notes,不參與排序。 價格離中位數太遠(< 0.5× 或 > 2×)的商品移到 suspicious,不參與排序,需要 Claude 複核。

開發

uv run pytest -q          # 單元測試(價格規則用 83 張真實卡片)
uvx pyright               # 型別檢查
uv run python tests/mcp_e2e.py "PS5 Pro" "Sony PlayStation 5 Pro 主機(全新)" "ps5pro,playstation5pro;主機"   # 走 MCP 跑比價配方
uv run python tests/mcp_recipe_flow.py <recipe.json> '<params json>' [--save]   # 照 skill 的流程:dry_run → save → find

評測與數字見 evals/price/README.md;過程紀錄在 .flightwake/。

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables any coding agent to use the user's existing Chrome profiles and logins to open tabs, read pages, fill forms, click through flows, and take screenshots.
      81 npm
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables coding agents to control the user's real Chrome or Firefox tabs, with their existing logins, to read pages, click, type, fill forms, take screenshots, inspect network traffic and run JavaScript. It works through a paired browser extension over a local WebSocket connection, so automation happens in the browser the user is actually looking at, including shadow DOM, cross-origin iframes, dialogs and single-page apps.
      MIT
    • A
      license
      B
      quality
      B
      maintenance
      Enables AI agents to drive a real Chrome, record browser tasks once, replay them at browser speed without an LLM, and replay a site's own API calls using the existing session.
      19
      1
      MIT