npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

red-coast

v0.0.9

Published

A CLI toolkit for AI-powered text translation, image OCR, project compression, and two-factor authentication (OTP) management.

Downloads

1,178

Readme

RedCoast · 红岸工程

npm version npm downloads bundle License

English


在浩瀚的数字荒原中,信息如同宇宙背景辐射般嘈杂且无序。为了在这些杂乱的信号中提取出逻辑的火花,RedCoast(红岸工程) 应运而生。这不是一个简单的工具集,它是一场针对底层数据的"搜索与监听"计划。

正如 1960 年代建立在雷达峰上的那个秘密基地一样,RedCoast 旨在构建一套独立于外部依赖、运行在"本地节点"上的高功率信息处理矩阵。它不向云端寻求准许,也不在噪音面前低头。它的目标很纯粹:采集、解析、重构

"我们不需要知道宇宙中是否存在其他的文明,我们只需要在这里,在我们的终端上,建立起属于我们自己的文明秩序。"


功能

  • 🌐 翻译 — 使用任意 OpenAI 兼容的 LLM 将文本翻译为 9 种语言
  • 👁 OCR — 使用视觉模型从本地图片中提取文字
  • 🔏 打码 — 使用视觉模型识别并遮挡图片中的敏感信息
  • 📦 归档 — 归档项目目录,自动遵循 .gitignore 规则
  • 📄 PDF — 通过 Ghostscript 处理 PDF 文件(压缩、转图片、拆分)
  • 🔐 OTP — 在终端中管理 TOTP/HOTP 两步验证账户
  • 🔄 CC — 管理多个 Claude Code API 配置,一键切换

安装

npm install -g red-coast
# 或
pnpm add -g red-coast

快速开始

1. 配置

# 配置翻译(交互式填入 API Key、Model、Base URL 等)
rc translate config

# 配置 OCR
rc ocr config

# 配置打码脱敏
rc redact config

首次运行命令时若未配置,会自动进入交互式引导流程。

2. 翻译

# 直接翻译文本
rc translate "Hello, world!" --to zh

# 交互模式
rc translate

# 根据系统语言自动选择目标语言
rc translate "Hello" --to auto

3. OCR

# 从图片提取文字
rc ocr ./screenshot.png

# 交互模式
rc ocr

4. 打码脱敏

# 自动识别并遮挡默认敏感信息(姓名、手机号、邮箱、出生日期)
rc redact ./id-card.jpg

# 指定检测目标
rc redact ./form.png --targets "姓名,手机号,地址"

# 指定输出路径
rc redact ./form.png --output ./form-safe.png

5. 归档

# 归档当前目录(遵循 .gitignore)
rc archive .

# 指定归档格式
rc archive ./my-project --format tar.gz

# 自定义输出目录和文件名
rc archive . --output ~/Desktop --name my-backup

6. 两步验证

# 交互式选择账户并生成 OTP
rc otp generate

# 直接生成指定账户的 OTP
rc otp generate "GitHub:[email protected]"

# 生成并复制到剪贴板
rc otp generate --copy

# 添加新账户
rc otp add

# 实时刷新所有账户的 OTP 码
rc otp list --watch

7. CC

管理多个 Claude Code API 配置,一键切换。

# 添加一个命名配置(交互式填入 API Key、Base URL、Model)
rc cc add tencent

# 列出所有配置
rc cc list

# 切换到指定配置
rc cc use tencent

# 查看当前激活的配置
rc cc current

# 编辑一个配置
rc cc edit tencent

# 删除一个配置
rc cc remove tencent

命令说明

translate [text]

使用 LLM 翻译文本。

rc translate [text] [--to <语言代码>]

| 代码 | 语言 | |------|------| | auto | 跟随系统语言 | | zh | 中文 | | en | 英文 | | ja | 日文 | | ko | 韩文 | | fr | 法文 | | de | 德文 | | es | 西班牙文 | | ru | 俄文 | | ar | 阿拉伯文 |

目标语言优先级: --to 参数 › translate.targetLang 配置 › 交互式选择

translate config

查看和修改翻译配置。已有配置会预填,直接确认即保持原值。

rc translate config

提示项:Base URL、API Key、Model、默认目标语言、自定义提示词。

ocr [image]

使用视觉模型从本地图片中提取文字。

rc ocr [图片路径]

支持格式: .jpg .jpeg .png .gif .webp

ocr config

查看和修改 OCR 配置。已有配置会预填。

rc ocr config

提示项:Base URL、API Key、视觉模型、自定义 OCR 提示词。

redact [image]

使用视觉模型识别图片中的敏感信息,并用黑色矩形遮挡,输出脱敏后的新文件。

rc redact [图片路径] [--output <路径>] [--targets <目标>]

| 选项 | 说明 | |------|------| | -o, --output | 输出文件路径(默认:<原文件名>-redacted.<扩展名>) | | -t, --targets | 逗号分隔的检测目标(默认:姓名,手机号,电子邮箱,出生日期) |

rc redact ./id-card.jpg                           # 自动检测默认目标
rc redact ./form.png --targets "姓名,手机号,地址"  # 自定义检测目标
rc redact ./form.png --output ./form-safe.png     # 指定输出路径

redact config

查看和修改打码脱敏配置。已有配置会预填。

rc redact config

提示项:Base URL、API Key、视觉模型、检测目标、自定义检测提示词。

archive [input]

归档项目目录,自动遵循 .gitignore

rc archive [目录] [--format <格式>] [--output <路径>] [--name <名称>]

| 选项 | 说明 | |------|------| | -f, --format | 归档格式:zip(默认)· tar · tar.gz | | -o, --output | 输出目录(默认与输入目录相同) | | -n, --name | 自定义归档文件名 |

