Kimi Code CLI 实验性功能 -tower —— `df61688` 更新说明

0 阅读5分钟

声明:kimi-tower启动命令是我本地环境的映射,具体以github为准

主文档:Kimi Code CLI 实验性功能 -tower(完整机制、概念、示例都在这里)。
本文只记录 PR 构建 df61688 相对初版 6275c7c 的变化,以及本机的升级操作。
状态:PR #2633 仍未合入主线,只是代码更新;本机 kimi-tower 已升级到 df61688


1. 变更一览

#变更类型对你的影响
1塔台可以用 AskUserQuestion行为变化(最大)开工前会先问你澄清需求;想要它问就别用 auto 模式
2worker 支持 secondary model,reviewer 保持主模型新能力省 token;本机配置已就绪,零改动
3TodoList 在 tower 模式被代码禁用行为变化无感,只是少一个工具
4连续 spawn、不轮询行为优化并行度更实,等待更少
5submodule worktree 清理残留修复bug 修复teardown 更干净,日志更全
6主线 rebase 到 0.34.0基底升级顺带继承约 30 个主线修复

2. 更新详解

2.1 塔台可以用 AskUserQuestion 了

  • 初版(6275c7c :tower 模式期间 AskUserQuestion 被代码层禁止(tower-mode-ask-user-question-deny 策略),塔台全程自行决策;
  • df61688:删掉该禁令,改为 "开工前澄清、跑起来不阻塞"(Clarify up front, never block mid-run) ——塔台在 Plan / Spawn 之前、歧义成本最低时先跟你确认需求;fleet 一旦跑起来,依旧不停下来等你,自行决策、记录 activity.log 并顺带告诉你;
  • worker / reviewer 仍然不能问:它们的工具 profile 里本来就没有 AskUserQuestion,需要人工输入时用 TowerSend 上报塔台;
  • auto 权限模式下所有人依旧不能问AskUserQuestion 在 auto 模式全局禁用),行为退回初版的"安全默认"。

⚠️ 与主文档的冲突:主文档第 9、10、15、16 节中"不会问你问题 / AskUserQuestion 被代码禁止"的描述仅适用于初版,以本文为准。

2.2 worker 支持 secondary model,reviewer 保持主模型

  • TowerSpawn 现在走与 Agent / AgentSwarm 完全相同的模型绑定规则(resolveSubagentBinding):secondary-model 实验开启时,worker 绑定 [secondary_model] 配置的模型;未开启则继承塔台模型
  • reviewer 始终绑定塔台的主模型——作者原话:"review quality is not where you save"(省 token 不能省在审查上);
  • 实际解析出的模型显示在 spawn 输出和 activity.log 的 spawn 行里,可审计;
  • 收益:worker 是 token 消耗大头,换用更便宜的 secondary model 能显著压低一次 tower 的成本,同时主模型审查守住质量关。

配置方法与 swarm secondary 完全相同(本机 ~/.kimi-code/config.toml 已有,无需改动):

[experimental]
secondary-model = true

[secondary_model]
model = "kimi-code/k3-256k"   # worker 绑定它;reviewer 始终用塔台主模型

2.3 TodoList 在 tower 模式被代码禁用

  • 新增权限策略 tower-mode-todo-list-deny:tower 模式下 TodoList 工具被代码层拒绝;
  • 原因:mission 追踪只走 tower 协议(TowerPlan / TowerMission / TowerStatus / MISSIONS.md);todo"同时只能一个任务 in_progress"的语义会把并行的 fleet 串行化。

2.4 行为指引微调(tower.md)

  • Spawn 强调真并行:所有依赖已解锁的 mission 必须立刻连续 spawn,不许一个一个挤、不许等前一个 worker 再派下一个;
  • 不轮询:批次跑起来后塔台应结束当前回合——worker 完成和收件消息以通知形式到达,禁止循环 poll TowerInbox / TowerStatus、禁止同步干等;
  • 这两点回应了初版可能出现的"塔台逐个派工 / 空转等待"的效率问题。

2.5 修复:submodule worktree 清理残留

  • bug:裸 git worktree remove 会拒绝删除含已初始化 submodule 的 worktree(即使干净),teardown 悄悄留下的恰好是"跑过构建的 worker"的 worktree;且失败只进工具报告、不进 activity.log,难以察觉;
  • 修复:脏检查(防数据丢失的闸门)通过后,删除一律带 --force(对干净 worktree 无害,正好绕过 git 的 submodule 拒绝);保留 / 删除失败均写入 activity.log(worktree.keep / worktree.remove.failed)。

2.6 主线 rebase

分支 rebase 到最新主线(0.34.0),顺带继承约 30 个主线修复与改进(全文搜索索引隔离出主线程、compaction token 计数修正、插件变更基线等),与 tower 本身无关,但让体验版基底更稳。


3. 对主文档的影响(阅读主文档时对照)

主文档 Kimi Code CLI 实验性功能 -tower 描述的是初版 6275c7c,以下小节结论已被 df61688 改变:

主文档位置初版结论df61688 现状
§1.2 / §3.1 / §10 / §16"不会问你问题",AskUserQuestion 代码禁止开工前会问,运行中不问(本文 §2.1)
§9 工作流Init 起手,共 6 步前置 Clarify 步骤;Spawn 连续派工、不轮询(本文 §2.1、§2.4)
§10 行为约定无 TodoList 禁令TodoList 代码禁用(本文 §2.3)
§11 teardown脏 worktree 受保护同前,且 submodule 残留已修复(本文 §2.5)
§14 安装commit 6275c7ccommit df61688(本文 §4)
§15 代价"不会 AskUserQuestion"改为"运行中不请示";worker 可用 secondary model 降成本(本文 §2.1、§2.2)

其余章节(机制、worktree/scope 隔离、合并闸门、review 循环、通信、两个实战示例)不受影响


4. 本机升级操作记录(2026-08-07 已执行)

# 1. 下载新构建(18.7MB,pkg.pr.new 直连 tarball)
curl -L -o kimi-tower-df61688.tgz "https://pkg.pr.new/@moonshot-ai/kimi-code@df61688"

# 2. 解压后替换本机包目录(旧版已备份清理)
#    ~/tower-kimi/package  ←  新 package(0.34.0)

# 3. 启动器注释同步 commit 标记:~/.kimi-code/bin/kimi-tower.cmd

# 4. 验证
kimi-tower --version   # → 0.34.0
  • 配置零改动:[secondary_model] 已有现成配置(见 §2.2);
  • 官方等价命令(网络可达时):pnpm dlx https://pkg.pr.new/@moonshot-ai/kimi-code@df61688
  • 注意:体验版包版本号 0.34.0 与官方 0.34.0 同号不同构建,官方版仍无 /tower;
  • 权限模式取舍:--auto 不打断 worker,但塔台也无法向你提问;想要"开工前澄清"就别用 auto。

参考链接