Skip to content

[Bug] skill_extract 工具被无条件注入,但调用恒返回 40003「触发路径已下线」 #972

Description

@NIU-123370

环境

  • 部署模式:server team mode(deploy/global-images 三件套)
  • 版本@tencentdb-agent-memory/memory-tencentdb-v2 @ commit 4dca55c
  • OS:macOS 14

问题描述

skill_extract 被无条件放入 read-only 工具集注入给 LLM,但代理层对 extract 子路径无条件返回 40003 触发路径已下线。LLM 看到一个可用工具,按其描述调用后必然失败——浪费一轮工具往返,并造成工具声明与实际行为不符。

复现步骤

  1. deploy/global-images 部署三件套并接入 coding agent。
  2. 观察注入的 readTools 列表,可见 skill_extract
  3. 让 LLM 调用 skill_extract(或直接打 .../extract)。
  4. 返回 code=40003、HTTP 400「触发路径已下线」。

期望行为

extract 路径已下线时,不应再将 skill_extract 作为可用工具注入(否则诱导必然失败的调用)。

证据(commit 4dca55c

  • 注入:MemoryProxy/src/injection/injectors/skill-tools-injector.ts:101-105(头注释 :16-17 也列了它)
  • 拒绝:MemoryProxy/src/skill/skill-bridge.ts:560-577sub==='extract'40003
  • ALLOWED_SUBPATHS 仍含 extractskill-bridge.ts:143

建议修复

从 readTools 移除 skill_extract,保留注释说明恢复条件(需先恢复 core 侧 extract 处理)。


基于源码静态阅读,行号请按最新 commit 核实。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions