Skip to content

P2: ToolRegistry ask 模式实际不询问 — 对 ask 级别工具总是通过 #12

Description

@ULookup

问题

ToolRegistry::check_permission() 的逻辑:

  • mode="auto" → 所有工具通过
  • mode="ask" → safe 和 ask 级别都通过(实际上等于 auto)
  • mode="deny" → 仅 safe 通过

"ask" 模式名称有误导性,它从未实际发起询问。询问逻辑在 AgentLoop::Callbacks::on_permission_ask,独立于 mode 检查。

修复

  • 明确 mode 语义:auto=全通过, ask=仅 safe 通过(其他走回调), deny=无工具可用
  • 或在 registry 层面整合回调逻辑

涉及文件

  • libs/tools/src/tool_registry.cpp

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingpriority/P2Nice to havesubsystem/toolsBuilt-in tools and registry

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions