Repository navigation
【Bug】live 重载 profile 补丁后,在途会话工具目录静默塌缩(47 → 14),模型陷入幽灵工具调用循环 #7519
pear-studio
started this conversation in
General
Replies: 1 comment
|
补充一个排查侧的视角(未复现,以下是基于你日志证据的收窄建议): 你「补充背景」里的变量其实是最可疑的触发器:热重载时 roster 里存在缺 两个能把「补丁语义」和「坏文件」分开的二分实验:
在官方给出 fail-loud 之前,建议把 live reload 当成「只对之后的新会话生效」来操作:reload 后立即 fork 或新开会话,不要让在途长任务跨过一次 reload。你抓到的 21 轮空转也说明 loop-guard 只警告不拦截——残缺目录下的空转是按轮计费的。这也让预期 1(fail-loud)比预期 2(静默恢复)更值得优先:静默恢复掩盖问题,fail-loud 才能把损失停在第一轮。 |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Summary
在一个 standard preset 会话进行期间,向 profile 的补丁层(
$DSH_HOME/profiles/web/cordis.patch.yml)追加了一段agent-presets的roots登记补丁(整体替换该插件 config)。补丁层patchReload: 'live'立即热重载后,该会话的工具目录从 47 个静默塌缩到 14 个:preset 挂载的全部内置工具(edit/read/write/grep/glob/pwsh/todo_write/ask_user_question/skill/workflow/web_search等 33 个)消失,只剩第三方插件注册到宿主平面的工具(platform_search、config_*、palimpsest_*、checkpoint、sidebar_open、subagent)。会话没有任何报错或中断提示,模型在残缺目录下继续空转了 21 轮。Reproduction
dsh web启动,开一个 standard preset 会话,让 agent 正常工作(edit/grep等工具可用,目录 47 个)cordis.patch.yml追加一段修改agent-presetsconfig 的补丁(live reload 立即生效)Current behavior
会话日志(
session.v3.jsonl)证据:request/header的 tools 从 47 项变为 14 项,preset 工具全部消失edit/grep,退化为反复调用幸存的platform_search(固定参数{"platform":"github","query":"unused"}),连续 21 次;loop-guard 的 "Repeated tool call detected" 警告进入上下文但无法打破循环assistant/message与tool/call记录逐字节一致,问题在目录塌缩本身补充背景:热重载时,一个正在开发的自定义 preset 目录里存在尚未完成的插件文件(缺
inject声明)。不确定 roster 重建失败是否与之相关;但无论何种原因,在途会话都不应被静默留在半残状态。Expected behavior
recompose的注释表明 standing mounts 设计上是 shared and permanent 的)Environment
latest稳定渠道;源码构建,checkout tagdsh-v0.1.5-rc.2)All reactions