概览

Klaus Cli 是同一个引擎的另一个入口:核心能力、运行机制、几种工作方式与适用场景。

Klaus Cli 是同一个引擎的另一个入口,可执行文件叫 klaus。它和桌面应用 Klaus 读同一套配置、技能、插件与 MCP 服务器,所以在 Klaus 里配好的东西在终端里直接可用,反之亦然。

它面向习惯待在终端里的人。用法是对话式的:你用自然语言说要做什么,Klaus 自己决定读哪些文件、调哪些工具、跑哪些命令,并在关键操作前按权限设置向你确认。

核心能力

读改代码

  • 跨文件理解项目结构与依赖,在真实工作目录里改。
  • 描述一个缺陷让它定位并修,或者把一段逻辑抽出来重构。
  • klaus review 审改动:默认审工作区未提交的部分,也可以指定基线分支、某个 commit 或具体文件。

接外部能力

  • 通过 MCP 接入外部服务与自定义工具,klaus mcp 还能不经模型直接点名调用某个工具,用来验配置通不通。
  • 技能、插件、子代理、钩子与桌面端共用同一批文件,装一次两端都有。

串进自动化

  • klaus exec 跑完即退,退出码反映结果,可以直接写进脚本与 CI。
  • --json 输出引擎的原始协议,一行一个值,诊断信息走 stderr,stdout 可以当纯数据管。

运行机制

核心是一个 agent 循环:接你的请求、规划步骤、调用工具、根据结果决定下一步。四个要素协同:

  • 引擎:理解意图、规划、决定下一个动作。一个会话对应引擎里的一条线程。
  • 工具:它与项目和环境交互的手段,读写文件、执行命令、搜索代码、抓网页。
  • 权限:有副作用的动作按规则决定放行、询问还是拒绝,规则和桌面端是同一份。
  • 上下文:对话历史、项目指令文件、命中的记忆和工具结果共同构成它的背景信息,接近窗口上限时自动压缩。

想深入看这套机制,见一轮对话怎么走权限是怎么判的

几种工作方式

同一件事有不同的做法:

  • 交互会话:直接跑 klaus,一行一轮,最常用。回合进行中输入的一行会被送进当前这一轮而不是排队。
  • 一次性执行klaus exec "…",跑完就退,适合脚本与 CI。
  • 问一句不留痕klaus ask,不写进会话历史,适合查东西。
  • 审代码klaus review,产出带位置的结构化发现。
  • 驱动已有引擎--remote ws://主机:端口 配合 klaus serve,不在本进程里另起一个引擎。

适用场景

  • 不想离开终端:编辑器、shell、git 都在一个窗口里,任务也在这里发起。
  • 只有 SSH 的机器:远端服务器上没有图形界面,命令行是唯一入口。
  • 串进流水线:在 CI 里以非交互方式跑,用退出码和 --json 消费结果。
  • 验 MCP 配置:不经模型直接调用工具,确认服务器和参数是对的。
  • 批量重复的活:写成脚本循环调 klaus exec,比在界面里一遍遍点更省。

下一步