无极开物Docs
应用与界面

CLI

通过 CLI 安装、认证、控制会话并运行外部 MCP 服务器。

Kaiwu CLI 是面向高级用户的客户端,可用于:

  • 安装与更新 Kaiwu
  • 针对单台或多台服务器进行身份认证
  • 选择默认服务器配置,或单次指定目标服务器执行命令
  • 创建、查看、恢复、附加和管理会话
  • 运行外部 Kaiwu MCP 服务器
  • 检查 Kaiwu 工具以及动作驱动的工作流

安装

curl -fsSL https://kaiwu.wujilabs.cn/install | bash

公共安装通道:

  • stable: curl -fsSL https://kaiwu.wujilabs.cn/install | bash -> kaiwu
  • preview: curl -fsSL https://kaiwu.wujilabs.cn/install-preview | bash -> hprev
  • dev: curl -fsSL https://kaiwu.wujilabs.cn/install-dev | bash -> hdev

Windows(PowerShell):

irm https://kaiwu.wujilabs.cn/install.ps1 | iex

npm 备用方案(面向高级用户 / Node 工作流):

npm install -g @Kaiwu-dev/cli

重要提示:

  • 通过 npm 安装会直接使用 npm dist-tag(@latest 和 @next)。
  • 滚动更新通道 dev 由安装程序统一管理(install-dev / hdev),并非独立的 npm dist-tag。

更新

更新方式取决于 CLI 的安装途径:

  • 安装脚本安装:运行对应通道的命令(kaiwu、hprev 或 hdev)并附带 self check / self update(或者重新运行对应的安装脚本端点)。此类安装会将完整的 CLI 内容保存在 ~/.kaiwu/cli/current 下(兼容读取 ~/.Kaiwu),并自动为你刷新对应通道的 shim。
  • 稳定版为 ~/.kaiwu/cli/current;预览版/开发版分别使用 ~/.kaiwu/cli-preview/current 与 ~/.kaiwu/cli-dev/current。
  • npm 安装:npm install -g @Kaiwu-dev/cli@latest(预览版使用 @next)。npm 目前未提供单独的公开 dev dist-tag。

CLI 还可以在 TTY 会话中定期显示更新提示;可通过如下命令禁用:

KAIWU_CLI_UPDATE_CHECK=0

完整版本支持列表(所有应用/资产):更新。

身份认证

kaiwu auth login

kaiwu auth login 会同时输出网页端与移动端的连接选项(URL)。 默认情况下,它会打印一个移动端深度链接二维码,并附带网页端 URL 作为备选方案。 使用自托管服务器时,请针对正确的服务器配置文件运行登录命令(详见下文)。

首次运行推荐流程:

  • 优先使用移动端 App 方式(扫描二维码或打开深度链接)登录/创建账号,并批准终端连接。
  • 如果你已在其他设备上使用 Kaiwu,请直接登录同一账号。
  • 若在未登录状态下打开终端连接链接,Kaiwu 会先引导你完成登录,随后自动返回终端批准页面。

注意事项:

  • CLI 绝不会直接索取你的私钥。对于基于设备密钥的账号,账号恢复均在 App(移动端/网页端界面)中完成。
  • 在企业级或无密钥部署环境(mTLS 或无密钥 OAuth)下,kaiwu auth login 流程同样适用;浏览器或 App 会直接使用服务器通过 GET /v1/features 公布的认证方式。
  • 终端连接与账号恢复是两个独立的过程。 在 App 中,扫码连接终端仅用于批准终端/守护进程连接。若要让手机登录同一账号,请在已登录的桌面端或网页端 App 中选择添加手机,并在手机上操作恢复账号。
  • 如果移动端二维码或深度链接中未包含服务器 URL,说明你当前服务器可能仅监听了本地环回地址(localhost / 127.0.0.1)。请先在手机上配置可访问的服务器 URL,然后再重试。

进阶操作:

  • 若需同时打印可选的“配置服务器”链接(极少用到):kaiwu auth login --print-configure-links
  • 若希望在固定时间后停止等待批准,而非无限期等待:kaiwu auth login --wait-timeout ⟦K35⟧。此时登录请求仍然保持可批准状态——重新运行 kaiwu auth login 即可完成流程。引导式配置即利用了这一机制,以便及时交还终端控制权。

用户指南:功能特性 → 设备关联与恢复

远程设备配对(SSH,自动化)

如果你想在远程设备(VPS、家用服务器、开发机)上运行 Kaiwu,并从一台已登录的设备上完成审批或认证:

kaiwu auth pair-remote --ssh user@host

