douban-cli
Health Gecti
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 58 GitHub stars
Code Basarisiz
- process.env — Environment variable access in .github/workflows/release.yml
- spawnSync — Synchronous process spawning in scripts/install-browsers.mjs
- process.env — Environment variable access in scripts/install-browsers.mjs
- os.homedir — User home directory access in scripts/install-skill.mjs
- process.env — Environment variable access in scripts/install-skill.mjs
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
豆瓣命令行工具:书影查询、豆列、评分与短评管理;提供供 Dots 使用的本地技能和 MCP 接口
douban-cli
在终端查询豆瓣电影、图书和片单,管理个人评分与短评。支持 CLI、Agent Skill、MCP 和 ChatGPT Dots。
能做什么
| 功能 | 内容 |
|---|---|
| 电影与剧集 | 搜索、详情、热门、类型排行、Top250、口碑榜、待上映、评分与评论 |
| 图书 | 书名、作者和 ISBN 搜索,详情、榜单、新书、书评与读书笔记 |
| 豆列 | 按 ID 或地址读取,自动翻页,按作品类型和关键词筛选 |
| 个人记录 | 想看/在看/看过、想读/在读/读过;按日期、星级和文字筛选,导出 JSON 或 CSV |
| 记录编辑 | 修改短评、评分、状态、标签和可见性;支持预览,提交后读取记录核对 |
| 助手接入 | Agent Skill、6 个 MCP 工具、ChatGPT Dots 和本地诊断命令 |
安装
需要 Node.js 22.13 或更新版本。直接安装:
npm install -g https://github.com/AaronZ345/douban-cli/releases/download/v0.3.0/douban-cli-0.3.0.tgz
douban-cli --version
douban-cli doctor --json
从源码开发:
git clone https://github.com/AaronZ345/douban-cli.git
cd douban-cli
npm ci
npm run build
npm link --ignore-scripts
常用命令
电影与图书
douban-cli search 沙丘 --limit 10 --json
douban-cli movie 1292052 --json
douban-cli rank 科幻 --limit 10
douban-cli top250 --page 1
douban-cli weekly
douban-cli book search 三体 --json
douban-cli book info 9787536692930 --json
douban-cli book chart 小说
douban-cli book new 科学新知
片单与书单
douban-cli list 240962 --limit 30 --json
douban-cli list https://www.douban.com/doulist/240962/ --kind movie --json
douban-cli records --user USER_ID --kind book --status collect --limit 30 --json
list --all 默认最多读取 10000 条。日期、星级和关键词筛选只处理已读取的数据。增加 --limit 或使用返回的分页位置可继续读取。
登录与记录编辑
douban-cli login --launch --browser chromium
douban-cli record get 1292052 --kind movie --json
douban-cli record edit 1292052 --comment "短评内容" --dry-run --json
在浏览器窗口中登录。--dry-run 仅预览改动,检查预览后移除该参数提交。图书使用 --kind book;--clear-comment、--clear-rating、--clear-tags 分别清空对应字段。
未指定的字段保留原值。提交前重新读取记录,记录有变化时停止提交;提交后核对状态、评分、短评、标签和可见性。写入失败不自动重试,批量操作失败后,剩余条目标记为 skipped。
兼容 mark、rate、comment、unmark、review、stats、export、follow、unfollow。图书另有 book mark、book rate、book comment、book unmark。具体参数见各命令的 --help。
助手接入
ChatGPT Dots
ChatGPT Dots 可通过已连接的电脑调用 douban-cli。CLI 和技能需安装在该电脑上,并授予 Dot 访问权限。使用时电脑需在线,ChatGPT 桌面应用需保持打开。电脑连接文档
Dot 读取技能后可调用本机命令,例如:
使用这台电脑上的 douban-cli,查豆瓣科幻榜前 10 部电影,列出片名、年份、评分和 ID。
使用 douban-cli 读取指定片单,并注明读取失败的页面和超过数量上限的部分。
Agent Skill
在源码目录安装技能:
npm run install:skill
发行包包含技能文件 skills/douban-cli/SKILL.md。
MCP
支持 stdio 的 MCP 客户端可使用以下配置:
{
"mcpServers": {
"douban-cli": {
"command": "douban-cli",
"args": ["mcp"]
}
}
}
MCP 写工具默认 dryRun=true。公开查询不读取浏览器登录态;账号操作只在明确请求时使用 CLI 已保存的登录态。工具和参数说明
浏览器
| 浏览器 | macOS | Linux | Windows | 使用方式 |
|---|---|---|---|---|
| Chromium、Chrome、Edge | 支持 | 支持 | 支持 | 本机程序、独立登录窗口、浏览器查询、登录态导入 |
| Brave、Vivaldi、Opera | 支持 | 支持 | 支持 | 自动查找常见安装路径,也可用 --executable 指定程序 |
| Arc | 支持 | 无 Linux 版 | 支持 | 独立登录窗口、浏览器查询、登录态导入 |
| Firefox | 支持 | 支持 | 支持 | 原版浏览器登录态导入;自动化使用 Playwright Firefox |
| WebKit | 支持 | 支持 | 支持 | Playwright WebKit |
| Safari | 登录态导入 | 无 Linux 版 | 无 Windows 版 | 原版 Safari 自动操作未实现 |
Chrome 和 Edge 使用本机已安装的浏览器;其他运行时在源码目录安装:
npm run install:browsers
此脚本保留其他项目已经安装的 Playwright 浏览器。
Linux Chromium 支持发行版软件包、Snap 和 Flatpak 配置目录;程序检测也搜索 PATH。macOS 检测系统和用户的 Applications 目录,Windows 检测用户安装、Program Files 和 x86 安装路径。
登录态导入需要系统钥匙串可用且 Cookie 格式受支持。Linux 支持 GNOME Keyring 和 KWallet;Windows 的 App-Bound 加密 Cookie 无法直接导入时,使用独立登录窗口。
douban-cli login --browser chromium
douban-cli login --launch --browser chromium
douban-cli login --launch --browser vivaldi
Chromium 系浏览器的 --profile 可指定配置名、配置目录或 Cookie 数据库路径。自定义安装位置使用 login --launch --executable <绝对路径>,浏览器查询对应 --read-executable <绝对路径>。
默认通过 HTTP 查询。需要执行 JavaScript 的页面使用浏览器模式:
douban-cli --transport browser --read-browser chromium top250 --json
CI 在 Linux、macOS、Windows 上检查 Node 22/24,测试 Playwright Chromium、Firefox、WebKit,以及原版 Chrome、Edge;另在 Debian 容器中测试 /usr/bin/chromium。真实站点登录和写入受豆瓣页面、限流和验证码影响;已完成的测试见 兼容性记录。
结果与诊断
| 字段或值 | 含义 |
|---|---|
partial / warnings |
部分页面或数据来源读取失败 |
limited |
已达数量上限,仍有未读取的数据 |
nextStart 等分页游标 |
下一次读取的起始位置 |
null |
数值未知,以 null 返回,不填 0 |
登录缓存加密保存在本机独立应用目录。doctor 默认只检查运行时、文件类型和权限,不读取登录文件内容。测试使用公开查询或合成夹具,不操作真实账号。
文档
| 文档 | 用途 |
|---|---|
| 兼容性 | 浏览器及系统测试范围 |
| MCP | 工具清单、参数和配置说明 |
| 开发指南 | 构建、测试和发布流程 |
许可证
这是非官方豆瓣工具,采用 MIT License。问题和复现步骤请提交到 Issues。
致谢
Built on Marvae/douban-cli by @Marvae. 感谢原作者的开源贡献。
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi