feat(agent-core): add tower command to orchestrate multi-agents - #2633
feat(agent-core): add tower command to orchestrate multi-agents#2633tpoisonooo wants to merge 9 commits into
Conversation
🦋 Changeset detectedLatest commit: f47bc1d The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 60c6209818
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
commit: |
Declare kimiteam v0.33.0 as the last maintained open-source release of this series, with the reasons stated plainly: upstream adopted the community tower approach (MoonshotAI/kimi-code PR MoonshotAI#2633) rather than the subagent-team scheme, and the official web UI went closed-source (code-app private repo). The release stays installable and forkable.
feat(packages): update throttle control feat(agent-core): rename to /tower feat(agent-core-v2): support tower mode fix(packages): keep tower teardown from stranding submodule worktrees A plain `git worktree remove` refuses worktrees containing initialized submodules even when they are clean, so tower teardown silently left behind exactly the worktrees whose workers had run builds (the failure only reached the tool report, never the activity log). The dirty check is the data-loss gate; once it passes, removal always passes --force (harmless on a clean worktree, and precisely what bypasses git's submodule refusal). Kept and failed removals now also land in the activity log as worktree.keep / worktree.remove.failed. feat(packages): allow the tower to AskUserQuestion, workers still cannot The tower-mode AskUserQuestion deny only ever fired on the tower itself: workers never enter tower mode, and their tower-worker profile simply does not list the tool. Drop the deny so the tower can clarify requirements with the human up front; workers and reviewers stay ask-less and escalate via TowerSend. Auto permission mode still disables AskUserQuestion for everyone. fix(agent-core-v2): import LifecycleScope from #/app/scopes main moved the enum out of #/_base/di/scope; follow the new location in the two tower services. test(agent-core-v2): refresh fullCompaction token expectations main's MoonshotAI#2699 counts compaction tokens on the full-request basis, so the tower tool schemas (default registry) and the /tower skill catalog entry (system prompt) shift the pinned numbers: +2789 with the default tool set, +173 with the explicit harness tool list. The 20k-window test keeps its shape with a 22k window so the post-compaction floor still fits. feat(agent-core-v2): tower command support secondary model fix(tower): disable todo-list tool feat(tower): reviewer keep primary model fix(tower): tower worker call for authroization update
349ddc1 to
069d3f3
Compare
| "@moonshot-ai/kimi-code": patch | ||
| --- | ||
|
|
||
| Fix several seconds of startup lag: the global search index (used only by the web UI's search) was being opened and synced in every terminal session, including ones that never search. It now loads on demand, so interactive startup stays fast. |
There was a problem hiding this comment.
这个是在修复启动的时候,要十几秒卡住的 bug。如果 master 已修,可以删掉。
| reason: busyReason, | ||
| }; | ||
| } | ||
| // Skill activations are never blocked by a busy session: the TUI queues |
There was a problem hiding this comment.
未声明 busy 的 skill 会从"被拒"变成"延迟自动执行",看能否接受。
|
|
||
| // Bash commands (`! …`) are not steerable: keep them queued so they run | ||
| // after the current task instead of being injected into the turn as text. | ||
| // Bash commands (`! …`) and slash-skill activations are not steerable: |
There was a problem hiding this comment.
/tower 和 ctrl+s 冲突,因此需要改。
| headline: () => ({ main: <Dim>swarm mode exited</Dim> }), | ||
| }, | ||
|
|
||
| 'tower_mode.enter': { |
Problem
希望 9 个 agent 同时迭代 1 个 repo,改接口协议的、动数据的、调渲染的互相不会冲突打架。
以维护 ncnn 为例,输入多个指令:
/tower 命令下:
差异对比
想象一下 team lead 找不同的人沟通事情。沟通时间、冲突情况都是不保证的,但沟通内容都是 team 内的事情。
内部有个塔台(tower)来分发任务、协调冲突、指定 reviewer、合并代码、清理残留。
收益
代价
Feature
运行截图
致谢
What changed
Checklist
gen-changesetsskill, or this PR needs no changeset.gen-docsskill, or this PR needs no doc update.