说明:

  • 该命令会通过 SSH 编排一套基于认领机制的配对流程(远程请求 → 本地审批 → 远程等待)。
  • 添加 --json 可输出机器可读内容。
  • 添加 --server ... 或 --server-url/--webapp-url 可选择用于审批的本地中继配置文件或账号。
  • 若所选中继仅限本地访问(localhost / 127.0.0.1),交互模式会提供当前电脑的可达地址(Tailscale Serve、Tailscale 直连 IP、局域网 IP)以及自定义选项。在脚本中使用时,请传入远程设备访问当前电脑中继所用的地址:kaiwu auth pair-remote --ssh user@host --server-url-for-remote https://relay.example.com。
  • --remote-server-url 仍可作为 --server-url-for-remote 的兼容别名继续使用。
  • 若目标是远程 Windows 主机,请确保 SSH 会话中能够调用 Kaiwu CLI 命令。如果命令名称不是 kaiwu,请传入 --remote-command hdev 或实际安装的命令名称。

配对(JSON,手动 / 脚本)

若需完全掌控流程(如自动化、自定义 SSH 等场景),可拆分执行:

# On the remote host (prints a request + publicKey)
kaiwu auth request --json

# On a local machine that's already authenticated (approves the public key)
kaiwu auth approve --public-key <publicKey> --json

# Back on the remote host (waits, claims, and writes credentials)
kaiwu auth wait --public-key <publicKey> --json

此流程为终端 / CLI 配对,与 App 内的设备恢复流程不同。

引导式首次运行

kaiwu setup

在全新交互式安装中,安装程序会直接进入 kaiwu setup。如果安装过程采用无人值守模式、你跳过了引导步骤,或者登录未能完成,可以手动运行该命令。设置向导会询问你的中继位置,将当前电脑指向该中继,并执行登录。只有当满足以下全部条件时,向导才会跳过这台电脑并不作变动:已选定中继、该中继依然认可保存的登录凭据,且当前设备已在该中继上完成注册。若凭据已被中继拒绝,或凭据未关联已注册设备,这正是设置向导要修复的情况,因此不会视为配置完成。若所选中继没有响应,则无法进行任何验证:向导会原样保留所选中继与已保存的登录凭据,提示无法校验,并允许重试或明确选择其他中继——中继不可达绝不会被视为凭据被拒,也不是改用其他中继登录的理由。

安装程序自动交接给设置向导遵循尽力而为原则:拒绝交接或未完成设置,并不会导致原本成功的二进制安装被判定为失败。但明确指定的安装程序操作(例如 --run setup)则不同:该操作属于你主动执行的命令的一部分,因此会传递其退出状态码。非零结果表示 CLI 已安装完毕,但请求的设置操作未能完成。

参数标志效果
--cloud直接使用 Kaiwu Cloud,无需确认
--relay ⟦K36⟧使用已在运行的中继
--this-computer在当前电脑上安装并使用中继
--yes不做任何询问,执行所有无需交互的操作,停在登录环节
--non-interactive不做任何更改,仅列出需要执行的操作

--yes 与 --non-interactive 的行为互斥,无法组合使用。--yes 会执行已有预设答案的步骤:将本机指向你指定的中继;若指定了 --this-computer,还会将中继安装在本地。随后流程会暂停,因为登录必须在手机端或浏览器中确认,命令行无法代你完成授权。安装向导会提示 kaiwu auth login 并以非零状态退出——这意味着二进制文件已安装,但引导配置尚未完成。它需要 --cloud、--relay ⟦K37⟧ 或 --this-computer 之一:由于你的账户存储在所选的中继上,安装向导不会擅自代你做出选择。

--non-interactive 不会写入任何内容。在检测到 KAIWU_NONINTERACTIVE=1(或旧版 Kaiwu_NONINTERACTIVE=1)以及无终端运行环境时,安装向导的处理方式也是如此,而这正是安装程序和 CI 在整个运行期间所采用的设置——对于仅用于中转的设备,系统不会在上面创建账户。如需执行实际操作,请通过 --yes 显式声明。

选择在本机托管中继会在安装前后各增加一个连通性检查步骤:安装向导会说明本机上的 Tailscale 是正在运行、已安装但已停止,还是根本未安装,以及这对你的手机意味着什么。否则,中继无法被手机访问的问题往往要到之后在其他地方才会发现。若未安装 Tailscale,安装向当中继最终只能从这台电脑访问时(例如未配置 Tailscale,或是使用了回环地址),登录步骤会提示该状态,并通过当前电脑的浏览器完成登录,而不再提供 App 选项。终端链接会刻意过滤掉其他设备无法访问的地址,因此手机仍会保持指向原有的中继。只有真正发起新请求的登录才会触发这一逻辑:无论如何,设置流程都会运行 kaiwu auth login;若之前保存的登录状态依然有效,它只会在不打开浏览器的情况下修复设备注册。一旦中继拥有了手机可访问的地址,kaiwu auth login 便会重新同时提供这两种途径。

