Skip to content

[Feature]: 建议增加自定义工具组(Tool Preset)—— 支持按组分配工具集,含子 Agent 层级 #1547

Description

@ManyueEureka

Problem / opportunity

目前 BitFun 的 Agent 工具集是固定绑定在 Agent 类型上的。创建 自定义 Agent 时,只能一个个勾选技能和工具。

实际场景中:

我想做一个「纯编码 Agent」,只需要 Git / Grep / Glob / Read / Write / Edit / ExecCommand / TodoWrite,不需要 WebSearch、不需要 ComputerUse、不需要 SessionControl——但现在我只能要么全盘接受,要么自己每次手动记
我想做一个「文档调研 Agent」,只需要 Read / WebSearch / WebFetch / Skill(docx / xlsx / pptx),不需要编码工具
我想在 Code Agent 的 Plan 模式下,让派出的子 Agent(Task session)只带「编码工具组 + 安全审计组」,不希望它拿到 WebSearch 或 ComputerUse
当前似乎没有「工具组预设」的概念,每次定制的成本太高,也容易勾选错工具。

Proposed behavior

  1. 工具组预设(Tool Preset)
    新增「工具组」概念,用户可创建和命名一组工具,例如:
    「编码核心」
  • Git, Grep, Glob, Read, Write, Edit, ExecCommand, TodoWrite, CreatePlan

「文档办公」

  • Read, WebSearch, WebFetch, Skill(pptx), Skill(docx), Skill(xlsx)

「安全审计」

  • Read, Grep, Glob, Skill(cso), ReviewPlatform, submit_code_review

「网页交互」

  • ControlHub(browser), WebFetch, WebSearch, Read
  1. Agent 创建时直接选组
    创建 自定义 Agent 时,增加工具组选择器:

可从预设列表中多选工具组
选中后该 Agent 的工具集 = 所选组的并集
支持快速预览该 Agent 最终拥有的全部工具列表

  1. 子 Agent(Task session)继承或重载
    使用 Task 工具派生子 Agent 时,允许指定子 Agent 携带的工具组:

Task(
subagent_type: "GeneralPurpose",
prompt: "审计这段代码的安全性",
tool_groups: ["编码核心", "安全审计"] // 新增参数
)

子 Agent 只拿到指定组的工具,不会拥有父 Agent 的全部工具权限。

Product surface

Desktop app

Details, examples, or constraints

内置默认组:BitFun 预置若干官方组(如「编码默认」「办公默认」),用户可基于它们修改或从零新建
可叠加:一个 Agent 可以同时挂多个组,工具集取并集
组内可微调:允许在「组」的基础上临时增删个别工具(不影响组定义)
持久化:工具组定义存储在指定配置文件中,可手动编辑也可通过 UI 管理
向后兼容:已有 Agent 类型(Code / Cowork / Computer Use / Personal Assistant)不受影响,照常使用各自的固定工具集
子 Agent 场景:不指定 tool_groups 时默认继承父 Agent 的全部工具,行为不变

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions