Token导航 LogoToken导航

Agent Skill · 研究检索

vhscli(vhscli 搜索)

vhscli 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

vhscli 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为操作浏览器;许可证信息还不明确,第三方扫描有提醒项,按安装量在研究检索类的 73,675 个 Skill 里排第 73,133。

总安装 168周安装 7GitHub Stars 公开资料未说明下载 56核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:vhscli(vhscli 搜索)
来源仓库:https://github.com/getvhs/vhscli-skills
仓库路径:skills/vhscli
安装命令:
npx skills add https://github.com/getvhs/vhscli-skills --skill vhscli
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/getvhs/vhscli-skills --skill vhscli

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

用于查找、检索和筛选相关信息。适合根据关键词、任务场景快速定位候选结果,辅助研究决策。通过 npx skills add 命令从指定 GitHub 仓库安装使用。安装前建议确认权限范围、维护状态,以及是否会触发联网或文件读写操作。vhscli 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

来源仓库内路径:skills/vhscli

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/getvhs/vhscli-skills --skill vhscli;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要操作浏览器,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

vhscli 怎么安装?

在终端执行 npx skills add https://github.com/getvhs/vhscli-skills --skill vhscli。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

vhscli 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

vhscli 需要什么权限?

权限级别是操作浏览器。该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

vhscli 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

vhscli 用的人多吗?

公开数据是累计安装 168 次,近一周安装 7 次,下载 56 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

vhscli 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
vhscli

vhscli 搜索 · 本页

168—操作浏览器未明确有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

vhscli

vhscli is a command-line tool for multimodal AI: chat about text/images/video/pdfs, or generate images and videos from prompts. It's a thin client — auth, uploads, and model execution all happen server-side, so users don't store any provider API keys locally.

Run vhscli --help or vhscli <command> --help to see current help — the CLI is the source of truth.

Invocation

Always run via npx @getvhs/vhscli@latest so you pick up the newest models, flags, and fixes. Don't pin a version, and don't call a bare vhscli binary even if one is on PATH — it may be stale.

npx @getvhs/vhscli@latest <command> ...

Throughout this doc, commands are written as vhscli... for readability — substitute npx @getvhs/vhscli@latest... when running.

Requires Node.js ≥ 22. file is needed for MIME detection; sips (ships with macOS) for image conversion; ffmpeg for cross-format video conversion.

Top-level

vhscli [-v|--version] [-h|--help]
vhscli <command> [options] ...
  • -v, --version — print version (only when no command is given)
  • -h, --help — show help (works on root and every subcommand)

Commands:

  • login — log in with google (opens browser; saves session to ~/.vhs/session.json)
  • logout — log out and delete local access tokens
  • whoami — print the logged-in user's email
  • models — list available models
  • generate <model> <prompt> [-o <path>] — generate an image or video
  • chat <prompt> — chat with seed-2.0 (text, image, video, or pdf input)
  • resume <task_id> [-o <output>] — finish a generation that was aborted, by task id

Auth

Assume auth is already configured. If a command fails with an auth error, run vhscli login to open a browser for Google OAuth. Do NOT run vhscli login preemptively — it requires interactive browser login.

Models

  • Chat / understand (text / image / video / pdf): seed-2.0 — under vhscli chat
  • Generate images: seedream-5 (default), seedream-4-5, nano-banana-2, nano-banana-pro, gpt-image-2 — under vhscli generate
  • Generate video: seedance-2 — under vhscli generate

Prompt guides

Before you invoke vhscli generate (or do non-trivial understanding with vhscli chat), Read the matching prompt guide first and shape the prompt around it. The guides are concise, model-specific references distilled from each provider's docs — formulas, what to lead with, what works, what fails. Wording that's great for one model often underperforms on another, so don't skip this.

Model(s)Guide file (Read before prompting)
seed-2.0 (used by vhscli chat)prompt_guide/seed-2.txt
seedream-5, seedream-4-5prompt_guide/seedream.txt
nano-banana-2, nano-banana-proprompt_guide/nano-banana.txt
seedance-2prompt_guide/seedance-2.txt
gpt-image-2prompt_guide/gpt-image-2.txt

Trigger: any time the user asks for output from one of these models, Read its guide before building the prompt. For trivial chat (plain text Q&A with no media) you can skip seed-2.txt.

Stdin prompts

Every command that takes a prompt also accepts - as the prompt, meaning "read from stdin":

cat my_prompt.txt | vhscli generate nano-banana-pro -
echo "what is this?" | vhscli chat - -i photo.jpg

vhscli chat — chat about text, images, video, or pdfs

