Lewati ke konten

Riset web

Extension pi-web-agent menambahkan satu tool riset, web_explore, yang mencari, mengambil, memberi peringkat sumber, dan menaikkan ke headless browser ketika halaman membutuhkannya.

Dibundel bersama Selesai

Dimuat otomatis bersama Selesai; tidak diperlukan npm install per ekstensi.

Entri manifest
./pi-web-agent
Permukaan runtime
Campuran (command, tool, shortcut)

Penyiapan dan prasyarat

  • Extension ini dibundel bersama Selesai. Dimuat otomatis; tidak perlu diinstal terpisah.
  • Dengan akun TokenIn aktif, pencarian default menggunakan TokenIn lalu fallback ke DuckDuckGo. Jika tidak, pencarian menggunakan DuckDuckGo tanpa kredensial; saat DuckDuckGo memblokir pencarian (umum di IP VPS dan datacenter), pencarian otomatis fallback ke endpoint keyless Tavily — set PI_WEB_AGENT_DISABLE_KEYLESS_FALLBACK=1 untuk mematikannya.
  • Backend berbasis kunci lainnya: SearXNG (URL self-hosted), Brave (webAgent.braveApiKey atau PI_WEB_AGENT_BRAVE_API_KEY), You.com (YDC_API_KEY), Exa (EXA_API_KEY), dan Tavily (TAVILY_API_KEY).
  • Search fanout (opsional): query beberapa backend terkonfigurasi sekaligus dan urutkan halaman yang disepakati lebih dari satu provider di atas, lewat backends.search.fanout dengan mode off / on / auto (auto hanya fanout saat provider pertama menghasilkan hasil tipis).
  • Eskalasi headless menggunakan provider local-browser yang dibundel. Pastikan browser berbasis Chromium (Chrome, Chromium, Edge, atau Brave) tersedia di sistem jika Anda ingin rendering halaman headless.
  • Reader langsung: menempelkan URL file/issue/PR GitHub, PDF, atau YouTube membaca konten asli (source mentah, teks PDF terekstrak, atau transkrip) tanpa kunci.

Yang disiapkan

  • Mendaftarkan slash command /web-agent untuk memeriksa dan mengubah pengaturan presentation dan backend.
  • Mendaftarkan tool agent web_explore untuk riset web terbatas.
  • Memuat konfigurasi berlapis dari file config project dan global pi-web-agent.
  • Melengkapi system prompt pada before_agent_start sehingga agent tahu menggunakan web_explore untuk riset web alih-alih command shell atau panggilan HTTP langsung.

Yang dapat dikonfigurasi

Riset web mendukung konfigurasi backend dan presentasi global/proyek berlapis, kunci API disimpan di settings.json, dan kontrol command runtime.

Lokasi dan preseden konfigurasi

  1. Konfigurasi backend/presentasi global
    ~/.selesai/agent/extensions/pi-web-agent/config.json
    Default terendah; ditimpa oleh konfigurasi proyek.
  2. Konfigurasi backend/presentasi proyek
    .selesai/extensions/pi-web-agent/config.json
    Menimpa nilai konfigurasi global.
  3. Pengaturan user untuk rahasia
    ~/.selesai/agent/settings.json
    Kunci Brave API dibaca dari webAgent.braveApiKey. Kunci Firecrawl dapat berada di config atau variabel env.

Pengaturan

