https://github.com/gxr404/yuque-dl
yuque 语雀知识库下载
https://github.com/gxr404/yuque-dl
cli download markdown nodejs yuque yuque-dl
Last synced: 5 months ago
JSON representation
yuque 语雀知识库下载
- Host: GitHub
- URL: https://github.com/gxr404/yuque-dl
- Owner: gxr404
- Created: 2023-08-14T07:05:04.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-04-19T09:31:20.000Z (6 months ago)
- Last Synced: 2025-05-12T20:52:16.299Z (5 months ago)
- Topics: cli, download, markdown, nodejs, yuque, yuque-dl
- Language: TypeScript
- Homepage:
- Size: 1.97 MB
- Stars: 1,187
- Watchers: 9
- Forks: 190
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# yuque-dl
语雀知识库下载为本地markdown

## Prerequisite
- Node.js 18.4 or later
## Install
```bash
npm i -g yuque-dl
```## Usage
```bash
$ yuque-dl --helpUsage:
$ yuque-dlCommands:
语雀知识库url
server 启动web服务For more info, run any command with the `--help` flag:
$ yuque-dl --help
$ yuque-dl server --helpOptions:
-d, --dist-dir 下载的目录 eg: -d download (default: download)
-i, --ignore-img 忽略图片不下载 (default: false)
-k, --key 语雀的cookie key, 默认是 "_yuque_session", 在某些企业版本中 key 不一样
-t, --token 语雀的cookie key 对应的值
--toc 是否输出文档toc目录 (default: false)
--incremental 开启增量下载(初次下载加不加该参数没区别) (default: false)
--convertMarkdownVideoLinks 转化markdown视频链接为video标签 (default: false)
--hideFooter 是否禁用页脚显示(更新时间、原文地址...) (default: false)
-h, --help Display this message
-v, --version Display version number
```### Start
```bash
# url 为对应需要的知识库地址
yuque-dl "https://www.yuque.com/yuque/thyzgp"
```## Example

## 其他场景
### 私有知识库
通过别人私有知识库 分享的链接,需使用`-t`添加token才能下载
```bash
yuque-dl "https://www.yuque.com/yuque/thyzgp" -t "abcd..."
```[token的获取请看](./docs/GET_TOEKN.md)
### 企业私有服务
企业服务有自己的域名(黄色语雀logo),非`yuque.com`结尾, 如`https://yuque.antfin.com/r/zone`
这种情况 token的key不唯一, 不一定是为`_yuque_session` 需用户使用 `-k` 指定 token的key,`-t` 指定 token的值。
至于`key`具体是什么只能靠用户自己在 `浏览器Devtools-> Application -> Cookies` 里找了🤔
### 公开密码访问的知识库
> [!WARNING]
> 下载"公开密码访问的知识库" 前提是需要知道别人设置的密码,输入密码后拿cookie进行下载,**无法做到破解密码**, 请须知
⚠️ 公开密码访问的知识库两种情况:
- 已经登录语雀,访问需要密码的知识库 输入密码后使用`_yuque_session`这个cookie
```bash
yuque-dl "url" -t "_yuque_session的值"
```- 未登录语雀,访问需要密码的知识库 输入密码后需要使用`verified_books`/`verified_docs`这个cookie
```bash
yuque-dl "url" -k "verified_books" -t "verified_books的值"
```## 内置启动web服务可快速预览
使用[`vitepress`](https://vitepress.dev/)快速启动一个web服务提供可预览下载的内容
```bash
yuque-dl server ./download/知识库/➜ Local: http://localhost:5173/
➜ Network: use --host to expose
```
## Feature
- [x] 支持下载中断继续
- [x] 支持图片下载本地
- [x] 支持下载分享私有的知识库
- [x] 支持转换表格类型的文档 (ps: 表格内插入图表暂不支持)
- [x] 添加toc目录功能
- [x] 添加测试
- [x] 添加附件下载
- [ ] 支持其他文档类型?🤔
- [ ] 直接打包成可执行文件 🤔## 常见错误
1. 由于token可能含有 特殊字符导致参数识别错误
```bash
yuque-dl "https://www.yuque.com/yuque/thyzgp" -t "-a123"
yuque-dl [ERROR]: Unknown option `-1`
```解决方案
```bash
yuque-dl "https://www.yuque.com/yuque/thyzgp" -t="-a123"
```2. 附件下载失败,需设置登录token
附件文件下载需要用户登录token,即使是完全公开的知识库,下载附件也可能需要
完全公开的知识库未登录的情况下查看附件:

## Tips
由于网络波动下载失败的,重新运行即可,已下载的进度不会受到影响