vhscli chat <prompt> [-i <image>...] [-f <pdf>...] [-v <video>] [--fps <n>]

Mode is picked from your flags:

  • prompt only → text chat
  • -i → ask about images (repeatable)
  • -f → ask about pdf documents (repeatable)
  • -v → ask about a single video

Options:

  • -i, --image <path> — image to ask about (repeat -i for more)
  • -f, --file <path> — pdf document to ask about (repeat -f for more)
  • -v, --video <path> — single video to ask about
  • --fps <n> — frames/sec sampled from the video, 0.2–5 (default: 1)

One-shot — each call is independent, no memory of previous calls. Output goes to stdout, nothing is saved to disk. Audio inside a video is not understood.

Examples:

vhscli chat "explain how to make sourdough in 5 steps"
vhscli chat "describe the scene. return json with objects, setting, mood." -i photo.jpg
vhscli chat "transcribe all visible text verbatim, preserving line breaks." -i receipt.jpg
vhscli chat "compare image 1 and image 2 in 3 bullets." -i a.jpg -i b.jpg
vhscli chat "summarize this paper in 5 bullets; include a page number per bullet." -f paper.pdf
vhscli chat "list key events with start_time and end_time in HH:mm:ss as json." -v clip.mp4 --fps 2

vhscli generate seedream-5 — generate an image (default choice)

vhscli generate seedream-5 <prompt> [-o <path>] [-i <image>...] [--size <size>]

Options:

  • -o, --output <path> — output file path (default: ./vhscli-seedream-5-<timestamp>.jpg)
  • -i, --image <path> — reference image, max 14 (repeat -i for more)
  • --size <size> — 2K, 3K, or WxH like 1024x1536 (default: 2K)

- WxH pixel count must be in [3,686,400, 10,404,496] - WxH aspect ratio must be in [1:16, 16:1]

Output format is determined by the output path extension (.png, .jpg/.jpeg, .webp). The provider returns png or jpeg; the cli transcodes via sips if the extension differs.

Examples:

vhscli generate seedream-5 "a red fox in a snowy forest" -o fox.jpg
vhscli generate seedream-5 "swap the outfit" -o out.png -i person.jpg -i outfit.jpg --size 3K

vhscli generate seedream-4-5 — generate an image (larger size range)

vhscli generate seedream-4-5 <prompt> [-o <path>] [-i <image>...] [--size <size>]

Options:

  • -o, --output <path> — output file path (default: ./vhscli-seedream-4-5-<timestamp>.jpg)
  • -i, --image <path> — reference image, max 14 (repeat -i for more)
  • --size <size> — 2K, 4K, or WxH (default: 2K)

- WxH pixel count must be in [3,686,400, 16,777,216] - WxH aspect ratio must be in [1:16, 16:1]

Example:

vhscli generate seedream-4-5 "a mountain at sunrise" -o mountain.jpg --size 4K

vhscli generate nano-banana-2 — generate an image (Google, with search grounding)

vhscli generate nano-banana-2 <prompt> [-o <path>] [-i <image>...]
                              [--ratio <r>] [--size <size>]
                              [--think <level>] [--search] [--image-search]

Options:

  • -o, --output <path> — output file path (default: ./vhscli-nano-banana-2-<timestamp>.png)
  • -i, --image <path> — reference image, max 14 (repeat -i for more)
  • --ratio <r> — aspect ratio (default: 1:1). one of: 1:1, 1:4, 1:8, 2:3, 3:2, 3:4, 4:1, 4:3, 4:5, 5:4, 8:1, 9:16, 16:9, 21:9
  • --size <size> — 512, 1K, 2K, or 4K (default: 1K)
  • --think <level> — how hard the model thinks: minimal or high (default: minimal)
  • --search — use google search while generating
  • --image-search — also use google image search (implies --search)

Examples:

vhscli generate nano-banana-2 "90s skateboarder poster" -o poster.png --ratio 9:16 --size 2K
vhscli generate nano-banana-2 "diagram of the latest iphone" -o d.png --image-search
vhscli generate nano-banana-2 "a typographic poster spelling 'NEW YORK' over a skyline" --think high

vhscli generate nano-banana-pro — generate an image (Google, premium)

vhscli generate nano-banana-pro <prompt> [-o <path>] [-i <image>...] [--ratio <r>] [--size <size>]

Options:

  • -o, --output <path> — output file path (default: ./vhscli-nano-banana-pro-<timestamp>.png)
  • -i, --image <path> — reference image, max 14 (repeat -i for more)
  • --ratio <r> — aspect ratio (default: 1:1). one of: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9
  • --size <size> — 1K, 2K, or 4K (default: 1K)

