JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 123
  • Score
    100M100P100Q89884F
  • License UNLICENSED

CLI for submitting Deyo transcription jobs from the terminal

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@casatwy/deyo) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    deyo

    deyohttps://deyo.miaobi.fun 的命令行工具。你可以直接在终端里提交音视频链接进行转写,并把结果输出到终端或保存到本地文件。

    当前支持的来源包括小宇宙单集、喜马拉雅单集、B 站单视频、抖音单视频、小红书单视频笔记、YouTube 单视频、Apple Podcasts 单集和 Twitter/X 单条推文。其中 Twitter/X 只有视频推文可转写,文本 / 图片推文会返回 422,不会扣分钟或创建转写任务。

    安装

    安装前请确认本机 Node.js 版本不低于 18

    npm install -g @casatwy/deyo
    pnpm add -g @casatwy/deyo

    安装完成后,可以先执行下面的命令确认 CLI 已可用:

    deyo --help

    使用前准备

    在使用 CLI 之前,你需要先创建一个 Deyo API Key:

    1. 打开 https://deyo.miaobi.fun/me/api-keys
    2. 创建一个新的 API Key
    3. 复制这个 Key,后面登录 CLI 时会用到

    deyo 默认连接正式服务 https://deyo.miaobi.fun,普通用户不需要额外配置服务地址。

    首次登录

    把 API Key 保存到本地后,后续就不需要每次转写时都重复传 --api-key

    deyo auth login --api-key 'deyo_sk_xxx'

    查看当前本地登录状态:

    deyo auth status

    如果你想清除本地保存的配置:

    deyo auth logout

    快速开始

    最简单的用法是直接给 deyo 一个链接:

    deyo 'https://www.youtube.com/watch?v=xxxx'

    这条命令会:

    1. 使用你本地已保存的 API Key
    2. 提交一个转写任务
    3. 在终端里持续显示任务进度
    4. 完成后直接把结果输出到终端

    如果你希望把结果保存到文件:

    deyo -O ./transcript.txt 'https://www.bilibili.com/video/BVxxxx'

    常见用法

    处理小宇宙单集并保存为文本:

    deyo -O ./episode.txt 'https://www.xiaoyuzhoufm.com/episode/xxxx'

    处理喜马拉雅单集并保存为文本:

    deyo -O ./ximalaya.txt 'https://www.ximalaya.com/sound/963656969'

    处理 Twitter/X 视频推文并保存为文本:

    deyo --source twitter -O ./tweet.txt 'https://x.com/historyinmemes/status/1790637656616943991'

    如果传入 Twitter/X 文本或图片推文,CLI 会提示当前不支持转写;这类内容不会进入支付或分钟扣减链路。

    保存为普通文本:

    deyo -O ./transcript.txt 'https://www.bilibili.com/video/BVxxxx'

    导出为 srt 字幕文件:

    deyo --format srt -O ./transcript.srt 'https://www.youtube.com/watch?v=xxxx'

    为 AI 或日志系统输出结构化进度:

    deyo --progress-format jsonl -O ./transcript.txt 'https://www.youtube.com/watch?v=xxxx'

    如果输出文件名本身就是 .srt,也可以省略 --format srt,CLI 会自动识别格式。

    指定输出英文转写结果:

    deyo --language en 'https://www.youtube.com/watch?v=xxxx'

    如果某一次命令想临时使用另一个 API Key,可以直接显式传入:

    deyo --api-key 'deyo_sk_other' 'https://www.youtube.com/watch?v=xxxx'

    常用参数

    --language <value>

    指定转写语言。默认是 zh,也就是中文输出。也可以写 en,英文输出。

    -O, --output <path>

    把结果写入文件。如果不传这个参数,结果会直接打印到终端。

    --format <value>

    指定结果格式,支持:

    • text
    • srt
    • vtt

    如果你已经通过 -O 指定了输出文件名,CLI 会根据扩展名自动推断常见格式:

    • .srt 会自动使用 srt
    • .vtt 会自动使用 vtt
    • 其他情况默认使用 text

    --progress-format <value>

    指定进度输出格式,支持:

    • auto
    • text
    • jsonl

    默认值是 auto

    • 当 stderr 是 TTY 时,会保留当前的单行原地刷新进度体验
    • 当 stderr 不是 TTY 时,会退化成逐行文本进度,避免控制字符污染日志或代理输出

    如果你希望 AI 或脚本稳定读取进度事件,建议使用 --progress-format jsonl。此时 CLI 会继续把最终结果输出到 stdout 或文件,只把进度事件按 JSON Lines 写到 stderr。

    --api-key <key>

    为当前这一次命令临时指定 API Key。
    如果你已经执行过 deyo auth login,平时通常不需要再传。
    当它和本地已保存配置同时存在时,会优先使用这次命令里传入的 --api-key

    -v, --version

    打印当前 CLI 版本号并退出,适合快速确认本机装的是哪个版本。

    在 AI 工具中使用

    如果你希望让 AI 助手在你的本机环境里调用 deyo,可以参考官方安装页:

    这些页面面向普通用户,主要会指导 AI:

    1. 如何安装 deyo 的技能或插件
    2. 如何向你索取一次 API Key
    3. 如何在你的本地环境执行 deyo auth login

    完成后,你就可以让 AI 直接帮你调用 deyo 提交转写任务。对于需要在对话里持续同步进度的场景,AI 应优先使用 --progress-format jsonl,读取 stderr 里的结构化事件,再把任务创建、状态切换、关键百分比和最终结果转述给你。

    更多帮助

    查看完整参数说明:

    deyo --help