如何使用 wjs-voicedrop
一个 Claude Code skill:在终端里用一句话读写你的 VoiceDrop 账号。
wjs-voicedrop 把 VoiceDrop 的全部后端接口包成一个 Claude Code skill。装好之后,你直接对 Claude 说「列出我的 VoiceDrop 文章」「把这几篇蒸馏成文风上传」「触发挖矿」「查算力余额」,它就替你认证、调接口、整理结果——不用记 URL、不用手抄 token。
它能做的事 = VoiceDrop 后端能做的事:文章(列 / 读 / 写 / 版本)、文风 CLAUDE.md(读 / 写)、照片(列 / 传 / 下)、录音(列 / 传 / 下)、触发挖矿、算力余额与账单、分享链接、发公众号草稿。要直接用 HTTP 调,看 API 参考。
前置
- Claude Code 已安装(
npm i -g @anthropic-ai/claude-code,或curl -fsSL https://claude.ai/install.sh | bash)。 - Node ≥ 20(登录脚本用,零依赖,仅用内置模块)。
安装 skill
在 Claude Code 里说一句即可:
安装
https://github.com/jianshuo/claude-skills/tree/main/wjs-voicedrop
Claude 会 clone 仓库、把 wjs-voicedrop/ 放进 ~/.claude/skills/wjs-voicedrop/(本页后面写死的路径都基于此)。装好后直接说人话——「列出 voicedrop 文章」「蒸馏文风」「触发挖矿」「登录 voicedrop」,或敲 /wjs-voicedrop。下面先把登录走通。
第一步:登录(6+4 手机配对)
skill 自带一个登录脚本 vd-login.mjs,扮演「新设备」和你的手机(老设备)配一次对,把账号凭证端到端加密取到本机,存进 ~/.config/voicedrop/credentials(chmod 600)。之后所有调用自动读它。
前提:手机在线、app 在前台、已登录目标账号,且是支持设备配对的版本。
先查是否已登录
node ~/.claude/skills/wjs-voicedrop/vd-login.mjs status
# 已登录 → {"ok":true,"scope":"users/anon-…/","live":true}
# 未登录 → {"ok":false,…} → 走下面两步
两步握手
在手机 app 设置 → 账户 看那串 6 位十六进制短码,跑:
node ~/.claude/skills/wjs-voicedrop/vd-login.mjs start <6位码>
{"ok":true,"pairingId":…} → 手机这会儿会弹一个 4 位数字码。
{"ok":false,"error":"no_match"} → 6 位码错,或手机离线 / 后台 / 旧版本。
把手机弹出的 4 位数字码 输入:
node ~/.claude/skills/wjs-voicedrop/vd-login.mjs finish <4位码>
{"ok":true,"scope":"users/anon-…/"} → 登录成功,凭证已落地。
wrong_code + remaining → 输错了,用对的再跑一次 finish(共 5 次 / 2 分钟)。
安全:这是把账号的完整密钥拷到磁盘,不是可吊销的子 token。谁拿到
~/.config/voicedrop/credentials就有该账号全部权限,且无法单独吊销这台机器。保持文件私有,绝不提交或同步到任何可读处。退出登录:vd-login.mjs logout。
它能做什么
| 资源 | 操作 |
|---|---|
| 文章 | 列出(最新在前)· 读全文 · 写(自动版本化)· 版本历史 / 撤销重做 · 删除 |
| 文风 | 读 / 写 CLAUDE.md——挖文章时自动叠加进 prompt |
| 照片 | 列出 · 上传 · 下载(公开 / 私有) |
| 录音 | 列出 · 上传(自动触发挖矿)· 下载 |
| 操作 | 触发挖矿 · 查算力余额与账单 · 生成公开分享链接 · 发公众号草稿 |
常用例子
登录后直接对 Claude 说人话即可;下面是它背后实际跑的命令,供你心里有数。先取 token:
# 用 6+4 登录存下的凭证
CRED=~/.config/voicedrop/credentials
TOKEN=$(python3 -c "import json;print(json.load(open('$CRED'))['token'])")
列出我的文章(最新在前)
curl -s -H "Authorization: Bearer $TOKEN" https://jianshuo.dev/files/api/articles
蒸馏文风并上传
挑 3–6 篇成文文章 → Claude 提炼出可执行的「文风规则」→ 预览确认后写进 CLAUDE.md,下次挖文章自动带上。直接说「蒸馏我的 VoiceDrop 文风」即可。
列出录音(按真实上传时间倒序)
curl -s -H "Authorization: Bearer $TOKEN" https://jianshuo.dev/files/api/list \
| python3 -c "import json,sys
recs=[f for f in json.load(sys.stdin)['files'] if f['name'].endswith('.m4a')]
recs.sort(key=lambda f:f.get('uploaded',''), reverse=True)
[print(f.get('uploaded',''),f['name']) for f in recs]"
用 uploaded(R2 上传时间)排序,不靠文件名——名字里的时间戳不一定是可靠时钟。
立即触发挖矿
curl -s -X POST -H "Authorization: Bearer $TOKEN" https://jianshuo.dev/agent/mine/trigger
查算力余额 / 账单
curl -s -H "Authorization: Bearer $TOKEN" https://jianshuo.dev/agent/usage/balance
curl -s -H "Authorization: Bearer $TOKEN" "https://jianshuo.dev/agent/usage/ledger?limit=50"
两种认证
| 方式 | 能看谁 | 怎么拿 |
|---|---|---|
| 6+4 设备配对 | 该用户自己 | 上面的自助登录(推荐) |
| App 临时 token | 该用户自己 | App 设置 → 账户 → 复制 |
两种都解析到同一个用户、只能访问自己的数据;细节见 API 参考。