pi-web-browse
Search the web and fetch/read pages via a real headless browser (CDP). Use this instead of curl when sites are JS-heavy or bot-protected. Works on Linux, macOS, and Windows.
ソース情報
- リポジトリ
- ogulcancelik/pi-web-browse
- ソースの最終更新活動
- 2026年3月17日 18:48
- 検出された SKILL.md の言語
- 英語
- スター
- 18
- フォーク
- 1
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
SKILL.md を表示中
SKILL.md
ソースの指示 · 読み取り専用プレビュー- name
- pi-web-browse
- description
- Search the web and fetch/read pages via a real headless browser (CDP). Use this instead of curl when sites are JS-heavy or bot-protected. Works on Linux, macOS, and Windows.
# Web Browse
Search the web, then open/fetch pages in a **real browser session** (headless Chromium via CDP) and extract readable text.
Use this instead of `curl` when sites are JS-heavy or bot-protected.
## Setup
Run once before first use:
```bash
cd {baseDir}
npm install
```
The skill auto-detects browsers already installed on your system (Brave, Chrome, Edge, Chromium).
On Windows, Edge is pre-installed and works out of the box.
**No browser installed?** (rare) Run: `npx playwright install chromium`
## Configuration (optional)
Environment variables:
| Variable | Description |
|----------|-------------|
| `WEB_BROWSE_BROWSER_BIN` | Path to browser binary (auto-detected if not set) |
| `WEB_BROWSE_USER_AGENT` | Override User-Agent string |
| `WEB_BROWSE_DAEMON_PORT` | Daemon port (default: 9377) |
| `WEB_BROWSE_CDP_PORT` | CDP port (default: 9225) |
| `WEB_BROWSE_DEBUG_DUMP` | Set to `1` to save screenshots/HTML on failures |
You can also pass `--browser-bin <path>` as a CLI argument.
## Usage
```bash
# Search (results are cached for ~10 minutes)
{baseDir}/web-browse.js "your query"
{baseDir}/web-browse.js "your query" -n 10
# Fetch specific cached results by index
{baseDir}/web-browse.js --fetch 1,3,5
# Fetch a specific URL
{baseDir}/web-browse.js --url <url> # truncated (~2000 chars)
{baseDir}/web-browse.js --url <url> --full # full content
```
**Windows note:** Use `node {baseDir}/web-browse.js` instead of `{baseDir}/web-browse.js`
## Default behavior: persistent daemon (auto)
Direct calls automatically start/use a local daemon that keeps a **persistent headless browser+CDP session**.
This avoids browser startup overhead and helps with bot-protection pages that auto-clear (e.g. Anubis PoW).
### Daemon controls (optional, for debugging)
```bash
{baseDir}/web-browse.js --daemon status
{baseDir}/web-browse.js --daemon start
{baseDir}/web-browse.js --daemon stop
{baseDir}/web-browse.js --daemon restart
```
### Bypass daemon (one-shot)
```bash
{baseDir}/web-browse.js --no-daemon --url https://example.com
{baseDir}/web-browse.js --no-daemon "your query"
```
## Workflow
1) **Search** → see snippets → decide what to read
2) **Fetch by index** → `--fetch 1,3` opens those results and extracts content
```bash
{baseDir}/web-browse.js "rust async runtime" # shows results
{baseDir}/web-browse.js --fetch 1,3 # fetches result #1 and #3
```
## Browser Support
The skill auto-detects installed browsers in this order:
**Linux:** brave, brave-browser, google-chrome, chromium
**macOS:** Brave Browser, Google Chrome, Chromium, Microsoft Edge (in /Applications)
**Windows:** Brave, Chrome, Edge, Chromium (common install paths)
To use a specific browser, set `WEB_BROWSE_BROWSER_BIN` or pass `--browser-bin <path>`.
## Notes
- Content is truncated by default to save tokens; use `--full` for complete output.
- The daemon keeps a warm browser session for faster subsequent requests.
- CDP profile is stored in `~/.config/web-browse-cdp-profile/` (configurable via `--cdp-profile`).
GitHubで見る