laohan-xiazai について
laohan-xiazaiは、インターネット上のコンテンツをプラットフォーム別に取得するスキルです。単発の取得を対象に、軽量な方法から始め、失敗時は能力に応じて段階的に切り替えます。ダウンロード、検索、閲覧、および代替結果を区別します。
主な機能
- 01プラットフォーム別に取得方法を選択
- 02軽量な方法から段階的に切り替え
- 03ダウンロード・検索・閲覧に対応
- 04依存ツールの導入と確認手順を提示
- 05代替結果と失敗理由を説明
活用シーン
- 01ソーシャルプラットフォームの動画・音声・字幕を取得
- 02記事、投稿、コメントを検索または閲覧
- 03第一候補の方法が失敗した際に代替手段を試行
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ hanzhcn/ laohan-skills --skill laohan-xiazaiインストール後、Claude Code で/laohan-xiazaiを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/douyin.mdother-platforms.mdtiktok.mdyoutube.mdscripts/shipinhao-yuanbao.pywx-video-download.sh詳細
インターネットからコンテンツを取得する
プラットフォームに応じて適切な方法を選べば、最短で取得できます。まずプラットフォームルーティング表を確認し、対応する reference ファイルを読みます。プラットフォーム固有の方法が使えない場合は、カテゴリ別のフォールバックチェーンに沿って段階的に進みます。各段階で解決する問題は異なるため、浅い方法で済むなら深く進まないでください。
基本理念
浅い方法で済むなら、深く進まないでください。まず最も軽い方法(HTTP リクエスト)を使い、うまくいかなければ、より負荷の高い方法(ブラウザー描画→アンチ検出→AI 操作→手動制御)に進みます。コストは段階ごとに増加し、各段階で解決する問題は異なるため、段階を飛ばさないでください。
外部環境のブートストラップ(External Bootstrap)
この skill を新しいマシンで使う場合:外部 AI はこのリストに従って依存関係をインストールしてから、プラットフォームルーティングに進みます。インストールするものは対象プラットフォームによって異なり、すべてをインストールする必要はありません。各項目にはインストールコマンドと確認コマンドがあります。インストール後に確認コマンドを実行し、使用可能であることを確認してください。 Python 環境に関する注意:Debian/Ubuntu のシステム Python は PEP 668 によるロックがあるため、
pip3 installは拒否されます。常にpipx install <包>に切り替えてください(先にpip3 install --user pipxを実行)。CLI ツールは~/.local/binにインストールされ、同様に使用できます。ffmpeg:macOS ではbrew install ffmpeg、Debian/Ubuntu ではsudo apt install ffmpeg、Win ではwinget install Gyan.FFmpeg。
| 層 | ツール | インストール | 確認 |
|---|---|---|---|
| 必須(汎用ダウンロード/トランスコード) | yt-dlp + ffmpeg | pip3 install -U "yt-dlp[default]"(YouTube の完全なサポートには、すべての依存関係と JS runtime が必要です。詳しくは公式 dependenciesを参照してください) | yt-dlp --version && ffmpeg -version |
| プラットフォームラッパー(30 以上のプラットフォームで主力) | opencli | npm install -g @jackwener/opencli(Node ≥20.18.1 が必要です。Cookie コマンドには Chrome 拡張機能も必要です。opencli doctor の案内を参照してください) | opencli list |
| 検索/閲覧(13 プラットフォームの統一エントリーポイント) | agent-reach | pipx install git+https://github.com/Panniantong/agent-reach.git(⚠️ PyPI にある同名パッケージは別プロジェクトです。必ず公式リポジトリからインストールしてください) | agent-reach doctor |
| AI 強化スクレイピング(無料のオープンソース。ページを一括で構造化) | Crawl4AI | pip3 install crawl4ai && crawl4ai-setup(LLM による構造化抽出には別途モデルの設定が必要です。ローカルの Ollama は無料、クラウド API は従量課金です。Markdown のみを抽出する場合、モデルは不要です) | python3 -c "import crawl4ai" |
| 画像ギャラリーのダウンロード(Instagram/Twitter/Pixiv など 100 以上のサイト) | gallery-dl | pip3 install gallery-dl | gallery-dl --version |
| AI 自律ブラウザー(未知のページの探索) | browser-use | pip3 install browser-use。ブラウザーとモデルの設定については公式 quickstartを参照してください | python3 -c "import browser_use" |
| フィンガープリント対策ブラウザー(任意。強力なスクレイピング対策があるサイト向け) | Camoufox | pip3 install -U 'camoufox[geoip]' && python3 -m camoufox fetch(シェルの引用符に注意してください。プロキシを使う場合、地理的位置のフィンガープリントを自動照合するには geoip=True を設定してください) | python3 -c "import camoufox" |
このマシン専用ツールについて:huashu-chrome MCP、Scrapling MCP、anysearch、web-access、douyin-session、dy-cli は老韓のマシンに固有の設定で、外部マシンにはありません。フォールバックチェーンでこれらの段階に到達した場合は、次の段階に進んでください(外部環境での代替:Scrapling→Crawl4AI/Camoufox、huashu-chrome→browser-use/Playwright、anysearch→DuckDuckGo/SearXNG)。
| 精密制御(確定的なスクリプト) | Playwright | pip3 install playwright && playwright install chromium | playwright --version |
依存関係ゼロのフォールバック(何もインストールしていなくても使用可能):
- ウェブページ本文:
curl -sL "https://r.jina.ai/<url>"(Jina Reader。キー不要で、速度制限付きで使用可能) - 検索:DuckDuckGo HTML(
curl -sL "https://html.duckduckgo.com/html/?q=<query>"を実行してから解析)または SearXNG の公開インスタンス(curl -sL "https://searx.be/search?q=<query>&format=json"。インスタンス一覧は searx.space) - 直リンク動画:
curl -L -o out.mp4 "<直链>"
有料 API による任意の機能強化(無料枠あり。必要に応じて使用):Exa のセマンティック検索(exa.ai。毎月のクレジットが付与されます。詳細は公式料金を参照してください)は「類似コンテンツの検索/詳細な調査」に適しています。Tavily(tavily.com。月 1000 クレジット。advanced search は 1 回につき 2 クレジットです。詳しくはドキュメントを参照してください)はエージェントの検索パイプラインに適しています。キーがない場合は、上記の依存関係ゼロのフォールバックを使用してください。
対象外のケース
- 大量のスクレイピング/クローラー開発 → これはクローラーフレームワークではなく、単発のコンテンツ取得ツールです
- ログインが必要なサイトにユーザーがログインしていない → まず該当プラットフォームにログインするようユーザーに伝えてください。huashu-chrome/web-access では、ログイン済みの Chrome を使用できます
- 有料コンテンツ/会員限定コンテンツのダウンロード → 権利侵害にあたるケースには対応しません
事前チェック(定期的に更新。コマンドでエラーが発生した場合は必ず実施)
opencli は頻繁にリリースされます(週に 2~3 回)。ただし、使用するたびに更新する必要はありません。定期的(たとえば毎週)に更新するか、コマンドでエラーが発生したときや新しいコマンドが見つからないときに更新してください。
第1ステップ:opencli を更新(npm パッケージ)
npm update -g @jackwener/opencli
第2ステップ:opencli skills を更新(npx による管理)
npx skills update -g -y # 注意:会更新锁文件里全部已装 skill,不止 opencli 的 4 个
opencli には 4 つの補助 skill が付属しています。これらは opencli リポジトリとともに更新されますが、npm パッケージとは別に管理されています。必ず個別に更新してください:
- opencli-usage:コマンドの概要を確認します。どのようなコマンドがあるか分からないときに使用します
- opencli-autofix:コマンドが失敗したときに自動で診断・修復します(SELECTOR エラー、ページ構造の変更など)
- opencli-browser:ブラウザーの自動操作
- opencli-adapter-author:新しい opencli アダプターを作成します
第3ステップ:最新のコマンドを確認してドキュメントと照合
opencli <platform> --help
opencli には新しいコマンドが頻繁に追加されます(たとえば 4 月には bilibili download、xiaohongshu download が追加されました)。SKILL ドキュメントは古くなっている場合があります。新しいコマンドが見つかった場合は、該当する reference ファイルを更新してください。
第4ステップ:Browser Bridge を確認
opencli doctor
Cookie コマンドを使用するには、3 項目(Daemon + Extension + Connectivity)がすべて緑色になっている必要があります。失敗した場合は、次の手順でトラブルシューティングしてください:
opencli doctorを実行して、どの項目が失敗しているか確認します- daemon が起動していない →
opencli daemon restartを実行します(opencli には daemon 管理機能が組み込まれています。launchctl は使用しないでください。opencli は LaunchAgent を提供していません) - daemon は起動しているが拡張機能が接続されていない → ユーザーに
chrome://extensions/で OpenCLI 拡張機能をいったん無効にしてから再度有効にしてもらいます - すべて問題ないのに接続できない →
opencli daemon stopを実行してから、任意のopencli <命令>を実行し、daemon を自動起動します
コマンドが失敗した場合の対処
- まず opencli-autofix skill で診断します:失敗したコマンドを
OPENCLI_DIAGNOSTIC=1を付けて再実行します - 修復に成功 → 正しい方法を記録するため、reference ファイルを更新します
- 修復に失敗 → フォールバックチェーンに沿って方法を切り替えます
クイックルーティング
场景 A:下载(视频/音频/字幕/博主数据)
先判断平台,再读对应的 reference 文件:
| 关键词 | 平台 | reference 文件 |
|---|---|---|
| 抖音 / douyin | 抖音 | references/douyin.md |
| TT / tiktok / TikTok | TikTok | references/tiktok.md |
| YouTube / youtube / 油管 | YouTube | references/youtube.md |
| B站 / bilibili / BV | B站 | references/other-platforms.md |
| 小红书 / xhs | 小红书 | references/other-platforms.md |
| 知乎 / zhihu | 知乎 | references/other-platforms.md |
| 公众号 / 微信文章 | 微信公众号 | references/other-platforms.md |
| 视频号 / 微信视频号 | 微信视频号 | references/other-platforms.md |
不确定平台时,默认尝试 yt-dlp <url>,失败再按平台路由。
references/douyin.md除下载/转录外,还含发布自动化(publish/draft/update)与账号数据分析——发布需求直接读该文件对应章节。
场景 B:搜索/阅读(文章/评论/帖子/搜索结果)
不走 reference 文件,直接走平台封装降级。注意:场景B 的首选方法与第一层降级表(下载场景)不同——搜索/阅读优先用 opencli 搜索命令或 agent-reach,下载才用移动端 UA / fetch.py 等。
| 平台 | 第1选 | 第2选 | 第3选 | 第4选 |
|---|---|---|---|---|
| 公众号 | opencli weixin search/download | agent-reach | fetch.py | Jina Reader |
| 知乎 | opencli zhihu | agent-reach | Jina Reader | — |
| 小红书 | opencli xiaohongshu | agent-reach | Scrapling stealthy | — |
| 微博 | opencli weibo | agent-reach | Jina Reader | — |
| B站 | opencli bilibili | agent-reach | Jina Reader | — |
| 抖音 | opencli douyin search(视频流搜索,仅 likes 真实) | dy-cli(statistics 字段全,pip 装+扫码,见 references/douyin.md) | 同命令 trace/autofix + opencli browser 绑定当前登录页只读取证 | douyin-session(评论) |
| TikTok | opencli tiktok(需 Browser Bridge) | agent-reach | Scrapling stealthy | — |
| 任意平台 | agent-reach(13平台搜索/阅读,含 GitHub/RSS/V2EX/Twitter/Reddit/小宇宙/Exa 等 opencli 不覆盖的) | web-content-fetcher | Jina Reader | Scrapling stealthy |
agent-reach 触发场景:用户说"读一下这个链接""这个公众号文章",或给出非视频的社交平台链接。纯技术查证类搜索不进本 skill(让位 laohan-sousuo)。
降级链
第一层:平台路由(Layer 2 平台封装)
每个平台方法失败时,按以下顺序降级,直到成功或全部失败才报错给用户:
| 平台 | 第1选 | 第2选 | 第3选 | 最终兜底 |
|---|---|---|---|---|
| 抖音 | opencli douyin detail <短链/ID>(≥2.0 新命令,单视频全解含下载地址;旧版本先 npm update -g @jackwener/opencli) | 短链解析 + Playwright 抓 aweme/detail | douyin-session(评论) | Scrapling stealthy |
| TikTok | tikwm API | yt-dlp | opencli tiktok(需 Browser Bridge) | — |
| YouTube | yt-dlp(需 --cookies-from-browser chrome) | opencli youtube transcript(字幕) | — | — |
| B站 | opencli bilibili download(需 Browser Bridge) | Jina Reader | — | — |
| 小红书 | opencli xiaohongshu download(需 Browser Bridge) | agent-reach | Jina Reader | — |
| 知乎 | opencli zhihu | Jina Reader | — | — |
| 公众号 | opencli weixin download(导出 Markdown) | fetch.py | agent-reach | Jina Reader |
| 视频号 | B 元宝凭证脚本 scripts/shipinhao-yuanbao.py(官方接口,免证书免代理,用前查时效) | A wx_video_download(MITM 代理) | — | — |
| 快手 | KS-Downloader(JoeanAmier/KS-Downloader release 下载程序,贴分享链接) | 网页版 kuaishou.com + 浏览器 network 抓视频流(huashu-chrome/Playwright) | — | — |
gallery-dl(pip3 install gallery-dl,需登录 cookie,Reels/图集全支持) | instaloader(pip3 install instaloader,元数据强) | — | — | |
| Twitter/X 图集视频 | gallery-dl(同上,配 cookie) | agent-reach(读推文) | — | — |
| 直播流 m3u8/HLS | ffmpeg -i "<m3u8地址>" -c copy out.mp4 | yt-dlp "<m3u8地址>" | — | — |
| 未知平台 | yt-dlp | Scrapling MCP(get) | Scrapling stealthy | Jina Reader |
降级时注意:
- 降级产物性质:部分降级产出的是替代产物而非原目标(如 B站视频→Jina 只出正文、YouTube 视频→transcript 只出字幕、抖音→douyin-session 只出评论)——降级到这些层时要向用户说明拿到的是什么,不能当作原下载成功
- 抖音不存在 yt-dlp 降级路径(已验证无效),不要浪费时间尝试
- 抖音纯 HTTP 通道 2026-08 起全部关闭(iesdouyin SSR / douyin_tiktok_scraper 均失效),单视频下载走短链解析 + Playwright 抓包(见
references/douyin.md) - B站 yt-dlp 已被 HTTP 412 全面拦截(2026-04-28 验证),不要尝试 yt-dlp 下载B站视频
- YouTube 无 cookies 会被 bot 检测拦截,必须加
--cookies-from-browser chrome - 每步失败后简要告诉用户换了个方法,不要静默切换
- 全部失败时,告诉用户具体哪步失败了、可能的原因、建议用户做什么
第二层:カテゴリー別のフォールバック(プラットフォームのルーティングがすべて失敗した場合)
プラットフォームの方法がすべて失敗した場合は、機能の軽いものから順に段階的に掘り下げます。各段階で解決する問題は異なります。
平台封装已试过(opencli / agent-reach / yt-dlp 全部失败)
↓ 问题:普通网页抓取即可
轻量抓取 → Scrapling MCP get(普通 HTTP 请求,无 JS 渲染)
↓ 问题:页面需要 JS 渲染 / 登录态 / 多步交互(点击/翻页/表单/上传)
huashu-chrome MCP(用户日常 Chrome 真登录态 + 22 工具:snapshot/click/fill/act 批处理;每步带效果证据,28 站出厂经验库)
↓ 问题:被反爬拦截且 huashu-chrome 也过不去
反检测抓取 → Scrapling stealthy_fetch(绕过检测 + 提取内容)
↓ 问题:批量页面要 LLM 结构化提取(本地免费,2026 主流开源方案 81K star)
AI 爬取 → Crawl4AI(`pip3 install crawl4ai`,本地 LLM 可选 Ollama,输出 Markdown/JSON;本地版 Firecrawl,无费用)
↓ 问题:页面结构未知,写不出选择器
AI 浏览器 → browser-use(AI 理解页面结构、自主操作)
↓ 问题:需要登录态但 huashu-chrome 扩展离线,或视频帧采样
CDP 接管 → web-access(接管用户日常 Chrome,天然登录态)
↓ 问题:需要代码级精确控制,或要独立无登录态浏览器做隔离
手动驱动 → Playwright(代码级精确控制每一步)
各段階で解決する問題は異なるため、段階を飛ばさないでください:
- 通常のウェブページ → Scrapling get(最も軽量、HTTP で直接リクエスト)
- JS レンダリング/ログイン状態/複数ステップのインタラクション → huashu-chrome(2026-10-21 以降の第一選択、実際のログイン状態+効果の証拠+サイトの知見;ツール:snapshot で要素一覧を取得、click/type/fill で操作、act で複数ステップを一度に実行、fetch で Cookie 付き API 呼び出し、network で API を確認。事前条件:
npx huashu-chrome doctorで拡張機能がオンラインと表示されること) - ボット対策によるブロック → Scrapling stealthy(ステルスモードで検出を回避)
- 大量のページから構造化データを抽出 → Crawl4AI(ローカル AI クロール、2026-10 調査:主流のオープンソース、外部マシンでは
pip3 install crawl4aiですぐ利用可能) - ページの内容を理解できない → browser-use(AI の理解能力を活用)
- huashu-chrome がオフラインの場合のログイン状態のフォールバック/動画のサンプリング → web-access(CDP による引き継ぎ)
- 精密な操作 → Playwright(人手と同等の制御)
コストは段階ごとに増加するため、浅く済むなら深く掘り下げないでください:Scrapling get(HTTP、秒単位)< huashu-chrome(自分の Chrome、秒単位)< Scrapling stealthy(検出回避)< Crawl4AI(ローカル AI 抽出、API 料金不要)< browser-use(LLM API の呼び出しが必要)< web-access(CDP 接続が必要)< Playwright(コードの記述が必要)
CAPTCHA/Cloudflare による人間確認への対処
Turnstile/reCAPTCHA/hCaptcha/確認ページにブロックされた場合の専用フォールバック(2026-10 調査、出典は各項目に記載):
無料のオープンソース層(優先):
- Scrapling stealthy の
solve_cloudflareパラメーター(この skill に実装済みですが、見落とされがちです):stealthy_fetch url=<url> solve_cloudflare=true——Cloudflare Turnstile/Interstitial のチャレンジを自動的に通過します。ローカルの MCP から直接呼び出せば費用はかかりません - Camoufox(指紋対策を施したカスタム Firefox ビルド、2026-10 の評価では「ハードウェア指紋対策で最高」とされ、実測で Turnstile を通過):
pip3 install -U camoufox[geoip] && camoufox fetch(Python API:playwright と組み合わせてAsyncCamoufox(humanize=True)を使用);プロキシ使用時は地理位置に合った指紋を自動的に適用します - nodriver(undetected-chromedriver の後継で、現在の Python における標準的な選択肢):
pip3 install nodriver;SeleniumBase UC mode(Cloudflare のケースで高評価):pip3 install seleniumbaseの後、with SB(uc=True)を使用します
有料 API 層(任意、従量課金):CapSolver(約 $0.8-1.2/千回、Turnstile/reCAPTCHA/hCaptcha/GeeTest、capsolver.com)/2Captcha(Turnstile は $1.45/千回、2captcha.com)。導入の複雑さに関する注意:独立したウィジェットの場合は「パラメーターを送信→トークンを取得→埋め戻す」という流れです。Cloudflare のページ全体のチャレンジでは、action/cData/chlPageData の取得と UA コールバックとの連携も必要です——2Captcha の公式ドキュメントに記載された一連の手順に従い、トークンの取得だけで済ませないでください。既知の制約(2026-04 の議論):Turnstile のサーバー側指紋検証では、トークンだけを提供するサービスは信頼性に欠けるという見解もあります。その場合は Camoufox のような実際の指紋を持つブラウザーのほうが安定します。
境界:個人による一回限りのコンテンツ取得にのみ使用してください。大量の不正利用、ログインの総当たり攻撃、対象サイトの利用規約に違反する用途には使用しないでください——有料サービスのアカウントと法的リスクは利用者自身が負うものとします。
コメントの取得
詳細なコマンドは
references/other-platforms.mdを参照してください。コメント取得の主力は opencli です(8 プラットフォームの read/3 プラットフォームの write)。MediaCrawler は取得のみで書き込みはできず、商用利用も禁止されているため、インストールしないでください。
| プラットフォーム | コメントの read | コメントの write | コマンド |
|---|---|---|---|
| B站 | ✅(スレッド内の返信を含む --parent) | ✅ コメント/返信の投稿 | opencli bilibili comments <bvid> / comment <bvid> <msg> |
| 小红书 | ✅(スレッド内の返信) | ❌ | opencli xiaohongshu comments <note-id> |
| 知乎 | ✅ answer-comments | ✅ comment <target> <text> | 回答へのコメント一覧/コメントの投稿 |
| 微博 | ✅ | ❌ | opencli weibo comments <id> |
| 即刻 | ✅(投稿にコメントを含む) | ✅ comment <id> <text> | opencli jike post <id> / comment |
| 知识星球 | ✅(トピックにコメントを含む) | ❌ | opencli zsxq topic <id> |
| 雪球 | ✅ | ❌ | opencli xueqiu comments <symbol> |
| 贴吧 | ✅(read に返信を含む) | ❌ | opencli tieba read <id> |
| 抖音 | △(user-videos に人気コメントを含む。独立した comments はありません) | ❌ | opencli douyin user-videos;詳しいコメントの取得には douyin-session adapter を使用 |
| 快手 | ❌ opencli はこのプラットフォームに非対応 | ❌ | ダウンロード方法はあります(KS-Downloader/ウェブ版のストリーム取得。ルーティング表を参照);コメントの取得は未対応 |
コメントやプロフィールの一括取得はクローラーフレームワークの範疇であり、この skill の対象外です(「不適用なシナリオ」を参照)。必要なコメントだけを取得する場合は opencli を使用してください。
汎用フォールバック
| 方法 | ツール | シナリオ |
|---|---|---|
| agent-reach | agent-reach(pipx/pip でインストール。公式は pipx を推奨) | 13 プラットフォームの検索/閲覧を統一的に行う入口(Tier0 は設定不要:Web/YouTube/GitHub/RSS/Exa/V2EX/雪球;Tier1 はログイン状態が必要:Twitter/Reddit/B站/小红书では Cookie、小宇宙では無料の Groq Key を使用)。「読み取り/検索」を担当し、「ダウンロード/操作」を担当する opencli と相互補完します |
| Jina Reader | curl -sL "https://r.jina.ai/<url>" | 一般的なウェブページのコンテンツ抽出 |
| web-content-fetcher | /web-content-fetcher skill | agent-reach が失敗した場合にウェブページを取得する三段階のフォールバック |
| Scrapling stealthy | MCP stealthy_fetch | ボット対策があるシナリオ |
| yt-dlp | yt-dlp <url> | 汎用の動画ダウンロード(Cookie は --cookies-from-browser chrome/chromium/firefox/edge/safari で指定し、実際に使用しているブラウザーを選択してください。ブロックされた場合は --proxy socks5://... を追加します) |
| gallery-dl | pip3 install gallery-dl の後、gallery-dl <url> | 画像ギャラリー/メディアサイトの一括ダウンロード(Instagram/Twitter/Pixiv など 100 以上のサイトに対応。2026-10 に稼働中の v1.32 を確認済み。ほとんどのサイトでログイン Cookie が必要) |
| browser-use | /open-source skill | AI によるブラウザーの自律操作。新規または未知のページ向け |
| web-access | /web-access skill | ログイン済みの普段使いの Chrome を CDP で引き継ぎます(localhost:3456)。ログイン状態が必要なコンテンツ、複雑な操作(クリック/ページ送り/フォーム/アップロード)、動画フレームのサンプリング、ローカルのブックマークや履歴の検索に対応します |
| Playwright 手動 | ECC Playwright MCP | 精密な手動制御。最後のフォールバック |
web-access 调用要点(本机兜底:huashu-chrome 离线时的登录态方案)
web-access 与 huashu-chrome 都连用户日常 Chrome(登录态共享);huashu-chrome 在线时优先它(效果证据+站点经验),web-access 在其离线时兜底,另有独占能力:视频帧采样、本地书签历史检索。触发 /web-access 加载后按此调用:
- 启动 CDP proxy:
node "${CLAUDE_SKILL_DIR}/scripts/check-deps.mjs"(Node 22+ 必需,脚本自动启动并等待 proxy 就绪) - 操作前必须向用户展示封禁须知:部分站点对浏览器自动化检测严格,存在账号封禁风险,已内置防护但无法完全避免,继续操作即视为接受。
- curl 调 localhost:3456 API:
/new(后台 tab,URL 走 POST body 保留完整参数)//eval(读写 DOM,递归穿透 Shadow DOM·iframe)//click·/clickAt(真实鼠标手势,触发文件对话框)//scroll(触发懒加载)//screenshot(含视频当前帧)//setFiles(上传,绕过对话框)//close(关闭自建 tab,保留用户 tab) - 本地浏览器检索(web-access 独有):用户说"我之前看过的""公司内部系统"等公网搜不到的目标 →
node "${CLAUDE_SKILL_DIR}/scripts/find-url.mjs" 关键词 [--only bookmarks|history] [--since 7d]查 Chrome/Edge 书签+历史
何时优先 web-access:需登录态 / 多步 GUI 交互(点击·翻页·表单·上传)/ 视频帧采样 / 本地浏览器检索——这四类其余工具都做不了或不如它。仅当页面结构完全未知、需 AI 自主探索时才用 browser-use;需代码级隔离测试时才用 Playwright MCP。
工具速查
语音转文字
| 优先级 | 工具 | 命令 | 说明 |
|---|---|---|---|
| 1 | 硅基流动 API | curl -X POST https://api.siliconflow.cn/v1/audio/transcriptions -H "Authorization: Bearer $SILICONFLOW_API_KEY" -F "model=FunAudioLLM/SenseVoiceSmall" -F "[email protected]" | 秒级,免费,中文优化 |
| 2 | whisper-cli | whisper-cli -m model.bin -f audio.mp3 -l zh | 本地 C++,快 |
| 3 | whisper Python | python3 -c "import whisper; ..." (small 模型) | 本地,最准 |
| 4 | whisper-timestamped | python3 -c "import whisper_timestamped; ..." | 精确时间戳,字幕制作用 |
语音合成 / 音视频处理
| 操作 | 命令 |
|---|---|
| 语音合成(TTS) | edge-tts --text "文本" --voice zh-CN-XiaoxiaoNeural --write-media output.mp3 |
| 音视频转码 | ffmpeg -i input.mp4 -vn -acodec libmp3lame output.mp3 |
| OCR | tesseract image.png stdout -l chi_sim+eng |
| PDF 提取文本 | python3 -c "import fitz; doc=fitz.open('file.pdf'); print('\n'.join(p.get_text() for p in doc))"(必须 print 输出,只构造列表 stdout 为空) |
| 图片处理 | magick input.png -resize 800x600 output.png |
搜索兜底
注:
smart-search/web-search/multi-search-engine/baidu-search位于~/.openclaw/skills/,需 OpenClaw 环境已安装;anysearch在~/.agents/skills/(通用,无 OpenClaw 也可用)。无 OpenClaw 环境时优先 anysearch。
| 工具 | 场景 | 说明 |
|---|---|---|
| anysearch | 实时搜索+垂直领域+批量并行+URL全文提取 | 16 个垂直领域(股票/CVE/DOI/法律/学术等;Stock/CVE/DOI 是触发标识符非 domain),~/.agents/skills/anysearch/,/anysearch |
| smart-search | opencli 搜索路由 | 基于 opencli 的智能搜索,覆盖社交/技术/新闻/购物,~/.agents/skills/smart-search/ |
| web-search | 通用网页搜索 | DuckDuckGo API,轻量搜索,~/.openclaw/skills/web-search/ |
| multi-search-engine | agent-reach + Jina 都搜不到时 | 17 搜索引擎聚合对比,~/.openclaw/skills/multi-search-engine/ |
| baidu-search | 中文内容搜索 | 百度 AI 搜索,中文场景优于通用引擎,~/.openclaw/skills/baidu-search/ |
搜索优先级:通用搜索/事实查询/垂直领域 → anysearch(最轻最快)→ opencli(平台结构化数据)→ agent-reach(opencli 未覆盖的平台兜底)。
技术查证类搜索(API 用法/报错归因/版本兼容/"先查再说"):走同仓 laohan-sousuo 的三路检索(官方文档/GitHub issue/社区心得 + 来源标注输出)。未装 sousuo 时的最小三路法:① 官方文档 WebFetch(或 curl -sL "https://r.jina.ai/<官方URL>")② gh search issues "关键词" --repo owner/repo ③ 社区 curl -sL "https://html.duckduckgo.com/html/?q=<query>"——结论必须带 (verified: URL),查不到如实说推断。
Scrapling 调用路径
| 环境 | 方式 | 说明 |
|---|---|---|
| Claude Code 主会话 | MCP 直调 mcp__ScraplingServer__stealthy_fetch | 直接可用 |
| OpenClaw 子 agent | mcporter 桥接 mcporter call ScraplingServer.stealthy_fetch url=<url> | 子 agent 无 MCP 权限,需桥接 |
关键注意事项
- 抖音反爬极强,yt-dlp/Jina/纯 HTTP 全部无效(2026-08 升级后 iesdouyin SSR 与 douyin_tiktok_scraper 也失效),单视频下载走短链解析 + Playwright 抓包(见
references/douyin.md) - TikTok 用 tikwm API,CDN URL 临时,获取后立即下载
- YouTube 字幕首选
opencli youtube transcript(返回干净文本免清洗),备选 yt-dlp 的 VTT 需clean_vtt.py清洗(见references/youtube.md) - opencli Cookie 命令需要 Browser Bridge 运行(排障:
opencli doctor)