mcpField
D
droid-cli

droid-cli

github.com/factory-aiAgent 工作流11789 次安装3 天前更新
代码仓库

关于 droid-cli

droid-cli 是面向终端工作流的技能,汇总 Droid 专用快捷键、命令、界面状态提示和启动方法。它还介绍 droid-dev 的设置、工作树指定、exec 模式及日志记录。

主要功能

  1. 01列出快捷键和斜杠命令
  2. 02根据视觉提示识别界面状态
  3. 03针对指定工作树启动 droid-dev
  4. 04通过 exec 运行非交互命令
  5. 05启用并查看调试日志

适用场景

  1. 01切换 Droid 模式并浏览会话
  2. 02为指定工作树启动 Droid
  3. 03执行单次分析或测试请求
  4. 04比较基线与候选工作树

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/factory-ai/factory-plugins --skill droid-cli

安装后在 Claude Code 中输入/droid-cli确认已加载。

详细介绍

Droid CLI 目标

协调器已将你路由到此处。在已加载的驱动技能基础上,叠加这些目标专用模式。

Droid 专用快捷键、模式和启动方式。

快捷键

操作按键组合结果
切换 Spec 模式shift tab开启或关闭 Spec 模式
切换自主级别ctrl lOff > Low > Med > High > Off
切换模型ctrl n切换可用模型
切换推理级别tabHigh > none > Low > Medium > High
取消 / 关闭 / 停止esc停止流式输出,关闭浮层
清除输入ctrl u清除当前行
切换 bash 模式空输入时按 !在 > 和 $ 之间切换提示符
帮助 / 快捷键?打开按键绑定帮助
多行输入shift enter插入换行符但不提交

对话框

当对话框显示 Use up/down to navigate... 时:按 up/down 移动高亮项,按 enter 选择,按 esc 关闭。

斜杠命令

命令用途
/help显示命令
/settings打开设置菜单
/model打开模型选择器
/clear 或 /new开始新会话
/sessions浏览先前的会话
/status显示当前配置
/cost显示用量 / 费用
/compress [prompt]总结并转到新会话

文件提及

输入 @ 打开文件建议列表,输入文字进行筛选,按 tab 确认,按 esc 取消:

$TCTL -s demo type "review @"
$TCTL -s demo type "package.json"
$TCTL -s demo press tab

视觉提示

状态观察内容
Spec 模式开启输入框边框显示 Spec
Bash 模式开启提示符为 $
空闲 / 就绪提示符为 >,且没有加载动画
对话框打开带有导航提示的方框菜单
文件建议输入框下方的下拉列表
思考中显示 Thinking... 和停止提示

启动 Droid

droid-dev 的工作方式

droid-dev 是位于 ~/.local/bin/droid-dev 的轻量 bash 封装脚本。它会针对 DROID_DEV_REPO_ROOT 所指向的任意检出目录运行 bun,并不使用预编译二进制文件。这意味着:

  • 无需为每个分支单独构建。 在任意检出目录中运行一次 npm run setup 即可安装封装脚本。通过 --repo-root 切换分支是即时的。
  • 前置条件: 目标工作树必须已安装 node_modules(在仓库根目录运行 npm install)。如果缺少该目录,bun 将无法启动。
  • tctl --repo-root 会自动设置 DROID_DEV_REPO_ROOT,并将会话固定到该工作树。
  • tctl --cwd 独立于 --repo-root:你可以在不同的项目目录中运行 Droid,使用某个工作树的代码(例如,包含自身 .factory/settings.json 钩子的临时项目)。未设置时默认为 --repo-root。
droid-dev

启动 droid-dev 时必须提供 --repo-root(或 --env DROID_DEV_REPO_ROOT=...)。tctl 会强制执行此要求,未提供时启动将失败:

# tuistory (default — virtual PTY)
$TCTL launch "droid-dev" -s demo --backend tuistory \
  --repo-root /path/to/worktree \
  --cols 120 --rows 36

# true-input (real terminal proof — headless Wayland compositor)
$TCTL launch "droid-dev" -s demo --backend true-input \
  --repo-root /path/to/worktree
功能分支 / 工作树

进行比较时,启动指向不同工作树的独立会话:

$TCTL launch "droid-dev" -s before --backend tuistory \
  --repo-root /path/to/baseline-worktree \
  --cols 120 --rows 36 --record /tmp/before.cast \
  --env FORCE_COLOR=3 --env COLORTERM=truecolor

$TCTL launch "droid-dev" -s after --backend tuistory \
  --repo-root /path/to/candidate-worktree \
  --cols 120 --rows 36 --record /tmp/after.cast \
  --env FORCE_COLOR=3 --env COLORTERM=truecolor
比较设置(前后对比演示)

进行前后对比时,需要两个工作树路径:一个用于基线版本,一个用于候选版本。

  1. 查找现有工作树:在任意检出目录中运行 git worktree list。主克隆(通常位于 dev 或 main 分支)可用作有效的基线。
  2. 如有需要则创建:运行 git worktree add /tmp/baseline-worktree dev(或相关的基线分支)。
  3. 确保已安装 node_modules:在缺少该目录的工作树中运行 npm install。这是唯一需要的设置,无需按分支运行 npm run setup 或构建 CLI。
  4. 使用 --repo-root 启动:每个 tctl launch 都会固定到一个工作树。
环境安全

tctl 的运行脚本通过 bash -lc 启动 droid-dev,这会加载一个干净的登录 Shell。父进程遗留的 FACTORY_* 环境变量通常会被运行脚本覆盖。如果怀疑环境受到污染,请通过 --env 传入显式覆盖值。

Exec 模式

非交互式单次执行:

droid exec "analyze this file"
droid exec --auto medium "run the tests"

日志记录

通过 --env 传入日志文件路径,以启用调试日志:

$TCTL launch "droid-dev" -s demo --backend tuistory \
  --repo-root /path/to/worktree \
  --env FACTORY_LOG_FILE=/tmp/droid-test.log
tail -f /tmp/droid-test.log

评论

支持 Markdown