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

@orpheus-aviary/lark-cli

v0.3.0

Published

lark(百灵音乐)命令行客户端

Readme

@orpheus-aviary/lark-cli

lark(百灵音乐)的命令行客户端。管理曲库与歌单、下载歌曲与歌词、控制播放,也可以拉起桌面端。

npm i -g @orpheus-aviary/lark-cli

仅 macOS arm64,需要 Node 24 以上。

它怎么工作

lark 说话的对象是本机的 lark daemon(127.0.0.1:47100)。daemon 在跑就走 HTTP;没在跑时,只读命令可以加 --direct 直接打开曲库(daemon 在跑时一律禁止 --direct 写,两个写入者会互相破坏)。

数据都在 ~/orpheus-aviary-nest/lark/

lark status                 # daemon 在不在,曲库在哪
lark daemon                 # 起一个 daemon
lark songs list             # 曲库
lark download <链接或关键词> # 下载(链接加 --clean-name 让 LLM 从标题里读出歌名与歌手)
lark play <歌名>            # 播放(必要时拉起桌面端)
lark sync status            # 同步状态
lark skill export           # 导出给 agent 用的技能说明

lark --help 是完整列表;每条命令都支持 --json--json 下 exit 0 等价于 stdout 恰好一条成功信封)。

多设备同步(0.2 起)

歌曲与歌单的元数据、歌词可以经 skybridge 在多台设备之间同步; 音频本体不同步,每台设备凭来源信息按需下载。

lark sync config-show       # 连的是哪台服务器、绑没绑(不需要 daemon,也不需要曲库)
lark sync login --server https://… --email [email protected]
lark sync run               # 立刻跑一轮(平时由 daemon 自己定时跑)
lark sync status            # 待推送、冲突、卡住的文件操作、重复的曲目
lark sync file-ops          # 卡住的文件操作:重试或放弃
lark sync unbind            # 解绑本机(要先 stop-daemon;会说明丢弃多少未推送变更)

密码只从静音输入或 --password-stdin 读,没有 --password 参数。服务器必须是 HTTPS; 明文 HTTP 要同时给 --allow-insecure-http 和全局 --yes

⚠️ 0.3 会把曲库升到 schema v3,并把已有的 mp3 一次性转成 m4a,两者都不可逆:升级后 0.2.x 将拒绝打开它。迁移只发生在 daemon 启动时,所以旧曲库即使只读 --direct 也会先报 MIGRATION_PENDING——起一次 lark daemon 让它跑完(转换期间业务命令答 AUDIO_MIGRATION_PENDINGlark status 会说它在做什么)。导入的原始文件会移进 migration-backup/ 留给你处置,下载来的 原件在产物验证通过后删除。想留退路请先备份 ~/orpheus-aviary-nest/lark/

退出码

| 码 | 含义 | |---|---| | 0 | 成功 | | 1 | 操作失败 | | 2 | 命令写错了 | | 3 | 环境不满足(没配 LLM、缺 ffmpeg、原生模块 ABI 不匹配……) | | 4 | 没人在听(daemon 没跑、GUI 不在线) | | 5 | 有东西在,但拒绝(曲库被占用、名字有歧义、需要迁移……) | | 130 | 被中断 |

转码需要 ffmpeg

下载与导入都要 ffmpeg / ffprobe。桌面端的 bundled 安装包自带一份;单装 CLI 的话用 brew install ffmpeg。缺了会明确报 MEDIA_TOOLS_UNAVAILABLE(exit 3),不会把它说成某一首歌的问题。

许可

MIT。仓库:https://github.com/orpheus-aviary/lark