-
Notifications
You must be signed in to change notification settings - Fork 70
[Bug] Fork 后第二次对话报错:找不到 Session ID。与Claude SDK相关 #176
Copy link
Copy link
Open
Description
复现步骤
- 用Agent模式进行至少一次对话
- fork当前对话
- fork中第一次对话正常
- 对于
Proma 0.8.0,第二次会报错:
执行错误 Claude Code returned an error result: No conversation found with session ID: ff21a4d3-67f9-468f-b6e9-4a8c38a3ddcc
第三次对话恢复正常(触发了上下文回填) - 对于
Proma 0.8.1,第二次会触发新版重试逻辑Session 已失效,切换到上下文回填模式然后能够正常回答
环境
Windows 11
Node.js v24.14.0
分析
Proma在fork时会为fork agent创造一个新的cwd,但是claude agent sdk的fork本身不兼容这个功能, sdk会把fork的session放在原对话的路径中:
~\.proma\sdk-config\projects\<origin_cwd>\ff21a4d3-67f9-468f-b6e9-4a8c38a3ddcc.jsonl
当fork agent试图resume时,传入接口的是<fork_cwd>,所以claude code sdk会在
~\.proma\sdk-config\projects\<fork_cwd>\
中搜索session文件,自然是找不到的,所以就报错了。
目前的上下文回填机制虽然能用,这个bug还是让体验很不舒服,而且回填貌似只有20条。
/** 最大回填消息条数 */
const MAX_CONTEXT_MESSAGES = 20和 #164 提到的问题应该是相似的原因。
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels