Loading...

文章背景图

doubao-cli:豆包命令行交互工具

2026-10-22
0
- 字
- 分钟
|

doubao-cli:在终端里直接和豆包对话的命令行工具安装与使用指南

作为开发者,你是否经常需要在终端工作时切换到浏览器去问豆包一个问题?doubao-cli 让这一切成为历史——它是一个功能强大的豆包命令行客户端,支持无头模式(Headless)和macOS桌面模式,让你在终端里直接与豆包对话、管理会话、调用MCP工具,甚至运行自动化任务。

项目名称 doubao-cli
仓库地址 https://github.com/Fullstop000/doubao-cli
官方网站 npm - doubao-cli
最新更新时间 2026-10-22
项目定位 豆包AI命令行客户端,支持Headless和桌面CDP双后端
开源协议 MIT

项目背景

在AI编程时代,开发者每天都在终端里度过大量时间——写代码、跑命令、看日志、查文档。每次需要查个资料、调试个问题、生成一段代码,都要切换到浏览器打开豆包网页,登录、等待加载、输入问题,再切回终端。这种上下文切换不仅打断心流,还严重降低工作效率。

doubao-cli 正是为了解决这个问题而生。它通过两种后端模式连接豆包:一种是Headless无头模式,通过HTTPS协议直接与豆包服务器通信,无需浏览器;另一种是macOS桌面模式,通过CDP协议控制本地安装的豆包桌面客户端。无论哪种模式,都能让你在终端里直接与豆包交互,获得完整的AI对话能力。

除了基本的对话功能,doubao-cli 还支持会话管理(创建、读取、发送消息、等待结果)、模型切换(选择不同参数级别的模型)、MCP工具注册、自动化任务创建、项目工作区关联等高级功能。它不仅是一个聊天工具,更是一个可以深度集成到开发工作流中的AI终端助手。

核心特性

  • 💻 双后端架构 — 支持Headless无头模式(Linux/macOS通用)和macOS桌面模式(通过CDP连接豆包客户端),根据操作系统自动选择最佳后端。
  • 💬 完整会话管理 — 支持创建会话、读取历史、发送消息、等待回复、停止任务,完整的对话生命周期管理。
  • 🧠 多模型切换 — 可查看和选择豆包提供的各种模型,支持调整推理深度(low/medium/high/xhigh/max)。
  • 🔧 MCP工具集成 — 支持注册MCP服务器,让豆包AI可以调用外部工具和数据源,扩展能力边界。
  • 🎯 Goal模式 — 支持目标导向的任务执行模式,让AI自主规划和完成复杂任务。
  • 📁 项目工作区 — 可以将会话关联到本地项目目录,让AI在指定代码仓库上下文中工作。
  • 📊 JSON输出 — 所有命令都支持 --json 参数,方便脚本化集成和自动化处理。
  • 🔄 自动更新 — 内置更新检查和自动更新机制,保持始终为最新版本。

环境要求

项目 要求
Node.js ≥ 22.0.0(必须是22以上大版本)
操作系统(Headless模式) Linux 或 macOS
操作系统(桌面模式) 仅 macOS,需安装 DoubaoWork.app 或 Doubao.app
豆包账号 已注册的豆包账号
网络 能够访问豆包服务器

详细部署步骤

第一步:安装 Node.js 22+

doubao-cli 要求 Node.js 22 或更高版本,这是硬性要求。

# 检查当前Node版本
node --version

# 如果版本低于22,需要升级
# macOS(使用nvm)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
nvm install 22
nvm use 22

# Ubuntu/Debian
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs

# 验证版本
node --version
# 应输出 v22.x.x 或更高

第二步:全局安装 doubao-cli

# 使用npm全局安装
npm install --global doubao-cli@latest

# 验证安装
doubao --version

安装完成后,doubao 命令会全局可用。

第三步:登录豆包账号

根据你使用的模式不同,登录方式也不同:

Headless模式(Linux/macOS通用,推荐):

# 启动登录流程
doubao headless login

# 终端会显示一个二维码
# 打开手机上的豆包App,扫码并确认登录
# 登录成功后,会话会自动保存

macOS桌面模式:

# 启动桌面CDP连接
doubao cdp launch

# 在弹出的豆包桌面应用中登录账号
# 保持聊天窗口打开状态

Cookie文件方式(高级):

