
Research
/Security News
Miasma Mini Shai-Hulud Hits ImmobiliareLabs npm Packages
Miasma Mini Shai-Hulud hits @immobiliarelabs Backstage plugins, targeting GitLab and LDAP auth packages on npm.
A CLI toolkit for AI-powered text translation, image OCR, project compression, and two-factor authentication (OTP) management.
In the vast digital wilderness, information is as noisy and disordered as cosmic background radiation. To extract sparks of logic from these chaotic signals, RedCoast was born — not as a simple toolset, but as a search-and-intercept operation aimed at raw data.
Like the secret base built atop Radar Peak in the 1960s, RedCoast is designed to construct a high-powered information processing matrix that runs on local nodes, independent of external dependencies. It does not seek permission from the cloud, nor does it bow before noise. Its purpose is pure: collect, parse, reconstruct.
"We don't need to know whether other civilizations exist in the universe. We only need to be here — at our terminals — and establish our own order of civilization."
.gitignorenpm install -g red-coast
# or
pnpm add -g red-coast
# Add an LLM provider (interactive prompts for API Key, Base URL, Text model, Vision model)
rc provider add openai
# Configure a command to use a provider
rc translate config
rc ocr config
rc redact config
First-time runs without config will launch an interactive setup wizard automatically.
# Translate inline text
rc translate "Hello, world!" --to zh
# Interactive mode
rc translate
# Auto-detect target language from system locale
rc translate "Hello" --to auto
# Extract text from an image
rc ocr ./screenshot.png
# Interactive mode
rc ocr
# Mask sensitive info in an image (auto-detects name, phone, email, DOB)
rc redact ./id-card.jpg
# Specify custom targets
rc redact ./form.png --targets "姓名,手机号,地址"
# Specify output path
rc redact ./form.png --output ./form-safe.png
# Archive current directory (respects .gitignore)
rc archive .
# Custom format
rc archive ./my-project --format tar.gz
# Custom output directory and name
rc archive . --output ~/Desktop --name my-backup
# Interactive: pick account & generate OTP
rc otp generate
# Generate for a specific account
rc otp generate "GitHub:alice@example.com"
# Generate and copy to clipboard
rc otp generate --copy
# Add a new account
rc otp add
# List all accounts with live codes
rc otp list --watch
Manage LLM providers. Each provider stores API credentials and model presets (text/vision).
# Add a new provider
rc provider add openai
# List all providers
rc provider list
# Show provider details
rc provider show openai
# Edit a provider (apiKey, baseURL, models)
rc provider edit openai
# Remove a provider
rc provider remove openai
translate [text]Translate text using an LLM.
rc translate [text] [--to <lang>]
| Code | Language |
|---|---|
auto | Auto-detect from system locale |
zh | Chinese |
en | English |
ja | Japanese |
ko | Korean |
fr | French |
de | German |
es | Spanish |
ru | Russian |
ar | Arabic |
Priority: --to flag › translate.targetLang config › interactive prompt
translate configView and modify translate settings. Existing values are pre-filled — press Enter to keep, or type a new value.
rc translate config
Prompts for: Provider selection, Default target lang, Custom prompt. Models are configured at the provider level via rc provider add/edit.
ocr [image]Extract text from a local image using a vision model.
rc ocr [image-path]
Supported formats: .jpg .jpeg .png .gif .webp
ocr configView and modify OCR settings. Existing values are pre-filled.
rc ocr config
Prompts for: Provider selection, Custom OCR prompt. Models are configured at the provider level via rc provider add/edit.
redact [image]Detect and mask sensitive information in an image using a vision model. Outputs a new file with black rectangles over detected areas.
rc redact [image] [--output <path>] [--targets <targets>]
| Option | Description |
|---|---|
-o, --output | Output file path (default: <input>-redacted.<ext>) |
-t, --targets | Comma-separated targets to detect (default: 姓名,手机号,电子邮箱,出生日期) |
rc redact ./id-card.jpg # auto-detect default targets
rc redact ./form.png --targets "姓名,手机号,地址" # custom targets
rc redact ./form.png --output ./form-safe.png # custom output path
redact configView and modify redact settings. Existing values are pre-filled.
rc redact config
Prompts for: Provider selection, Sensitive targets, Custom detection prompt. Models are configured at the provider level via rc provider add/edit.
archive [input]Archive a project directory respecting .gitignore.
rc archive [input] [--format <fmt>] [--output <path>] [--name <name>]
| Option | Description |
|---|---|
-f, --format | zip (default) · tar · tar.gz |
-o, --output | Output directory (default: same as input) |
-n, --name | Custom archive name |
Archive naming: <name>_v<version>.zip if package.json exists, otherwise <dir-name>.zip.
pdf <subcommand>Process PDF files using Ghostscript. Requires Ghostscript to be installed.
rc pdf <subcommand> [input] [options]
| Subcommand | Description |
|---|---|
compress | Compress a PDF file |
to-image | Convert PDF pages to images |
split | Split a PDF file |
Note: Ghostscript is required. It will be auto-installed via winget/brew/apt if not found.
pdf compressCompress a PDF file to reduce file size.
rc pdf compress [input] [-o output] [-q quality]
| Option | Description |
|---|---|
-o, --output | Output file path (default: <input>-compressed.pdf) |
-q, --quality | Quality: screen / ebook / printer / prepress / default (default: ebook) |
Quality presets:
screen — 72 dpi, smallest sizeebook — 150 dpi, recommended for webprinter — 300 dpi, high qualityprepress — 300 dpi, maximum qualitydefault — preserve original qualityrc pdf compress document.pdf # compress with ebook quality
rc pdf compress document.pdf -q screen # smallest size
rc pdf compress document.pdf -o small.pdf -q printer
pdf to-imageConvert PDF pages to images.
rc pdf to-image [input] [-o output-dir] [-f format] [-d dpi] [-p pages]
| Option | Description |
|---|---|
-o, --output | Output directory (default: same as input file) |
-f, --format | Image format: png / jpg / tiff (default: png) |
-d, --dpi | Resolution in DPI (default: 150) |
-p, --pages | Page range, e.g. "1-3,5,7-" |
rc pdf to-image document.pdf # convert all pages to PNG
rc pdf to-image document.pdf -f jpg -d 300 # high-res JPG
rc pdf to-image document.pdf -p "1-3" # only pages 1-3
pdf splitSplit a PDF file into multiple files.
rc pdf split [input] [-o output-dir] [-p pages]
| Option | Description |
|---|---|
-o, --output | Output directory (default: same as input file) |
-p, --pages | Page range or each (default: each) |
rc pdf split document.pdf # split each page
rc pdf split document.pdf -p "1-3,5" # extract pages 1-3 and 5
otp <subcommand>Manage two-factor authentication accounts. Each operation is a dedicated subcommand.
rc otp <subcommand> [account] [options]
| Subcommand | Alias | Description |
|---|---|---|
add | a | Add a new account (manual entry or otpauth:// URI) |
list | ls | List all accounts with current OTP codes |
generate [account] | g | Generate OTP for an account |
delete [account] | del | Delete an account |
rename [account] | mv | Rename an account |
info [account] | i | Show detailed info for an account |
export [file] | — | Export accounts to a backup file |
import [file] | — | Import accounts from a backup file |
Options for generate and list:
| Option | Description |
|---|---|
-w, --watch | Auto-refresh OTP codes every second |
-c, --copy | Copy the generated OTP to clipboard (generate only) |
rc otp generate # interactive: pick account & generate
rc otp generate "GitHub:alice@example.com" # generate for specific account
rc otp generate --copy # generate & copy to clipboard
rc otp list --watch # live-refresh all codes
rc otp add # add a new account
rc otp delete # delete an account
rc otp export backup.json # export to file
rc otp import backup.json # import from file
provider <subcommand>Manage LLM providers. Each provider stores API credentials and model presets (text model for translate, vision model for OCR/redact).
rc provider <subcommand> [name]
| Subcommand | Alias | Description |
|---|---|---|
add [name] | — | Add a new provider |
list | ls | List all providers |
show [name] | — | Show provider details |
edit [name] | — | Edit a provider |
remove [name] | rm | Remove a provider |
provider add [name]Add a new LLM provider. Prompts for API Key, Base URL, Text model, Vision model.
rc provider add openai # create "openai" provider
rc provider add # interactive name prompt
provider listList all providers with their API key (masked) and usage status.
rc provider list
provider show [name]Show provider details: API key (masked), base URL, models, and which commands use it.
rc provider show openai
provider edit [name]Edit an existing provider. Pre-fills current values as defaults. Allows changing API key, base URL, text model, vision model.
rc provider edit openai # edit "openai"
rc provider edit # interactive picker
provider remove [name]Remove a provider. Warns if the provider is in use by any command.
rc provider remove openai # remove "openai"
rc provider remove # interactive picker
| Option | Description |
|---|---|
--debug | Enable verbose debug logging |
-h, --help | Show help |
-v, --version | Show version |
FAQs
A CLI toolkit for AI-powered text translation, image OCR, project compression, and two-factor authentication (OTP) management.
We found that red-coast demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
Miasma Mini Shai-Hulud hits @immobiliarelabs Backstage plugins, targeting GitLab and LDAP auth packages on npm.

Security News
Rolldown paused Rust React Compiler integration after a 5MB binary size increase raised concerns about shipping React-specific code to all Vite users.

Security News
/Research
Mini Shai-Hulud expands into the Go ecosystem after hitting LeoPlatform npm packages and targeting GitHub Actions workflows.