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
Maintainers
Readme
RedCoast · 红岸工程
在浩瀚的数字荒原中,信息如同宇宙背景辐射般嘈杂且无序。为了在这些杂乱的信号中提取出逻辑的火花,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 auto3. OCR
# 从图片提取文字
rc ocr ./screenshot.png
# 交互模式
rc ocr4. 打码脱敏
# 自动识别并遮挡默认敏感信息(姓名、手机号、邮箱、出生日期)
rc redact ./id-card.jpg
# 指定检测目标
rc redact ./form.png --targets "姓名,手机号,地址"
# 指定输出路径
rc redact ./form.png --output ./form-safe.png5. 归档
# 归档当前目录(遵循 .gitignore)
rc archive .
# 指定归档格式
rc archive ./my-project --format tar.gz
# 自定义输出目录和文件名
rc archive . --output ~/Desktop --name my-backup6. 两步验证
# 交互式选择账户并生成 OTP
rc otp generate
# 直接生成指定账户的 OTP
rc otp generate "GitHub:[email protected]"
# 生成并复制到剪贴板
rc otp generate --copy
# 添加新账户
rc otp add
# 实时刷新所有账户的 OTP 码
rc otp list --watch7. 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 printerpdf 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] | — | 从备份文件导入账户 |
generate 和 list 的附加选项:
| 选项 | 说明 |
|------|------|
| -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 listcc current
显示当前激活的配置及其值。敏感字段(键名包含 "key" 或 "token")自动遮罩。
rc cc currentcc 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 密钥派生,需用户设置独立密码
- 明文备份文件请妥善保管,避免泄露