设置的最后一步是检查是否已安装编程智能体。未检测到仅作为警告处理,不算失败——你可以先完成设置,稍后再行安装。

检查与修复本设备

kaiwu status 会读取你与可用会话之间的整条链路——涵盖账号、中继注册、开机自启及 CLI 通道,且不做任何更改。kaiwu doctor repair 则会尽力修复其中的问题。两者的用法均在检查配置中有详细介绍,该章节还一并介绍了用于管理开机自启的 kaiwu service 命令。

通过脚本发送通知

在任何能运行 Shell 的地方向自己的设备发送通知——例如漫长的构建结束时、定时任务执行时,或是部署流程中:

kaiwu notify -p "Deployment complete!"
kaiwu notify -p "Database connection restored" -t "Alert"

-p 为消息内容,-t 为可选标题。

自动化

无需打开 App 即可触发已保存的自动化:

kaiwu automation run <automation-id> [--idempotency-key <key>] [--json]

若调用方可能会重试,请传入 --idempotency-key——重复的 key 不会重复运行该自动化。

插件

kaiwu plugins list [--json]

当前版本的 Kaiwu 不支持安装插件。提供此命令是为了让查询插件的工具收到正常的空响应,而不是报错提示命令无法识别。该命令列出的内容始终为空。

服务器配置

保存并切换服务器

kaiwu server list
kaiwu server current
kaiwu server add --name company --server-url https://api.company.example --webapp-url https://app.company.example --use
kaiwu server use company

--use(以及 kaiwu server use ...)会为后续命令设置默认服务器,选定后通常可以省略 --server ...。

针对单条命令指定服务器

如果不想切换默认服务器,可以在单次执行命令时单独指定:

kaiwu --server company auth login
kaiwu --server personal daemon status

也可以使用 URL 参数:

kaiwu --server-url https://api.company.example --webapp-url https://app.company.example auth login
kaiwu --server-url https://api.company.example --webapp-url https://app.company.example auth pair-remote --ssh user@host --json

kaiwu logout 已弃用并会输出提示信息。请改用 kaiwu auth logout。

守护进程(后台模式)

如需使用常驻后台会话、远程控制和无头服务器,请参阅守护进程。

接入现有会话

如果支持的会话已在运行,你可以从终端重新接入该实时会话:

kaiwu attach
kaiwu attach <session-id>

这是“App 内发起,终端中继续”的核心工作流。在受支持的 TTY 环境中,kaiwu attach 会打开活动会话的交互式选择器:

  • 本地可接入会话可直接选择
  • 处于活动状态但不可接入的会话保持可见,但会被禁用并显示原因
  • 支持远程的提供商会话会标记为远程;在选择器中按 P 可在接入前运行连通性检查

若会话已停止,请改用 kaiwu resume。

注意事项:

  • tmux 及其他终端宿主接入流程,仅适用于仍归当前设备所有的会话。
  • 你必须指向拥有该会话的同一 Kaiwu 账号/服务器配置文件。

接入策略取决于具体的提供商:

  • 部分提供商使用基于 Kaiwu tmux 的接入流程。
  • 对于基于服务器的会话,OpenCode 使用提供商原生接入流程。

对于 OpenCode,受支持的重新接入命令仍为 kaiwu attach ⟦K40⟧。在 Kaiwu 的常规工作流中,请勿直接依赖厂商底层的 opencode attach ... 命令。

受支持的接入方式包括:

  • 在已启用 tmux 的设备上基于 tmux 的会话
  • Windows 上由 Windows Terminal 或 控制台 托管的会话
  • 针对 OpenCode 等受支持提供商会话的提供商原生接入

完整工作流请参见 功能 → 接入正在运行的会话。

恢复非活跃会话

若 Kaiwu 会话处于非活跃状态,但提供商仍支持恢复,你可以直接通过 CLI 将其恢复。

交互式选择器

kaiwu resume

在受支持的 TTY 环境中,Kaiwu 会显示一个交互式选择器,列出可恢复的非活跃会话。

通过 ID 恢复

kaiwu resume <session-id>

你可以使用完整的会话 ID,也可以使用无歧义的前缀。

重要行为:

  • 严格恢复机制:若提供商恢复失败,Kaiwu 会直接报错,而不会启动全新的会话
  • 已归档或已处于活跃状态的会话无法恢复
  • 该命令会在重新启动提供商之前,先恢复会话的工作目录

如需查看完整的用户指南以及“可恢复”的具体含义,请参阅 功能 → 恢复非活动会话。

列出会话

运行以下命令:

kaiwu session list

默认输出为一个表格,包含会话 ID、智能体、最近活动、活跃状态、恢复状态、标题及路径。

常用变体:

kaiwu session list --resumable
kaiwu session list --plain
kaiwu session list --json
  • --resumable 仅筛选当前可恢复的会话
  • --plain 恢复旧版单行输出格式
  • --json 适用于脚本调用

会话控制(非交互式)

kaiwu session ... 命令组是非交互式创建与控制会话的接口。

详细参考:CLI 会话。

创建会话(可脚本化)

kaiwu session create --title "My session" --message "Hello"

指定目标(可选):

kaiwu session create --path /path/to/repo --backend <backend-target-key> --tag <tag>

--backend 需要传入后端目标键(而非简写名称)。常见形式如下:

# Built-in catalog agent
kaiwu session create --backend "agent:<agent-id>"

# ACP backend target (e.g. opencode, gemini, etc)
kaiwu session create --backend "acpBackend:<backend-id>"

发送消息

kaiwu session send <session-id> "ping"

等待 Agent 响应(适用于脚本;若 Agent 处于繁忙或离线状态可能会超时):

kaiwu session send <session-id> "ping" --wait --timeout 60

状态、停止与归档

kaiwu session status <session-id>
kaiwu session history <session-id>
kaiwu session wait <session-id> --timeout 60
kaiwu session stop <session-id>
kaiwu session archive <session-id>
kaiwu session unarchive <session-id>

设置标题 / 模型 / 权限模式

kaiwu session set-title <session-id> "New title"
kaiwu session set-model <session-id> <model-id>
kaiwu session set-permission-mode <session-id> <mode>

⟦K41⟧ 支持常用别名(例如 ask、default、yolo)。可以通过 --json 编写脚本并查看规范化后的 permissionMode 值。

会话 ID 前缀

接受 ⟦K42⟧ 的命令支持使用完整会话 ID 的无歧义前缀。

若前缀匹配到多个会话,命令将执行失败并列出候选会话。

来自 CLI 命令的审批

部分动作可在 CLI 操作端配置为需审批门禁。

此时,CLI 命令不会立即执行,而是会创建一条审批请求。你可以使用 App 的收件箱来审核、批准或拒绝,并查看最终的执行结果:

对于高级自动化场景,审批也可以通过通用动作执行器进行判定:

kaiwu session actions execute <session-id> approval.request.decide --input-json '{"artifactId":"<id>","decision":"approve"}' --json

通过 CLI 查看动作目录

你可以直接查看并执行 Kaiwu 动作:

kaiwu session actions list
kaiwu session actions describe <action-id>
kaiwu session actions execute <session-id> <action-id> --input-json '<json>'

执行运行(review / plan / delegate / voice agent)

执行运行是会话中多步骤流程的结构化“运行”层(例如:先启动一次 review 运行,再发送跟进消息,最后停止)。

kaiwu session run list <session-id>
kaiwu session run start <session-id> --intent <intent> --backend <backend-target-key>
kaiwu session run send <session-id> <run-id> "message"
kaiwu session run stop <session-id> <run-id>

外部 MCP 控制面

若要通过 MCP 宿主(编辑器/智能体)控制 Kaiwu 会话和操作,请运行外部 MCP 服务器:

kaiwu mcp serve

kaiwu mcp start 可作为兼容别名使用,但文档和 CLI 帮助中的规范命令名称为 serve。

指南:Kaiwu MCP(外部)

后端配置

CLI 支持后端配置,可用于启动会话及配置发现:

kaiwu profiles list
kaiwu claude --profile deepseek
kaiwu codex --profile openai

完整指南请参阅功能 → 配置。

Kaiwu 工具

CLI 还直接提供了统一的 Kaiwu 工具接口。

适用于以下场景:

  • 查看当前有哪些内置 Kaiwu 工具可用
  • 查看在当前设备/工作区上下文中解析出了哪些自定义 MCP 工具
  • 直接在终端中调用其中某个工具

列出工具

kaiwu tools list

可选参数:

kaiwu tools list --directory /path/to/project

此操作会列出:

  • Kaiwu 内置工具
  • 针对所选目录和设备解析出的自定义 MCP 工具

list 不需要会话 ID。

调用工具

kaiwu tools call --session-id <session-id> --source Kaiwu --tool action_spec_search --args-json '{"query":"plan mode","limit":5}'

示例:

  • --source Kaiwu --tool review_start
  • --source Kaiwu --tool subagents_plan_start
  • --source Kaiwu --tool action_spec_get
  • --source Kaiwu --tool action_options_resolve
  • --source playwright --tool browser_navigate

若尚不确定确切的 action id 或合法的选项值,可以使用 Kaiwu 内置的发现工具。

若要了解更全面的产品模型,请参阅 Kaiwu 工具与操作。

多服务器参考

有关多服务器与多守护进程的完整指南,请参见 功能 → 多服务器。

© 乾元执中(南京)科技有限公司 · WUJI-Labs

On this page