# 也可以使用已保存的Cookie文件登录
doubao headless login --cookie-file /path/to/cookies.txt

第四步:验证安装

# 查看状态
doubao status --json

# 查看支持的模型列表
doubao models --json

# 查看当前配置文件
doubao profiles --json

如果状态显示已登录、模型列表正常返回,说明安装成功。

后端模式选择说明

命令 使用后端 说明
doubao(Linux默认) Headless 无头HTTPS模式
doubao(macOS默认) 桌面应用(如已安装) 优先使用豆包工作客户端
doubao headless Headless 强制使用无头模式
doubao web Headless 兼容别名,等同headless
doubao --app work 豆包工作桌面版 指定使用工作客户端

注意:每次对话请保持使用相同的后端、账号和配置文件,避免会话混乱。

常见坑与解决办法

问题1:Node.js版本不够

doubao-cli 严格要求 Node.js 22+,低版本会直接报错。请使用 nvm 或 n 版本管理器升级到Node 22。

问题2:Headless登录失败

确保手机豆包App是最新版本,扫码时网络畅通。如果二维码过期,重新运行 doubao headless login。

问题3:桌面模式连接失败

macOS桌面模式需要先安装豆包桌面客户端(Doubao.app 或 DoubaoWork.app),且保持应用在运行状态。重启应用需要确认(脚本模式加 --yes)。

问题4:命令超时无响应

复杂任务可能需要更长时间。可以通过 --timeout 参数调整超时时间(单位秒,默认120秒)。

使用方法示例

基本对话

# 创建新会话并发送消息,等待回复
doubao sessions create "帮我写一个Python快速排序算法" --wait --json

# 在已有会话中继续发送消息
doubao sessions send <conversation-id> "加上单元测试" --wait --json

# 读取会话历史
doubao sessions read <conversation-id> --limit 5 --json

使用不同模型

# 查看所有可用模型
doubao models --json

# 选择指定模型并设置推理深度
doubao model select 'Orange 5.5' --reasoning max

# 单独调整推理深度
doubao model reasoning high

Goal目标模式

# 创建一个目标导向任务
doubao sessions create "搭建一个React + TypeScript的Todo List应用,包含增删改查和本地存储" \
  --mode goal \
  --runtime cloud \
  --wait --json

注册MCP工具

# 注册一个MCP服务器
doubao mcp register my-tools \
  --command /usr/local/bin/node \
  --arg /path/to/my-server.mjs

# 查看已注册的MCP工具
doubao mcp list --json

# 在会话中使用MCP工具
doubao sessions create "使用我的工具查询数据库" --mcp my-tools --permission AskOnRisk --wait

自动化任务

# 列出自动化任务
doubao automations list --json

# 创建自动化任务
doubao automations create --file task.json --json

# 查看任务详情
doubao automations get <task-id> --json

更新管理

# 检查更新
doubao update check

# 手动更新
doubao update

# 开启自动更新
doubao update auto on

# 查看自动更新状态
doubao update auto status

环境变量配置

环境变量 说明
DOUBAO_APP 桌面应用自定义路径
DOUBAO_DATA_DIR 应用数据目录
DOUBAO_CLI_CONFIG_DIR 配置和恢复目录
DOUBAO_HEADLESS_COOKIE Headless模式Cookie(敏感信息)
DOUBAO_CLI_DISABLE_AUTO_UPDATE 设为1可禁用自动更新提醒

常见问题FAQ

Q:doubao-cli 需要付费吗?

A:工具本身完全免费开源(MIT协议)。它使用的是你自己的豆包账号,消耗的是豆包官方的免费额度或你的会员权益。

Q:Headless模式和桌面模式有什么区别?

A:Headless模式通过HTTPS直接与豆包服务器通信,不需要打开浏览器,资源占用低,适合服务器和无GUI环境。桌面模式通过CDP控制本地豆包客户端,功能更完整,但仅支持macOS。

Q:会话会保存在哪里?

A:Headless模式的会话保存在豆包服务器端;桌面模式的会话从客户端的IndexedDB中读取。两者可能存在覆盖范围差异。

Q:支持上传文件吗?

A:支持。使用 --attach 参数可以附加文件,最多50个文件,每个不超过100MiB。

Q:如何集成到我的脚本中?

A:所有命令都支持 --json 输出,你可以在Shell脚本、Python程序中调用doubao-cli并解析JSON结果。

跳转链接

评论交流

文章目录