Asia/Shanghai
ProjectsJuly 31, 2026

JumpOTP

image
JumpOTP is a small open-source CLI for authorized interactive SSH sessions that request TOTP. It waits for a narrowly configured prompt, asks an already authenticated Bitwarden Password Manager CLI for the current code, and submits that code at most once per connection. It does not replace OpenSSH configuration, manage vault login or unlock state, export TOTP seeds, or take ownership of ControlMaster lifetime. SSH access through a bastion can be secure and still be repetitive. Copying a six-digit code by hand adds friction, while broad terminal automation adds risk. JumpOTP narrows the automated step to one configured prompt and one write, then leaves the session to the user.
  • connect PROFILE/TARGET starts one direct interactive session.
  • workspace PROFILE opens configured aliases in a dedicated tmux server and reattaches on the next run.
Both modes support ssh and optional sshm launchers. Workspace stop affects only the selected JumpOTP profile and never kills the default tmux server.
  • Fetch TOTP only after a complete configured prompt matches.
  • Submit automatically no more than once per connection.
  • Store no TOTP seed and put no code in argv, environment variables, logs, files, clipboard, or tmux buffers.
  • Explain retrieval failure, restore normal echo, and allow visible manual digits by default.
  • Keep OpenSSH host-key verification and SSH aliases authoritative.
Bash
npm install -g jumpotp
jumpotp config init
jumpotp config validate
JumpOTP 是一个面向授权交互式 SSH/JumpServer 会话的开源 CLI。它只在严格匹配到配置的 TOTP 提示后,向当前已经登录或解锁的 Bitwarden Password Manager CLI 请求验证码,并且每条连接最多自动提交一次。 它不接管 OpenSSH 配置,不负责密码库登录或解锁,不导出 TOTP 种子,也不控制 ControlMaster 的生命周期。 经过堡垒机的 SSH 访问可以很安全,但重复抄写六位验证码仍然有摩擦。把整个终端交给宽泛自动化又会扩大风险。JumpOTP 只自动处理一个严格提示和一次写入,随后把会话完整交还给用户。
  • connect PROFILE/TARGET 启动一次交互式直连。
  • workspace PROFILE 在专用 tmux server 中打开配置的 SSH alias,再次运行同一命令即可重新接入。
两种模式都支持 ssh 和可选的 sshm launcher。停止 workspace 只影响指定的 JumpOTP profile,不会杀掉默认 tmux server。
  • 只有完整匹配配置提示后才取 TOTP。
  • 每条连接最多自动提交一次。
  • 不保存 TOTP 种子,不把验证码写入 argv、环境变量、日志、文件、剪贴板或 tmux buffer。
  • 取码失败时说明原因、恢复正常回显,并默认允许可见手输数字。
  • OpenSSH 主机密钥校验与 SSH alias 始终保持权威。
Bash
npm install -g jumpotp
jumpotp config init
jumpotp config validate

Related projects

another

another

在多个 coding agent 之间浏览、管理、迁移并继续真实会话:把对话写进目标 agent 的原生存储,而不是粘贴一份摘要。
Clean Design

Clean Design

Use the AI tools you already have to create editable visual projects that stay on your Mac.
Codex Minus

Codex Minus

面向 macOS 与 Windows 的精简 Codex 管理工具:安全切换供应商,管理官方与自定义模型目录,并保护 OAuth 与 Context。
Codex Doubao Pets

Codex Doubao Pets

六个可以直接安装到 Codex Desktop 的豆包桌宠。用真实角色图完成选择,用一条 npm 命令完成安装。
loop

loop

一次显式触发,按产物就绪状态自动连接 deep-grill、deep-design 和 deep-build,持续推进到已确认规格或可验证结果。
Slash Saver

Slash Saver

一个只为物理斜杠键做一件事的原生 macOS 工具:在原始按键进入当前应用前,切到用户指定的 ASCII 输入源。
deep-grill

deep-grill

同一个 Agent Skill,用探索模式把原始想法变成已确认 Product Brief,用审查模式压力测试成形方案,并在普通回复中持续当前会话。
Mingjian AI Services

Mingjian AI Services

A focused collaboration entry for teams moving from AI ideas to working products, Agent systems, and operable business workflows.
opencode-sub2api-haiku-fix

opencode-sub2api-haiku-fix

A focused OpenCode plugin that fixes Claude Haiku extra-usage failures through Sub2API while preserving thinking and leaving Sub2API, OpenCode, and OMO untouched.
opencode-metrics

opencode-metrics

OpenCode TUI 的分会话侧边栏指标插件。按 sessionID 记录速度、TTFT、token、缓存、计时,只显示你当前 attach 的会话,而不是 serve 模式下的全局汇总。
opencode-plugin-fixes

opencode-plugin-fixes

Archived OpenCode guardrail experiment. The final source tree covers four narrow tool-call repairs; no npm package was ever published.
opencode-vibe-island-plugin

opencode-vibe-island-plugin

让 Vibe Island 在装了 oh-my-openagent 时仍然把 OpenCode 会话当成 OpenCode。修好 source 误标和 Ghostty 点击跳转。
OpenCode Themes

OpenCode Themes

Terminal-inspired dark themes for Obsidian, Typora, and Ghostty, all synced to the official OpenCode TUI palette.
wechat-mp-publisher

wechat-mp-publisher

从个人公众号 Skill 到可公开安装的 npm 包:本地校验与沙箱预览在前,用户确认后只创建草稿。
SIGINT

SIGINT

已归档的内容情报实验:曾把小红书/抖音采集、AI 分析、n8n 编排与实时仪表盘接成一条完整链路。
MdictLive

MdictLive

Modern web reader for MDict dictionaries with React 19 SPA, dark mode, and faithful rendering.
SiliconLM

SiliconLM

Local LLM dashboard for Apple Silicon Macs, currently preserved without an active local deployment.
mdx2apple

mdx2apple

Convert MDict (.mdx/.mdd) dictionaries to macOS Apple Dictionary format with one command.