Kunci / pathTipe, default, dan nilaiDeskripsi
presentation.defaultModestring
Default: "compact"
Nilai yang diizinkan: "compact", "preview", "verbose"
Mode presentasi default untuk hasil web agent.
presentation.tools.<web_search|web_fetch|web_fetch_headless|web_explore>.modestring
Default: —
Nilai yang diizinkan: "compact", "preview", "verbose"
Penimpaan presentasi per tool.
backends.search.providerstring
Default: "duckduckgo"
Nilai yang diizinkan: "duckduckgo", "searxng", "brave"
Provider backend pencarian.
backends.search.baseUrlstring
Default: —
Base URL untuk endpoint searxng atau brave bila diperlukan.
backends.search.fallbackstring
Default: —
Nilai yang diizinkan: "duckduckgo"
Hanya valid saat provider adalah searxng atau brave. Nilai lain ditolak.
backends.search.options.categoriesstring[]
Default: —
Kategori SearXNG. Harus tidak kosong bila diberikan.
backends.search.options.languagestring
Default: —
Bahasa SearXNG. Tidak boleh kosong bila diberikan.
backends.search.options.safesearchnumber
Default: —
Nilai yang diizinkan: 0, 1, 2
Tingkat safe-search SearXNG.
backends.fetch.providerstring
Default: "http"
Nilai yang diizinkan: "http", "firecrawl"
Provider backend fetch.
backends.fetch.baseUrlstring
Default: —
Base URL Firecrawl (wajib untuk provider firecrawl).
backends.fetch.apiKey🔒string
Default: —
Kunci API Firecrawl. Utamakan variabel env PI_WEB_AGENT_FIRECRAWL_API_KEY.
backends.fetch.fallbackstring
Default: —
Nilai yang diizinkan: "http"
Hanya valid saat provider adalah firecrawl.
backends.fetch.options.formatsstring[]
Default: —
Format output Firecrawl. Harus tidak kosong bila diberikan.
backends.fetch.options.onlyMainContentboolean
Default: —
Flag Firecrawl hanya konten utama.
backends.headless.providerstring
Default: "local-browser"
Nilai yang diizinkan: "local-browser"
Provider eskalasi headless. Satu-satunya nilai yang didukung adalah local-browser.
webAgent.braveApiKey🔒string
Default: —
Kunci API Brave Search disimpan di settings.json. Juga menerima variabel env PI_WEB_AGENT_BRAVE_API_KEY.

Variabel lingkungan

Kunci / pathDeskripsi
PI_WEB_AGENT_BRAVE_API_KEY🔒Timpa atau sediakan kunci Brave API tanpa menyimpannya di settings.json.
PI_WEB_AGENT_FIRECRAWL_API_KEY🔒Timpa atau sediakan kunci Firecrawl API tanpa menyimpannya di config.json.

Kontrol command, tool, dan shortcut

Kunci / pathDeskripsi
web_explore({ query: "..." })Tool agent yang menjalankan pencarian, fetch, dan eskalasi headless.
/web-agentCommand runtime dengan subcommand settings, show, doctor, changelog, reset project, dan reset global.

Bukti source

  • src/extensions/pi-web-agent/src/presentation/types.ts
  • src/extensions/pi-web-agent/src/presentation/config-store.ts
  • src/extensions/pi-web-agent/src/backends/config.ts
  • src/extensions/pi-web-agent/src/backends/settings-reader.ts
  • src/extensions/pi-web-agent/src/backends/doctor.ts
  • src/extensions/pi-web-agent/src/backends/factory.ts

Yang dapat dilakukan

  • Meminta agent meneliti topik terkini:
What is the current recommended way to handle React Server Actions in Next.js 15?
  • Memperjelas tindak lanjut dengan memanggil web_explore lagi dengan query yang lebih sempit.
  • Mengubah output presentation ke verbose ketika Anda membutuhkan konten halaman penuh, atau compact ketika Anda ingin ringkasan singkat.

Perintah, tool, dan shortcut

Perintah / toolDeskripsi
web_explore({ query: "..." })Riset pertanyaan web dengan pass pencarian/fetch terbatas.
/web-agent [settings|show|doctor|changelog|reset project|reset global]Kelola konfigurasi presentation dan backend.

Batasan dan keamanan

  • Output dihasilkan dari sumber pihak ketiga; selalu verifikasi fakta kritis terhadap halaman asli.
  • Eskalasi headless dapat gagal jika tidak ada browser yang didukung yang terpasang.
  • SearXNG memerlukan backends.search.baseUrl di config; Brave memerlukan API key yang valid dari webAgent.braveApiKey (preferensi) atau PI_WEB_AGENT_BRAVE_API_KEY; You.com, Exa, dan Tavily memerlukan YDC_API_KEY, EXA_API_KEY, dan TAVILY_API_KEY; Firecrawl memerlukan backends.fetch.baseUrl dan menerima backends.fetch.apiKey atau PI_WEB_AGENT_FIRECRAWL_API_KEY.
  • Extension menginstruksikan agen untuk tidak menggunakan command shell seperti curl atau URL HTTP langsung untuk riset web; ia harus menggunakan web_explore.
  • File config presentation hanya menyimpan nilai non-secret. Kunci Brave dapat disimpan per-user di ~/.selesai/agent/settings.json; gunakan environment variables untuk CI atau key sekali pakai. Fallback keyless Tavily tidak mengirim kunci tetapi rate-limited; prefer kunci provider asli untuk penggunaan berat.

Source evidence

Selesai version: 0.10.0