Higher-quality sibling of nano-banana-2 — better text rendering, richer textures. No --search or --think flags.

Example:

vhscli generate nano-banana-pro "studio portrait, cinematic lighting" -o portrait.jpg --ratio 3:4 --size 2K

vhscli generate gpt-image-2 — generate or edit an image (OpenAI)

vhscli generate gpt-image-2 <prompt> [-o <path>] [-i <image>...] [--mask <path>] [--size <size>]

Options:

  • -o, --output <path> — output file path (default: ./vhscli-gpt-image-2-<timestamp>.png)
  • -i, --image <path> — reference image for edits (repeat -i for more). switches to the edit endpoint
  • --mask <path> — edit mask (png with transparent pixels marking edit regions); requires -i
  • --size <size> — preset (auto, 1024x1024, 1536x1024, 1024x1536, 2048x2048, 2048x1152, 3840x2160) or WxH (default: auto)

- both sides must be multiples of 16, max edge 3840 - total pixels in [655,360, 8,294,400] - aspect ratio in [1:3, 3:1]

Output format is derived from the -o extension (.png, .jpg/.jpeg, .webp) and sent to the provider — no local transcode. Use png or webp for transparent backgrounds.

Examples:

vhscli generate gpt-image-2 "a children's book drawing of a veterinarian examining a cat"
vhscli generate gpt-image-2 "replace the background with a starry night, keep the subject unchanged" -i photo.jpg
vhscli generate gpt-image-2 "add a red balloon in the masked area" -i room.png --mask hole.png
vhscli generate gpt-image-2 "ultra-wide landscape of the swiss alps at golden hour" --size 3840x2160 -o alps.jpg

vhscli generate seedance-2 — generate a video

vhscli generate seedance-2 <prompt> [-o <path>]
                           [--first-frame <image>] [--last-frame <image>]
                           [-i <image>...] [-v <video>...] [-a <audio>...]
                           [--ratio <r>] [--resolution <res>] [--duration <n>]
                           [--silent] [--seed <n>]

Mode is picked from your flags:

  • prompt only → text-to-video
  • --first-frame → animate from that frame (optionally --last-frame too)
  • -i / -v / -a → use as references

Options:

  • -o, --output <path> — output file path (default: ./vhscli-seedance-2-<timestamp>.mp4)
  • --first-frame <image> — use as the first frame
  • --last-frame <image> — use as the last frame (requires --first-frame)
  • -i, --image <path> — reference image, max 9 (repeat -i). conflicts with --first-frame
  • -v, --video <path> — reference video, max 3 (repeat -v)
  • -a, --audio <path> — reference audio, max 3 (repeat -a). requires -i or -v
  • --ratio <r> — aspect ratio (default: adaptive). one of: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive
  • --resolution <res> — 480p, 720p, or 1080p (default: 720p)
  • --duration <n> — length in seconds, 4–15, or -1 for auto (default: 5)
  • --silent — make a silent video (no audio track)
  • --seed <n> — random seed for reproducible output

Defaults to 5s @ 720p with audio. Jobs run in the cloud and can take minutes — the CLI polls automatically, but if it's interrupted, save the printed task_id and use vhscli resume <task_id> later.

Examples:

# text-to-video
vhscli generate seedance-2 "a cat jumping off a couch" -o cat.mp4 --duration 6 --ratio 16:9

# animate a still image
vhscli generate seedance-2 "camera pans right" -o pan.mp4 --first-frame start.jpg

# with a first and last frame
vhscli generate seedance-2 "morph between these" -o morph.mp4 --first-frame a.jpg --last-frame b.jpg

# reference-based with audio
vhscli generate seedance-2 "lip sync the words" -o out.mp4 -i face.jpg -a voice.mp3

vhscli resume — finish an aborted generation

vhscli resume <task_id> [-o <output>]

Every vhscli generate command prints a line task_id: <uuid> to stdout before kicking off the backend task. If the cli process is aborted mid-generation (ctrl-c, crash, closed terminal, lost network), the backend keeps running; save that id and later run vhscli resume <task_id> to wait for it and download the result.

Behavior:

  • Polls the task row until it has a result or an error, then saves the result.
  • The cli dispatches on the task's endpoint and saves with the right model's logic.
  • Output extension is decided by the model (mp4 for videos, png/jpg for images); pass -o to override the path/extension (transcoded if needed).
  • Exit code is non-zero on task error, missing task, or save failure.
  • vhscli chat does not create a resumable task — chat is fast and streams to stdout.

Example:

# kick off a generation, note the printed task_id, then if it aborts:
vhscli resume 8f3a1b2c-9e0f-4a1b-9c8d-1e2f3a4b5c6d -o cat.mp4

Understanding local images, video, and pdfs

Do NOT use the Read tool, or any built-in file-reading capability, to "look at" images, video, or pdfs. That path either fails or gives you a garbled snippet. The only correct way to understand local visual or document content is vhscli chat with -i / -v / -f.

vhscli chat "what's happening?" -i photo.jpg
vhscli chat "transcribe the speech" -v clip.mp4 --fps 2
vhscli chat "summarize this paper" -f paper.pdf

Prompt patterns for visual / document understanding

vhscli chat understands images, pdfs, and video frames, but not audio inside videos. Ask for structured JSON output when you'll parse the answer, and name every field you want. Be explicit about formats (timestamp style, units, language).

Image — describe / classify:

vhscli chat "describe the scene. return json {objects:[{label,bbox?}], setting, mood, dominant_colors:[]}." -i photo.jpg
vhscli chat "classify the image into one of: cat, dog, bird, other. return json {label, confidence_0_1, reasoning}." -i pic.jpg

Image — OCR / text extraction:

vhscli chat "transcribe all visible text verbatim, preserving line breaks and reading order. do not paraphrase." -i receipt.jpg
vhscli chat "extract the receipt as json {merchant, date_iso, items:[{name, qty, unit_price, line_total}], subtotal, tax, total, currency}." -i receipt.jpg

Image — comparison (number them in the prompt):

vhscli chat "compare image 1 and image 2. return json {same_subject:bool, differences:[], which_is_better, why}." -i a.jpg -i b.jpg
vhscli chat "image 1 is the original, image 2 is an edit. list every visible change as json {changes:[{region, before, after}]}." -i orig.png -i edit.png

PDF — summarize / outline (always ask for page anchors):

vhscli chat "summarize this paper in 5 bullets. each bullet must include the source page as {page:int, point:string}. return json {bullets:[...]}." -f paper.pdf
vhscli chat "extract the outline as json [{page, heading_level, heading, bullets:[]}]." -f doc.pdf

PDF — QA / extraction:

vhscli chat "answer using only this document. question: what is the experimental setup? return json {answer, citations:[{page, quote}]}." -f paper.pdf
vhscli chat "extract every table as json [{page, title?, headers:[], rows:[[...]]}]." -f report.pdf

Video — events / timeline (state the timestamp format):

vhscli chat "list key events. return json [{start_time, end_time, event}]. use HH:mm:ss." -v clip.mp4 --fps 2
vhscli chat "describe the movement sequence and any safety risks. return json [{start_time, end_time, event, danger:'none'|'low'|'med'|'high'}]. HH:mm:ss." -v clip.mp4 --fps 3

Video — temporal QA / counting:

vhscli chat "at what timestamp does the referee first appear? return json {timestamp_hms, evidence}." -v match.mp4 --fps 2
vhscli chat "count how many distinct people appear. return json {count, per_person:[{first_seen_hms, description}]}." -v scene.mp4 --fps 3

Choosing --fps for video (default 1, range 0.2–5):

  • 3–5 — counting actions, sports, fast cuts, dense motion.
  • 1 — general description, dialogue scenes.
  • 0.2–0.5 — long static footage, headcount, slow surveillance.

Higher fps = more detail but more tokens and slower. Lower fps = cheaper but may miss brief events.

Tips

  • Always quote prompts.
  • -o is optional for vhscli generate — defaults to ./vhscli-<model>-<timestamp>.<ext> in the current folder. Output format is detected from the -o extension; mismatches are transcoded via sips (images) or ffmpeg (videos).
  • Short options accept no-space form: -ofoo.jpg. Long options accept =: --size=2K.
  • Use -- to pass a prompt starting with a dash: vhscli generate seedream-5 -o x.jpg -- "-weird prompt".
  • Reference images (-i, --first-frame, --last-frame) can be any common format — the cli detects the real mime via file and auto-converts non-jpeg/png inputs (e.g. heic, webp, tiff, bmp) to jpeg via sips before upload.
  • Uploads are deduplicated by content hash, so passing the same reference repeatedly is cheap.
  • Unknown command? vhscli will suggest the closest match.

平台分布

Codex

37.44%
按下载量换算21

Claude

28.04%
按下载量换算16

Cursor

19.14%
按下载量换算11

Gemini CLI

8.65%
按下载量换算5

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills