Repository navigation
Open
Labels
area:automationScheduled tasks and automationScheduled tasks and automationenhancementNew feature or requestNew feature or requestneeds-humanThe agent loop stopped; a person must decide (reason in the last comment)The agent loop stopped; a person must decide (reason in the last comment)
Description
Follow-up to #446 (PR #448) and input for #447. The owner decision of 2026-10-19 21:27 Asia/Shanghai (#446 comment) is implemented in #448 as a first version inside plugins/tree/ (no core change). These parts are left for later:
- Move conversation / memory references on a merge. Today a merge moves the old Bot's children to the kept Bot, records
mergedFromon it and tells it in its prompt; the old Bot is archived with its own chat and memory untouched. A real handoff (a memory or handoff note carried into the kept Bot, links from the old chat) needs a core API for plugins, e.g. on top of the part handoff incore/src/host/parts.js. - Model-based clustering. Role matching is deterministic (
plugins/tree/src/roles.js: name, role label, description, own prompt, recent tool names, a small English / Chinese domain vocabulary).config.classify(profile)is the hook. A classifier that asks a model needs a sanctioned way for a plugin to make a short model call; the codebase has no such pattern yet. - A notice in the Main Bot's chat. The owner is told in the tree view (sidebar notice with Undo / Dismiss) and through the Main Bot's prompt. A notice line in Chief's own chat, without a model turn, needs a core API (today
postToRoomnotices exist only for rooms). - Archived Bots in the sidebar. Archived Bots leave the tree but the core sidebar draws every non-tree Bot under Chief; the tree tags them "archived". A collapsed "Archived" group, or hiding them from the main list, needs a core sidebar change.
- Richer activity. The activity feed has no text, so "recent activity" is when a Bot last worked and which tools it used. Topic-level summaries would improve grouping.
- Bursts. Bots created in parallel are placed one at a time, so related Bots arriving together may first join a broader group (e.g. a Dev Lead with an existing Programmer) before their own project group forms; the daily tidy groups them later. Placing a burst as one group would follow Tree: smarter sub-Bot allocation (lead+children, reuse, deeper placement) maintained by auto-prune/merge #447's plan-card allocation.
- Small limits. With a small
maxChildren, a Bot that fits no group while every level it matches is full stays outside (logged, tagged "outside the tree", retried on every attempt). Only the owner can raise the limit.
Metadata
Metadata
Assignees
Labels
area:automationScheduled tasks and automationScheduled tasks and automationenhancementNew feature or requestNew feature or requestneeds-humanThe agent loop stopped; a person must decide (reason in the last comment)The agent loop stopped; a person must decide (reason in the last comment)
Activity
Birfy commentedon Oct 19, 2026
Maintenance triage (2026-10-19 21:58 Asia/Shanghai)
Status. Follow-ups deferred from #448 (Fixes #446). Spec of each item is clear enough to park; none can start until #448 lands, and items 1–4 need core APIs (memory/handoff, short model call for plugins, Main-Bot chat notice, sidebar archive group) that are not in this plugin-only PR.
Design check. Matches the owner decision on #446 (role groups, archive-not-delete, undo, no least-loaded fallback). No conflict with grants / approvals / English UI rules.
What is blocked.
config.classifystays the hook until then).postToRoom).5–7. Richer activity / burst placement / small-limit edge → can stay in tree once Tree organizes itself by role: groups under leads, merge, daily tidy, undo #448+Tree: smarter sub-Bot allocation (lead+children, reuse, deeper placement) maintained by auto-prune/merge #447 land; lower urgency.
Labels. Leaving
needs-humanuntil the owner picks priority after #448 merges. Not applyingagent-ready(needs confirmation). Bugs #304/#261/#182 are stillneeds-info, so this planning ask is not pushed in this run's confirmation card.Recommendation when asked: after #448 merges, do 4 (archived sidebar) first if core sidebar work is cheap, else hold all seven until a dedicated core-API RFC; do not start #447 until #448 is on main (same tree files).
Birfy commentedon Oct 19, 2026
Maintenance (2026-10-19 23:06 Asia/Shanghai): #448 and #453 are on main (
84a95a6). Item 4 (archived Bots in the sidebar) is covered by #453: archive is now a hidden flag and the sidebar hides archived Bots. Items 1-3 still need core APIs and 5-7 are tree-only polish; #447 (allocation) starts now. Stillneeds-humanfor the owner to pick what comes next.Birfy commentedon Oct 20, 2026
Maintenance progress note (2026-10-20 16:05 Asia/Shanghai): item 2 (model-based clustering) now has HugoXK proposals:
flybot.model.askseam (core)modelClassify/modelDomain(plugin; depends on Add a sanctioned, capped model call for plugins #518)Both are labeled and waiting on owner confirmation before we treat them as accepted (not
agent-ready). Items 1 / 3+ unchanged. Not pushing RFC ahead of open bugs (#261 still needs-info).Carry a merged Bot's memory into the kept Bot (ThinkFlowLab#450 item 1)
Carry a merged Bot's memory into the kept Bot (ThinkFlowLab#450 item 1)
Add a sanctioned, capped model call for plugins (ThinkFlowLab#518)
Carry a merged Bot's memory into the kept Bot (ThinkFlowLab#450 item …
Tree: model-based clustering for roles the rules cannot place (ThinkF…
Tree: model-based clustering for roles the rules cannot place (ThinkF…
Birfy commentedon Oct 23, 2026
Split on the owner's call this round.
agent-readywith the acceptance pinned: a collapsedArchived (N)section in the sidebar (the Bot list itself and Tree reorg must MOVE/reparent bots; never rename to 归档- and recreate #452's decision unchanged), and one group for a concurrentcreate_child_botburst instead of one placement per call.needs-human: 1 and 3 need a core API a plugin can call, 5 needs activity text the feed does not carry, and 7 is themaxChildrenlimit, which only the owner raises.For the record on item 2 (model-based clustering): it is shipped — #518 (
f3ec72f6) and #520 (7a7844d9) were both merged intomain, so the "waiting on owner confirmation" note in the earlier comment is stale.feat(tree): list archived bots in the sidebar and group a concurrent …
Birfy commentedon Nov 6, 2026
Written-by: Chief
分拣结论:不给"整条打包"派活,剩下的两项里只挑一件现在能开工。
现状:第 4、6 项已在 10-23 拆出去(#810,已 agent-ready)。剩下 1(合并时把记忆/交接笔记带进保留的 Bot)、2(模型聚类)、3(Main Bot 会话里的通知行)、5(更细的活动摘要)、7(小 maxChildren 的容纳顺序)都要碰 core 的插件 API 或分组策略。
一条 A/B,选一个我就派:
core/src/host/parts.js已有的 part handoff 之上开一个插件 API,plugins/tree/只消费它,测试写成"合并后保留 Bot 能读到旧 Bot 的交接笔记"。不回就当 B。