VoiceDrop ← 开发者

如何使用 wjs-voicedrop

一个 Claude Code skill:在终端里用一句话读写你的 VoiceDrop 账号。

wjs-voicedrop 把 VoiceDrop 的全部后端接口包成一个 Claude Code skill。装好之后,你直接对 Claude 说「列出我的 VoiceDrop 文章」「把这几篇蒸馏成文风上传」「触发挖矿」「查算力余额」,它就替你认证、调接口、整理结果——不用记 URL、不用手抄 token。

它能做的事 = VoiceDrop 后端能做的事:文章(列 / 读 / 写 / 版本)、文风 CLAUDE.md(读 / 写)、照片(列 / 传 / 下)、录音(列 / 传 / 下)、触发挖矿算力余额与账单分享链接发公众号草稿。要直接用 HTTP 调,看 API 参考

前置

安装 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/credentialschmod 600)。之后所有调用自动读它。

前提:手机在线、app 在前台、已登录目标账号,且是支持设备配对的版本。

先查是否已登录

node ~/.claude/skills/wjs-voicedrop/vd-login.mjs status
# 已登录 → {"ok":true,"scope":"users/anon-…/","live":true}
# 未登录 → {"ok":false,…}  → 走下面两步

两步握手

1

在手机 app 设置 → 账户 看那串 6 位十六进制短码,跑:

node ~/.claude/skills/wjs-voicedrop/vd-login.mjs start <6位码>

{"ok":true,"pairingId":…} → 手机这会儿会弹一个 4 位数字码
{"ok":false,"error":"no_match"} → 6 位码错,或手机离线 / 后台 / 旧版本。

2

把手机弹出的 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 参考