归档命名规则:存在 package.json 时为 <name>_v<version>.zip,否则为 <目录名>.zip

pdf <子命令>

使用 Ghostscript 处理 PDF 文件。需要安装 Ghostscript。

rc pdf <子命令> [输入文件] [选项]

| 子命令 | 说明 | |--------|------| | compress | 压缩 PDF 文件 | | to-image | 将 PDF 页面转为图片 | | split | 拆分 PDF 文件 |

注意: 需要安装 Ghostscript。如果未检测到,会通过 winget/brew/apt 自动安装。

pdf compress

压缩 PDF 文件以减小体积。

rc pdf compress [输入文件] [-o 输出文件] [-q 质量]

| 选项 | 说明 | |------|------| | -o, --output | 输出文件路径(默认:<原文件名>-compressed.pdf) | | -q, --quality | 质量:screen / ebook / printer / prepress / default(默认:ebook) |

质量预设:

  • screen — 72 dpi,最小体积
  • ebook — 150 dpi,推荐用于网络分享
  • printer — 300 dpi,高质量
  • prepress — 300 dpi,最高质量
  • default — 保持原始质量
rc pdf compress document.pdf                    # 使用 ebook 质量压缩
rc pdf compress document.pdf -q screen          # 最小体积
rc pdf compress document.pdf -o small.pdf -q printer

pdf to-image

将 PDF 页面转换为图片。

rc pdf to-image [输入文件] [-o 输出目录] [-f 格式] [-d dpi] [-p 页码]

| 选项 | 说明 | |------|------| | -o, --output | 输出目录(默认与输入文件相同) | | -f, --format | 图片格式:png / jpg / tiff(默认:png) | | -d, --dpi | 分辨率,单位 DPI(默认:150) | | -p, --pages | 页码范围,如 "1-3,5,7-" |

rc pdf to-image document.pdf                    # 所有页面转为 PNG
rc pdf to-image document.pdf -f jpg -d 300     # 高清 JPG
rc pdf to-image document.pdf -p "1-3"          # 仅转换 1-3 页

pdf split

拆分 PDF 文件。

rc pdf split [输入文件] [-o 输出目录] [-p 页码]

| 选项 | 说明 | |------|------| | -o, --output | 输出目录(默认与输入文件相同) | | -p, --pages | 页码范围或 each(默认:each,每页一个文件) |

rc pdf split document.pdf                       # 每页拆分为单独文件
rc pdf split document.pdf -p "1-3,5"           # 提取第 1-3 页和第 5 页

otp <子命令>

管理两步验证账户,每个操作对应一个独立子命令。

rc otp <子命令> [account] [选项]

| 子命令 | 别名 | 说明 | |--------|------|------| | add | a | 添加新账户(手动输入或 otpauth:// URI) | | list | ls | 列出所有账户及当前 OTP 码 | | generate [account] | g | 生成指定账户的 OTP 码 | | delete [account] | del | 删除账户 | | rename [account] | mv | 重命名账户 | | info [account] | i | 查看账户详细配置 | | export [file] | — | 导出账户备份文件 | | import [file] | — | 从备份文件导入账户 |

generatelist 的附加选项:

| 选项 | 说明 | |------|------| | -w, --watch | 实时刷新 OTP 码(每秒更新) | | -c, --copy | 将生成的 OTP 复制到剪贴板(仅 generate) |

rc otp generate                               # 交互式选择账户并生成
rc otp generate "GitHub:[email protected]"    # 直接生成指定账户的 OTP
rc otp generate --copy                        # 生成并复制到剪贴板
rc otp list --watch                           # 实时刷新所有账户
rc otp add                                    # 添加新账户
rc otp delete                                 # 删除账户
rc otp export backup.json                     # 导出备份
rc otp import backup.json                     # 导入备份

cc <子命令>

管理 Claude Code API 配置。每个配置保存一组环境变量(API Key、Base URL、Model 等),可随时切换。

rc cc <子命令> [名称]

| 子命令 | 别名 | 说明 | |--------|------|------| | add [名称] | — | 创建新配置(交互式填入) | | use [名称] | — | 切换到指定配置 | | edit [名称] | — | 编辑已有配置 | | list | ls | 列出所有配置 | | current | — | 显示当前激活的配置 | | remove [名称] | rm | 删除配置 |

cc add [名称]

创建新的命名配置。交互式填入 API Key、Base URL、Model,可选择添加额外的环境变量。

rc cc add tencent                       # 创建 "tencent" 配置
rc cc add                               # 交互式输入名称

cc use [名称]

切换到已保存的配置,将其写入 ~/.claude/settings.json

rc cc use tencent                       # 切换到 "tencent"
rc cc use                               # 交互式选择

cc list

列出所有已保存的配置,显示 model 和 base URL。

rc cc list

cc current

显示当前激活的配置及其值。敏感字段(键名包含 "key" 或 "token")自动遮罩。

rc cc current

cc edit [名称]

编辑已有配置,当前值作为默认值预填。如果该配置是当前激活的,修改会自动同步到 settings.json

rc cc edit tencent                      # 编辑 "tencent"
rc cc edit                              # 交互式选择

cc remove [名称]

删除已保存的配置。会提示确认。

rc cc remove tencent                    # 删除 "tencent"
rc cc remove                            # 交互式选择

全局选项

| 选项 | 说明 | |------|------| | --debug | 开启详细调试日志 | | -h, --help | 显示帮助信息 | | -v, --version | 显示版本号 |

安全说明

  • OTP 账户数据基于机器信息派生密钥,使用 AES 加密落盘,secret 不会明文存储
  • 加密导出使用 AES-256-CBC + scrypt 密钥派生,需用户设置独立密码
  • 明文备份文件请妥善保管,避免泄露

许可证

MIT License © OSpoon