Yuque OpenAPI v2 · Zero Dependency

让 AI 直接
读写你的语雀

一个 零依赖的 Python CLI,封装语雀 OpenAPI v2。 配好一个 YUQUE_TOKEN,就能让 AI 确认账号身份、翻你的知识库、把文档读出来、写回去。

yuque.py — whoami
# 确认这个 Token 是谁的
$ python yuque.py whoami
{
  "data": {
    "login": "your-login",
    "name":  "你的昵称",
    "books_count": 8
  }
}

# 顺藤摸瓜,列知识库
$ python yuque.py repos your-login
→ 8 个知识库,含 slug / 名称 / 篇数
20个
子命令全覆盖
0依赖
只用 Python 标准库
1个域名
只访问 yuque.com
3.8+
Python 版本要求
01 — CAPABILITY

它不是「查一下」,是「替你动手」

读、写、改、删、建目录,全都能通过一句话交给 AI 执行。你只需要把 Token 交给自己这台机器。

◎

确认账号与权限

whoami 拿到 login、昵称、知识库数量,先确认这个 Token 是谁的、能碰到什么。

⇄

双向读写

本地 Markdown 直接推到语雀,语雀正文拉回本地成 .md。支持创建、更新、删除文档与知识库。

⌗

目录也能改

新建文档默认不进目录。TOC 接口可以挂节点、调顺序、建分组,把结构一起维护好。

▸

把 ./周报.md 发到「团队 / 周报」知识库

doc-create team weekly --title "本周周报" --body-md ./周报.md
▸

把某个知识库的文章全部导出成 Markdown

docs team repo → 循环 doc → 落盘 .md
▸

查一下「接口文档」那篇现在写了什么

doc team repo api-spec
▸

随手记一条今天的进展

note-create --body "今天把导出脚本跑通了"
02 — QUICK START

三步接上

不需要 pip install,不需要装 SDK。有 Python 3.8+ 和一个 Token 就够了。

1

放好 skill 目录

把 yuque/ 放到 skills 目录下。

~/.workbuddy/skills/yuque/
├── SKILL.md
├── references/api.md
└── scripts/yuque.py
2

拿 Token 并写进环境变量

打开 语雀 → 设置 → 开发者 → Token 新建,勾读权限(要写文档再勾写)。只显示一次,当场复制。


          
3

验证身份

跑通 whoami,返回 login 就说明接通了。


          
03 — COMMANDS

20 个子命令

按风险分成四档。只读随便调,写入和删除前先看清楚目标。

命令清单
命令作用风险对应 API
04 — SAFETY

它能碰到什么,碰不到什么

这东西能改你的知识库,所以边界要写清楚。

行为边界
  • 出网只有一个域名:www.yuque.com,不连任何第三方。
  • 只读环境变量里的 YUQUE_TOKEN,不写日志、不外传。
  • 不写本地文件(除了你明确指定的 --body-md 输入)。
  • 没有子进程、没有 eval、没有混淆代码。
  • 纯标准库,不需要 pip install,无供应链风险。
风险提示
  • 删除repo-delete / doc-delete 不可逆,没有回收站兜底。
  • 写入会让内容出现在团队里,别人看得见。
  • Token 等同于账号权限,别写进仓库、别贴进聊天记录。
  • 建议先给一个只读 Token 试水,确认脚本行为再换可写 Token。
05 — FAQ

常见卡点

Windows 上跑 python 没反应,或报 9009?

大概率是 Microsoft Store 的别名桩。装一个真 Python:winget install -e --id Python.Python.3.12,装完重开终端。

返回 401,是 Token 错了吗?

401 通常是 Token 失效或 Scope 不足。去设置页重建,注意读写权限要单独勾。只读 Token 调 doc-create 也会 401/403。

新建的文档在哪?目录里找不到

创建文档不会自动挂到目录。先拿 doc-create 返回的 id,再调 toc-update --action appendNode --doc-ids <id>。

能不能在网页里直接调?

不行。语雀 API 不返回 Access-Control-Allow-Origin,浏览器会拦截跨域响应。用第三方代理等于把 Token 交给别人,不建议。所以这个 skill 走本地 CLI。

知识库和文档的 slug 怎么找?

repos <login> 拿知识库 slug,docs <group> <repo> 拿文档 slug。数字 id 也能用,两种寻址等价。