Readme
tail-fin-cli
Unified CLI entry point for tail-fin — multi-site browser automation.
Install
# All adapters (default)
cargo install --path .
# Only specific adapters
cargo install --path . --no-default-features --features twitter,reddit
Available features: twitter , reddit , bloomberg , coupang , pcc , instagram , xhs , youtube , grok , gemini , sa , sa-http , s591 , gen , nansen , spotify , tradingview
sa-http enables SeekingAlpha cookie/export commands and pulls in the native wreq TLS stack. Default CLI builds include plain sa only; enable sa-http explicitly when you need SeekingAlpha cookie/export support.
Usage
# Sites that auto-launch a stealth browser
tail-fin coupang search "耳機" --limit 5
tail-fin pcc search "電腦"
# Sites that need your login session
tail-fin --connect 127.0.0.1:9222 twitter timeline
tail-fin --connect 127.0.0.1:9222 reddit hot --limit 10
# RSS (no browser needed)
tail-fin bloomberg markets --limit 5
# TradingView — no browser needed, uses WebSocket + HTTPS
tail-fin tradingview history BINANCE:BTCUSDT --resolution D --count 300
tail-fin tradingview quote NASDAQ:AAPL
tail-fin tradingview screener us-large-caps --limit 50
# Spotify (cookie-authenticated)
tail-fin --cookies spotify search "taylor swift"
Global Flags
Flag
Description
--connect < host:port>
Chrome remote debugging address
--cookies [path ]
Use saved cookies
--headed
Run browser in visible mode
All commands output JSON to stdout, errors to stderr.
Interactive REPL
Run tail-fin without a subcommand (or pass the top-level --repl flag) to start an interactive session:
$ tail-fin -- connect 127.0.0.1:9222
tail-fin > sa quote AAPL
{... }
tail-fin > twitter timeline -- count 5
{... }
tail-fin > quit
Global flags (--connect , --cookies , --headed ) are captured at launch and apply to every command in the session; they cannot be changed inside the REPL (restart to switch). Unknown commands and parse errors keep the session alive — only quit , exit , or Ctrl+ D end it. Piped input (echo " sa quote AAPL" | tail- fin ) runs commands silently, useful for scripted sequences.
Note: arguments are split on whitespace inside the REPL; commands with quoted args (e.g. twitter search " rust lang" ) should be run in one-shot mode.
License
MIT