mirror of
https://github.com/langgenius/dify.git
synced 2026-10-04 13:47:55 +08:00
The planner is told to name a tool by its id, but binding matched only the label and then the "tool" keyword, so two tool steps naming ids both bound to the first tool step. _covering_step now tries the resource id before the label. A tool's "(using ...)" suffix also carries its provider/tool id in ASCII brackets: the shared generator pins a tool only on that identifier (tool_catalogue._find_explicit_tool_keys), never on the label. The planner prompt asks for the id as a separate word, since a CJK-glued id never pins. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>